M9195A/B Programming Guide

Welcome to the Programming Guide for the KtMDsr version 2.3.316.0 IVI driver. Keysight's IVI drivers simplify the creation and maintenance of instrument control applications in a variety of development environments. IVI drivers allow you to programmatically control your instrumentation. This driver supports compiling application programs for 32 or 64 bit platforms.

Useful Documentation & Utilities

This Help file contains essential driver information for programming the KtMDsr driver, including IVI-COM and IVI-C reference material.. Additional documentation and utilities for the KtMDsr driver's modular hardware may be accessed from the Windows Start Menu under:

Start > All Programs > Keysight > MDsr

The documentation includes the following items:

  • Startup Guide — This is the best place to start. The Startup Guide includes procedures to help you to unpack, inspect, install (software and hardware), perform instrument connections, verify operation, and troubleshoot your M9195A/B PXIe Digital Stimulus/Response (DSR) module.
  • Introduction — This document provides IVI introductory material, the module driver and firmware revision history, and the hardware and software that is compatible with the module and its driver.
  • User Guide — This document describes the DSR architecture and presents the DSR theory of operation. Configuring and executing the different types of sites are described, plus information is presented on the different pattern file types.
  • Programming Guide — This is the document you're reading now. In addition to its presence as a .chm file, it can also be viewed in the Visual Studio Help Viewer.
  • Data Sheet / Specification Guide — Module introduction and full specifications.
  • Soft Front Panel (SFP) help — Describes how to use the SFP to configure and control the module.

Note: Adobe Reader is required to view the PDF documentation (such as the Startup Guide and the User Guide), as well as any PDF graphics used in the Help Files. Since Adobe Reader is not supplied on Keysight embedded controllers, you should download it (free, from www.adobe.com) and install it before attempting to open the Startup Guide or User Guide, or any PDF documentation.

How to Jump-Start Your Understanding of the DSR

The KtMDsr driver Help file contains a treasure of resources, just waiting for you to find them. Here are pointers for your success.

1. Read the Driver Versions and Changes section so that you're aware of the driver versions and what has changed in this driver.

2. Read carefully this overview of DSR Usage: General KtMDsr Usage Information.

3. At the end of General KtMDsr Usage Information are links to Additional Help Topics. Read each of these topics, in order:

Dynamic Repeated Capabilities
Pattern File Overview
Edge Placement Resolution
Active Sites
Signal Expressions
Numeric Expressions
Not a Number

4. Review the STIL Components article.

5. Read the brief overview article for each of the STIL components: Signals
SignalGroup
Sites
DcLevels
WaveformTables
Patterns
Macros
PatternBurst
PatternExec

6. Review the Active Sites article. This article covers PatternSites, PpmuSites, StaticSites, and CaptureSites.

7. Now, read the overview article for each Active Site:
PatternSites
PpmuSites
StaticSites
CaptureSites

8. Read the Help entries for Instrument.

IVI-COM Reference > DriverHierarchy > IKtMDsr > Instrument - or -
IVI-C Reference > Functions by Name > KtMDsr_Instrument...

9. Read the Channels Overview

10. Review the PatternFile Overview. If you would like more detailed information on particular pattern file formats, see OpenXML file format, STIL file format, and Bulk Data file format.

11. Make a second pass through #4 - #10, this time focusing on the functions (methods) and attributes (properties) in the IVI-COM or the IVI-C Reference section of the Help file.

While reading about each function or attribute, keep in mind its context (section where it is located), as the surrounding sections will provide useful context for the topic.

12. Check out the example programs:

Start > All Programs > Keysight Instrument Drivers > IVI-COM-C Drivers > KtMDsr > Example Programs

13. Write your own program by leveraging the most appropriate example program. Note that, as described on the M9195A/B block diagram in the User Guide, the module supports a feature called internal loopback. This feature allows each channel’s input to capture that channel's output.

By using internal loopback and by following the PatternSite Sequence diagram, an instructional PatternSite program can be assembled whereby each channel can capture its own output data — no DUT nor cables are required.

Programming with the KtMDsr Driver

Basics of programming this driver including example code. How to: Reference the Driver, Create an Instance of the Driver, Initialize the Driver, and Access Items of Various Data Types

Programming with the IVI-COM Driver - Using the IVI-COM driver in the following application development environments: Visual C#, Visual C++, Visual Basic.NET, LabVIEW, MATLAB

Programming with the IVI-C Driver - Using the IVI-C driver in the following application development environments: Visual C++, LabWindow/CVI, LabVIEW

Example Programs - You may build and run the example programs installed with the driver. They demonstrate basic driver usage in a variety of application development environments. Examples may be accessed from the Windows Start Menu shortcut under:

Start > All Programs > Keysight Instrument Drivers > IVI-COM-C Drivers > KtMDsr > Example Programs

KtMDsr Driver Reference

IVI-COM Driver Reference - Documentation for each IVI-COM method, property, and error code. IVI-C Driver Reference - Documentation for each IVI-C function, attribute, and error code.

IVI Overview

General, information on IVI features common to all IVI drivers as well as compliance and installation information.

IVI Compliance Information - IVI-required compliance information for the KtMDsr driver.

IVI Backgrounder - An overview of IVI topics and concepts for driver developers including introductory information on the IVI Foundation standards and specifications.

Web Sites

Keysight Technologies Home Page
Keysight PXI Digital IO
Keysight M9195A PXIe Digital Stimulus/Response
Keysight M9195B PXIe Digital Stimulus/Response
Keysight Technologies PXI and AXIe Modular Products
IVI Drivers & Components Downloads
Keysight I/O Libraries Suite
GPIB, USB, & Instrument Control Products
Keysight VEE Pro
Technical Support, Manuals & Downloads
Contact Keysight Test & Measurement
IVI Foundation - Usage Guides, Specifications, Shared Components Downloads
MSDN Online
Copyright 2015-2016 Keysight Technologies. All rights reserved. 1.7


Driver Versions and Changes

Driver Versions and Changes

The following three versions of the driver have been released:

  1. Version 1.0.10.1 -- Referred to as the “1.0 driver”, this version supported the M9195A PXIe Digital Stimulus/Response (DSR) module on Windows 7 and Windows 8.1.
  2. Version 2.0.2098.0 -- Referred to as the “2.0 driver”, this driver retained support for the M9195A module and added support for the M9195B module, also on Windows 7 and Windows 8.1. The M9195A and M9195B modules differ as follows:
    • M9195A -- This module supports single-module operation only. This means that only one M9195A module can be connected to in a single call to the Initialize method.
    • M9195B -- This module supports both single-module operation and multi-module operation. Multi-module operation requires purchase of the MMS option. In multi-module operation, up to 12 M9195B modules can be connected to in a single call to the Initialize method. This provides up to 192 synchronized, high-speed I/O channels (12 modules x 16 channels/module). See Multi-module Operation for more information.

    The 2.0 driver also added support for hardware triggers and markers on both the M9195A and M9195B. Furthermore, the 2.0 driver supported hardware options on the M9195B, such as being able to upgrade the speed of data patterns from 125 MHz to 250 MHz.

    In this document, references to “DSR module” include both the M9195A and the M9195B modules.

  3. Version 2.3.316.0 -- Referred to as the “2.1 driver”, this driver provides the same functionality as the 2.0 driver while adding support for Windows 10. In addition, the driver provides a number of quality and documentation improvements.

Because the 2.1 driver supports the same functionality as the 2.0 driver, these drivers are referred to collectively as the “2.x driver” in this document. However, because the 2.1 driver supports Windows 10 and provides quality and documentation improvements, use of the 2.1 driver is generally recommended.

Driver connectivity guidelines

The 1.0 and 2.x driver connections that can be made to the DSR modules are as follows:

  • For all drivers, only one connection can be established to a single DSR module. For example, two separate programs cannot each use the Initialize call to establish a connection to the same DSR module.
  • Using the 1.0 driver, a single program can connect to multiple DSR modules as long as each connection is established by a separate Initialize call, one for each DSR module.
  • Using the 2.x driver, a single initialize call can connect to multiple M9195B modules if the multi-module option (MMS) has been purchased as described in Multi-module Operation. A single Initialize call cannot be used to connect to multiple M9195A modules.

Interface changes

All interfaces present in the 1.0 driver have been carried forward to the 2.x driver. This ensures that programs created with the 1.0 driver will work on computers that have the 2.x driver installed. For those interfaces where new functionality has been added, a new driver interface has been created of the same name but with a "2" suffix added to the name — these are referred to as "2-suffix interfaces". A 2-suffix interface contains the same functionality that was present in the original non-suffix interface plus it contains the new functionality that has been added.

For example, the 2.x driver includes both the IKtMDsrChannels interface (of the 1.0 driver) and the KtMDsrChannels2 interface (added with the 2.0 driver). The IKtMDsrChannels2 interface contains the same methods and properties as the IKtMDsrChannels interface plus it contains several new methods and properties that were added to support new functionality in the 2.0 driver. All 2-suffix interfaces have been carried forward to the 2.1 driver.

For new applications, it is recommended that the 2-suffix interfaces be used where they are present so that all methods and properties will be accessible in one interface.

This KtMDsr2 interface page shows the interfaces in the 2.x driver. These interfaces include the interfaces carried forward from the 1.0 driver (the non-suffix interfaces) plus it includes those interfaces that have been changed in some manner in the 2.x driver (the 2-suffix interfaces).

Additional API changes

The list below provides additional details on the API changes in the 2.x driver. Where a 2-suffix interface is described, only the changes relative to the non-suffix interface are described.

  1. The Initialize method now allows multiple VISA resource descriptors to be listed in the ResourceName parameter to create a multi-module instrument — see the Initialize method for more information.
  2. The Modules interface has been added to the 2.x driver to support the ability to query and set the properties of each module in a multi-module instrument. For example, you can query the slot number and temperature of each of several modules. See the Modules interface and the Module interface for more information.
  3. The Trigger interface has been added to support triggers and markers on the M9195A and M9195B. Triggers are input signals to the DSR while markers are output signals from the DSR. Triggers can be used to initiate the execution of PatternSites while markers can be used to trigger other devices. See Triggers and Markers for more information.
  4. The Sites2 interface has been added to support the Marker0Destination, Marker1Destination, and Marker2Destination properties that are used to generate markers. See Sites2 interface and Triggers and Markers for more information.
  5. The PatternSites2 interface has been added to support methods which fetch wide data. Wide data is data wider than the 16 bits supported by the 16 channels of a single module. For 12 modules in a multi-module instrument, the data can be 192 bits wide (12 modules x 16 channels/module). See PatternSites2 interface for more information.
  6. The System2 interface has been added to provide the ability to query the hardware options supported on a module and to query additional module information. The DSR SFP displays the hardware options in its About dialog box. See System2 interface for more information.
Copyright 2015-2016 Keysight Technologies. All rights reserved.


General KtMDsr Usage Information

KtMDsr IVI Driver Reference Keysight Technologies
General KtMDsr Usage Information

Using the KtMDsr API

The following sections provide general information on the KtMDsr programmatic interface and how to use it to control the instrument.

The API to the KtMDsr is arranged into separate types of functionality. In IVI-COM, each functional area is in a different interface. In IVI-C, the various functional areas are grouped based on a prefix in the function names. Below are the logical areas and the relevant prefixes/interface names:

Interface (IVI-COM) or Prefix (IVI-C or LabVIEW) | Description
The STIL Components:
  • DcLevels
  • MacroDefs
  • PatternBurst
  • PatternExec
  • Pattern
  • SignalGroups
  • Signals
  • Sites
  • WaveformTables
 The STIL component interfaces are used to define and read back STIL components. A set of STIL components defines a complete digital test; the complete digital test can then be executed on the DSR. The STIL components follow a rigorous programming pattern called Dynamic Repeated Capabilities. For more information, see STIL Components.
The Active Sites:
  • Pattern
  • PPMU
  • Static
  • Capture
 An Active site is created by calling an Activate function and passing it a Site, which is a STIL component. The site contains a list of hardware channels and the necessary information in order to use them. When a site is activated, a dynamic repeated capability is created that is used to perform operations on that site. The name for the dynamic repeated capability is the site name. For instance, to make PPMU measurements, a site is defined that contains the necessary channels, then that site is activated for PPMU measurements. Once activated, conventional repeated capabilities functions and attributes can be used to perform PPMU measurements on those sites. A site is activated for any of these four operations (Pattern, PPMU, Static or Capture); the site is then inactivated when those operations are complete, to allow other operations to be done. For more information, see Active sites.

Channel oriented operations (Channel interface) | The Channels interface is used to control settings associated with a specific channel, independent of its use for Patterns, PPMU, Static or Capture operations. For instance, clamping behavior is defined as a channel-oriented operation. All of the channel oriented operations are in the Channels interface. Each of these functions is passed an array that contains a list of the channels to be programmed. These settings are not affected when sites are activated or inactivated.
Instrument operations (Instrument interface) | The functions in the Instrument interface operate on the module as a whole. For example, instrument functions are used to control the reference clock and adjust the memory trade-off between patterns and results.
Various non-measurement interfaces The following interfaces are for non-measurement operations:
Calibration | Functions provided to automate product calibration.
DriverOperation | A standard interface defined by IVI. It provides access to standard IVI capabilities and is of little utility with the KtMDsr.
Identity | A standard interface defined by IVI for reading back information about the driver.
PatternFile | Functions used to load and read back syntax errors from: STIL files, OpenXML (.xlsx) files, and BulkData.
Service | Functions for use by Keysight for servicing the module.
System | General non-measurement controls. For instance, timeout and driver tracing.
TriggerEvent | This interface contains a single function which produces a software trigger.
Utility | A standard interface defined by IVI. This includes: Reset, Disable, and SelfTest.

Available Drivers

All of the functionality of the DSR is available through the programmatic interfaces. These drivers are provided:

IVI-COM compliant driver | The IVI-COM driver can be used from numerous software development environments. It is the best choice to use for .NET languages such as C# or Visual Basic. It is also the best choice for Keysight VEE. The IVI-COM driver can be used from any environment that can call a COM server, including LabVIEW. 32 and 64-bit versions of the COM server are provided.
IVI-C compliant driver | The IVI-C compliant driver is a conventional C DLL and can be called from any environment that can call a C DLL, including LabVIEW. The IVI-C driver is the best choice for C or C++ development environments. It is also the best choice for programming environments such as Python that are able to call a C DLL. Both 32-bit and 64-bit versions of the DLL are provided.
MATLAB driver | A 32-bit MATLAB driver is provided. The 32-bit MATLAB driver is implemented with calls to the 32-bit IVI-COM driver. MATLAB does not support calling 64-bit COM servers; therefore, MATLAB users that require 64-bit MATLAB must import the IVI-C driver and use it from MATLAB.

There are two very similar KtMDsr programmatic models, one using a hirerarchical syntax, and the other using concatenation.

Programmatic model Used by Description Examples
Hierarchical:

Organizes the various capabilities into separate interfaces and makes use of properties. 		IVI-COM;

MATLAB 32-bit driver 		Organizes the various capabilities into separate interfaces and makes use of properties. Most programming languages refer to the methods and properties by using a syntax similar to: Driver.Interface.Method. var myDsr = new KtMDsr();

myDsr.PatternSites.TriggerSource = “SoftwareTrigger0”; myDsr.PatternSites.ActivateFromCache(“CachedPatternSite”);
Concatenation:

Concatenates the interface name with the function name. 		IVI-C; MATLAB 64-bit driver; LabVIEW Generic functions are also provided and may be necessary for some uncommon attributes. These have a protocol similar to:
Driver_SetAttribute(Driver, repeatedCapability, Value)

Some short-cut functions were developed for often-used read and write attributes. These functions take one parameter identifying an attribute to change, specify another (of the appropriate type) which either reads or writes the attribute. For example,
Driver_InterfaceGetAttribute(Driver, Value)

Function names are formed by concatenating the interface and function names, since there is no hierarchy to expose properties. In C, function names are formed by concatenating the interface name with the function name; the instance of the driver is passed as the first parameter. The hierarchical example (above) would appear as:
Driver_InterfaceFunction(Driver, ...)
 var myDsr = new KtMDsr();

KtMDsr_SetAttributeViString(myDsr, KTMDSR_ATTR_PATTERNSITES_TRIGGER_SOURCE, “SoftwareTrigger0”);
Or
KtMDsr_PatternSitesSetTriggerSource(myDsr, “SoftwareTrigger0”);

KtMDsr_PatternSitesActivateFromCache(myDsr, “CachedPatternSite”)

A C DLL does not have a mechanism to arrange the API into separate interfaces. Similarly, C does not have a built-in mechanism for exposing properties. Therefore, the C DLL forms function names by concatenating the interface name with the function name. In the C API, the instance of the driver is passed as the first parameter. So the example listed in the previous paragraph, would appear as: s: InterfaceMethod(Driver, ...). IVI-C, LabVIEW, and MATLAB 64-bit all use this approach.

The C DLL accesses attributes using specific, special functions which take a parameter identifying an attribute to change, and a parameter of the appropriate type which either reads or writes the attribute. Functions to read and write attributes are provided, similar to: SetAttribute(vi, repeatedCapability, Value). Generic functions are also provided and may be necessary for some uncommon attributes. These have a protocol similar to: KtMDsr_SetAttributeViReal64(vi, repeatedCapability, AttributeID, Value).

In order to use the same documentation for both IVI-COM style interfaces and IVI-C style interfaces, the documentation generally refers to:

  • Both IVI-COM methods and IVI-C functions as Functions
  • Both IVI-COM properties and IVI-C attributes as Attributes

API Overview

The KtMDsr permits defining various aspects of the pattern using different techniques, and pattern definitions across these techniques can be combined arbitrarily. This allows the user to define portions of the pattern with a pattern file, and other portions programmatically. It also allows loading various portions of patterns from multiple files.

Each API component is listed below, with a link to its more complete "overview" article.

Block type
(with link to overview) 		Information in this block
Calibration | The KtMDsr Calibration interface contains functions and attributes used to calibrate the PPMU measurements.
CaptureSites

A Capture site provides a convenient mechanism to capture data on the DSR without defining a pattern. Though a Capture site is designed to capture data, it is also capable of simultaneously generating clocks and/or DC signals.

Channels | The Channels interface provides channel-specific control of channel settings that are set up independently of the specific pattern being executed.
DcLevels The DcLevels block specifies two things. First, the voltage levels associated with either detecting or producing a logical 1 or 0. Second, the DcLevels also describe how each signal line should be electrically loaded.

The DcLevels are defined independently for each signal in the pattern, so there is a dependency to the signal definitions.

MacroDef (Macro) | he KtMDsr permits patterns to invoke macros. The KtMDsr supports standard STIL mechanisms for parameter replacement. In the KtMDsr, the macros are defined in a conventional pattern block. The MacroDefs block identifies the pattern block that will be used to fill in the macros specified when evaluating a pattern.
PatternBurst | The PatternBurst is a list of pattern blocks. The PatternBurst structure permits specifying a list of patterns blocks to execute in a sequence. Patterns are permitted to be defined in terms of macros. The PatternBurst also has a reference to the macros that will be used when evaluating the patterns.
PatternExec | The PatternExec is the highest level definition of a pattern. In the general IEEE 1450 model it can have other information, but in the KtMDsr it only contains the list of pattern blocks that should be executed and the DcLevels for each signal in the block.
PatternFile | The PatternFile interface provides methods for loading and storing pattern definitions from files. Three formats are supported: STIL, OpenXML, and Bulk Data.
Patterns The Pattern blocks contain the actuals ones and zeroes that are produced and expected by the DSR. The pattern is defined in terms of vectors that specify the values for all signals, and a reference to a waveform table.

Each vector specifies the stimulus and/or expected response value for each signal in the pattern.

The timing characteristics are permitted to change for each vector in the pattern; therefore, each vector has an independent waveform table defined.

PatternSites | PatternSites operates the pattern execution hardware on a specified site. The pattern definition includes symbolic signals and triggers; the site maps those signals and triggers to physical DSR channels and trigger sources. Once the pattern is activated, the PatternSite functions and attributes control the execution of the pattern on the DSR hardware.
PpmuSites | PpmuSites operates the Per-pin Parametric Measurement Unit on a specified site. PPMU operations are conducted on each channel defined in the site; results are returned in arrays.
SignalGroups | A SignalGroup is a list of Signals. Most interfaces that accept a Signal also accept a SignalGroup or a signal reference expression. The block name of the SignalGroup is the name of the SignalGroup and can be used in most places where a Signal is accepted.
Signal | The Signals block defines the signals that are used by the various blocks to compose the patterns. Signals must be defined in the signals block before they are referred to from one of the other blocks.
Sites | The Sites block specifies how a pattern definition is applied to the physical DSR. This includes: mapping the signals to DSR channels; specifying an ordinal for each signal and channel; and mapping the trigger references in the pattern to physical trigger sources.
StaticSites | StaticSites provides direct access to channels on a specified site by using reads and writes. StaticSite operations impact each channel defined in the site. StaticSite is useful for doing basic binary control of sites and also for validating fixtures and connectivity.
WaveformTable A WaveformTable defines the waveform that should be produced, or expected by the DSR when a particular waveform character is executed on a particular Signal. The waveform table name is used in the pattern to specify how each vector of the pattern should be executed.

The waveform tables define the timing characteristics, including the total time for the bit period, and the time within the period when responses should be expected or stimulus levels generated.

The timing information in the waveform tables may be specified independently for each signal; therefore, signals are dependent on the waveform tables.

The blocks that make up the pattern to be executed may be defined in an OpenXML (xlsx spreadsheet) file, a STIL format text file, or entered via the API. Blocks that are defined from one interface may be used from another interface. Blocks may be spread across multiple files as well. However, the signals must be defined in each file in which they are used. Redundant compatible signal definitions are not a problem.

Additional Help Topics

The following sections provide general information about the programmatic interfaces to the KtMDsr driver.

Dynamic Repeated Capabilities | IVI has a standard pattern for managing repeated capabilities. Repeated capabilities are instrument functions for which there are multiple copies in the instrument. Dynamic repeated capabilities are repeated capabilities that can be changed (added to or taken away from) while operating the instrument. For instance, the KtMDsr permits defining multiple patterns using pattern repeated capability. The Dynamic Repeated Capabilities topic has additional information on using the common dynamic repeated capabilities pattern.
Pattern File Overview The overview of pattern file formats reviews the three pattern file formats. The STIL, OpenXML and Bulk Data files describe the syntax for defining pattern files:
  • OpenXML (spreadsheet) file format
  • IEEE 1450 (STIL) file format
  • BulkData file format (for providing pattern information in a bulk text format)
STIL Components | STIL components are key to defining patterns. These building blocks are based on the STIL standard and are used to define a pattern. This section describes the programming model for these components.
Edge Placement Resolution | The edge placement resolution configures the resolution that is used to produce various transition times, including the duration of the bit period, the time at which transitions occur within that period, and the programmable delays. The edge placement resolution controls the trade-off between the resolution (that is, the precision) of those times and the largest producible time.
Active Sites | The active site programming model is used to control the measurement operations. This section describes the common model used for pattern, capture, PPMU, and static operations.
Signal Expressions | Signal expressions provide a way to refer to several signals at the same time within a single pattern or site. This simplifies programming since it is frequent that many settings are common to multiple signals. This section describes the syntax used to refer to groups of signals.
Numeric Expressions | Numeric expressions provide a way to modify the settings within a pattern after the pattern has been compiled and downloaded. In some situations, this is useful for optimizing performance.
Not A Number | The channel load configuration is controlled by configuring one of the load types and leaving the other load types set to a special code that indicates "Not a Number" or "NaN". NaN is defined by the IEEE 754 floating-point standard and is typically used to refer to values such as zero divided by zero. This section describes using NaN in some common programming environments.


Dynamic Repeated Capabilities

Dynamic Repeated Capabilities

Instruments often contain multiple instances of the same kind of functionality or capability. For instance, modern oscilloscopes may have multiple channels, each with independent settings for things such as vertical scale and input attenuation. IVI refers to this type of functionality that is duplicated in an instrument as a repeated capability.

If the content of the repeated capability is dynamically changed, then the repeated capability is referred to as a dynamic repeated capability. In the example of the oscilloscope, this would be an oscilloscope where the number of channels is determined dynamically, perhaps by plugging in hardware for additional channels. The KtMDsr driver has numerous dynamic repeated capabilities both for managing the various building blocks of patterns and for managing the way that the various DSR channels are used.

In the IVI-COM driver, each repeated capability is made up of two interfaces, one within the other. The higher level interface represents the complete collection of repeated capabilities. This interface is designated with a plural noun such as Signals. Functions and attributes within this interface are generally concerned with manipulating the collection.

The inner interface represents the repeated capability; therefore, functions and attributes within this interface are focused on manipulating the repeated capability itself. This interface is designated with a singular noun such as Signal or MySignal.

Example:
   var myDsr = new KtMDsr();
   myDsr.Signals.Add("MySignal");
   myDsr.Signals.Item["MySignal"].Direction = KtMDsrSignalDirectionEnum.KtMDsrSignalDirectionInOut;

There are two types of repeated capabilities in the DSR:

STIL Components | These repeated capabilities are used to define all the building blocks in a digital test. They can be defined directly from the API, or they can be created by loading a pattern file in STIL or OpenXML format. See STIL Components for more information.
Active Sites | These repeated capabilities are used to act on a physical site on the DSR. This includes executing a pattern, doing PPMU measurements, or doing bit-oriented manipulation of individual digital channels. See Active Sites for more information.

All KtMDsr repeated capabilities have these functions:

Add or Activate | Adds a new instance of a repeated capability. For instance, this could be used to add a new signal to the signals collection. The STIL components all have Add functions. Activate is also used to add a new instance of the repeated capability; however, it uses an existing site definition to do so. Therefore the specified site is activated for use to do the operations on the specified site. The active site repeated capabilities all have Activate functions.
Count | This attribute contains the number of instances of the repeated capability that have been defined. This is primarily useful for discovering the repeated capabilities in the driver. Perhaps after loading a STIL or OpenXML file.
Name | This attribute gets the name of a repeated capability at a given index. By reading the Count attribute, and calling name for each defined Index, a client can discover all the repeated capabilities defined.
Remove or Inactivate | This function removes a repeated capability of the given name. This frees up memory and other resources associated with the repeated capability. The Active sites use Inactivate or InactivateAndDisable instead of Remove. With Inactivate, once a site is inactivated, the channels in the site retain the level the had; however, the site can no longer be used for the operations for which it was initially activated — until it is activated again. InactivateAndDisable takes the further step of disabling all of the channels.
Item(Name) | The Item function provides access to the actual capability. The Item function returns an instance of the repeated capability. For IVI-COM, this is an object that has methods defined to read and write settings associated with that instance, or to do work with that instance. The repeated capability is defined with a plural noun (for instance, Signals ). The Item function takes the name of a particular member of that collection and returns it. The type of this returned item is the singular form of the noun (for example, Signal). For instance, the Signals repeated capability has an Item function that returns a Signal object, which has Direction defined for the Signal. The Signal Direction is always relative to the DUT.
Item.Name | This attribute is defined on the repeated capability itself. This provides a way to get the name of this repeated capability. Thus, you pass the name to Item to get the repeated capability. Then you can check the Name attribute in the repeated capability to get that same name back again. This is useful when the repeated capability has been passed to some operation that works with the repeated capability without access to its name. The Name function allows that client code to delete (or otherwise manipulate) the repeated capability without the context of how it was acquired.


Signal Expressions

Signal Expressions

Purpose of signal expressions

When defining a pattern, it is frequently useful to deal with numerous signals at the same time. In many applications, such as when defining a bus, all signals may define the same waveform characters and DC levels. Signal Expressions provide a simple way to specify a group of signals.

Most of the DSR entries (including IVI, STIL, and OpenXML) that accept a signal, also accept a signal expression. Signal expressions are created using the following syntax:

"+" or "," | Signals can be added into the expression using plus or comma. So "Signal1+Signal2" refers to both signals.
".." | A range of signals that have a numeric suffix defined with square brackets can be added using "..". For instance, if you have defined "Signal[0]" , "Signal[1]", and "Signal[2]" , you can refer to all three with the syntax "Signal[0..2]".
"-" | Signals can be removed from an expression using minus. For instance, "Signal[0..2]-Signal[1]" is the same as "Signal[0]+Signal[2]".
"()" | Parenthesis can be used for grouping operations.

In addition, a SignalGroup can be defined. In OpenXML, this is done by merely defining a signal expression in the Direction column instead of one of the direction symbols.

In STIL, a signal group is defined using the SignalGroup block, which similarly permits defining a group as a signal reference expression. The signal expression in STIL is enclosed in single quotes ("'")

Once defined, a signal group can be used just like a signal expression that includes each signal in the group. The “-“ (minus) operation can be used to take signals away from a group within a larger expression. For instance, "Group-Signal"or "Group1-Group2" are both legal.

Examples of signal expressions
Expression | Example | Note
The sum (or difference) of signals or signal groups. | Signal1+Signal2 D3+D2+D1+D0 SignalGroup1+ SignalGroup2 | Operands may be signals or signal groups, separated by plus '+' or minus '-' signs, and grouped by parentheses.
Removing a signal reference expression from another signal or group | SignalGroup1 - Signal1 | Signal1 must be part of SignalGroup1 in order to remove it from SignalGroup1.
A comma-separated list Signals | Signal1, Signal2, Signal3, Signal10, Signal11, Signal12 |
A range of Signals, in either ascending or descending order | Data[0..15] Data[5..0] | Data[0..15] yields 16 signals: Data[0], Data[1], … Data[15] Data[5..0] yields 6 signals: Data[5], Data[4], Data[3], Data[2], Data[1], Data[0]
The sum (or difference) of signal ranges | Signal[0..7]+Data[0..3] Signal[0..7]-Signal[3] Data[0..15]-Data[2] |
Parenthesis for grouping | Data[0..15]-(Data[0]+Data[1]) |

Examples of signal expressions in OpenXML format file The cells below are an excerpt from the Signals sheet of an OpenXML format file. Signals and SignalGroups are described on the Signals sheet. Note these signal expressions:
  • Ranges: OutputBus[0..3] and InputBus[0..3]
  • The summation of signals for group “All” and “Control”
  • The difference in group “Buses”
 | Signal | Direction
 | OutputBus[0..3] | Out
 | InputBus[0..3] | In
 | Clock | In
 | Handshake | InOut
# | Group definitions | (This is a comment line)
 | All | OutputBus[0..3]+InputBus[0..3]+Clock+Handshake
 | Buses | All-Clock-Handshake
 | Control | Clock+Handshake

Example of a Signals block and SignalGroups block in STIL format

Signals {
     Signal1  InOut;
               Signal2 InOut;
               Signal3 InOut;
               Signal10 InOut;
               Signal11 InOut;
               Signal12 InOut;
               D0       InOut;
               D1       InOut;
               D2       InOut;
               D3       InOut;
               Signal[0..7] InOut;
               Data[0..15] InOut;
}

SignalGroups {
               All = 'Signal1+Signal2+Signal3+Signal10+Signal11+Signal12+D0+D1+D2+D3+Signal[0..7]+Data[0..15]';
               SignalGroup1 = 'Signal1+Signal2+Signal3';
               SignalGroup2 = 'Signal10+Signal11+Signal12';
               SignalGroup3 = 'All-SignalGroup1';
}


NumericExpressions

NumericExpressions

The KtMDsr driver provides conventional numeric expression evaluation. There are several benefits:

  • There is utility in having units conversions built into the pattern file formats. For example, using the unit designators, a time of 22 nanoseconds can be specified as "22ns" instead of 22e-9 seconds.
  • The expressions can be used to evaluate times in the waveform table definition in terms of previous edges. For instance, the special character, "@" (commercial at) can be used to indicate the previously specified time. Using this, if an edge in a pattern specification were set to "@+5ns", the edge would be established relative to the previous edge.
  • Most importantly, the expression can be reevaluated after the pattern has been compiled. This provides a way to change a family of related values based on a variable setting without the overhead of recompiling a pattern.

Evaluating expressions

The KtMDsr expressions, in general, are strings that are evaluated to produce a number. The strings are reasonably conventional expressions that provide the usual meanings of the following.

Number parsing | Interpretation
+ - * / | Numeric operations with conventional precedence
^ | Exponentiation
( ) | Conventional meaning of parenthesis
; | Semicolon separates multiple operations; the result of evaluating a string is the value obtained from the final semicolon separated string.
<identifier>=<expression> | An equal operation assigns the expression to a variable, and implicitly creates the variable.
<identifier> | When used in an expression, then an identifier is treated as a variable and replaced with the value most recently assigned to it.
@<digit> | The commercial at (@) followed by a digit indicates one of the ten expression evaluations on a logical line. Thus @1 is the value of the first expression evaluated on a logical line. This is convenient when defining waveform tables, so that the latter times in a waveform table can be defined based on the earlier values.
@ | The commercial at (@) without a digit indicates the most recently evaluated expression. The utility is similar to @<digit>.

The following examples illustrate valid expressions. All of the following yield 11:

"11"
"10+1"
"Variable=11"
"Variable=10; Variable+1"
"E=1;1+1E+1++1-E"
"1 +1E+1++1-E" // notice that the variable E has retained its definition.
"1+ 1E+1++1-E" // notice the first occurense of E is scientific notation exponent and the second is the variable
"1+1E+1 ++1-E" // notice the the binary operator + is followed by a unary + in this example
"1+1E+1+ +1-E"
"1+1E+1++1 -E"
"E=1;1+1E+1 ++1 - E" // notice multiple semicolon separated statements are permitted.

The following illustrate the use of variables in expressions:

"Pi=22/7 ; Radius=11.3; Area = Pi * Radius^(2)"
"e=1+1+1/2+1/(3*2)+1/(4*3*2)+1/(5*4*3*2)+1/(6*5*4*3*2)+1/(7*6*5*4*3*2)"

Reevaluating expressions after compiling a pattern

As noted, the primary utility of the expressions is that both DC Levels and times within a waveform table may be reevaluated without recompiling a pattern. For details, see the functions: PatternSite > ReevaluateVariables and PatternSite > ReevaluateDcLevels.

Units

The DSR handles all the conventional engineering prefixes (a, f, p, n, u, m, k, M, G, T, P, E).
The DSR accepts physical units for inputs to help make the input more readable; however, it does not actually utilize the units in interpreting the numbers. The physical units accepted are seconds, Volts, and Amps.

The value entered | Interpreted as
4ns | 4e-9 seconds
.000001kV | 1e-3 Volts
33us | 33e-6 seconds
1uA | 1e-6 Amps


Not A Number (NaN)

Not A Number (NaN)

Not a Number (NaN) is a special code that indicates a value is "Not a Number". NaN is defined by the IEEE 754 floating-point standard, and is typically used to refer to values that are unused or undefined. NaN also helps one to avoid expressions that might otherwise be divided by zero.

Examples of use:

  • Values for termination types not being used must be set to NaN (Not a Number). For instance, for an application that uses the high input impedance termination, Vcom, Iol, Ioh, and Vit must be set to NaN.
  • Since Vhh can be specified only for high voltage channels, Vhh must be set to NaN when programming high-speed channels.
  • When using SetDcLevels, the parameters for the unused values must be set to NaN. When programming the levels individually, there is no need to explicitly program them to NaN, as the default value for the DcLevels is NaN.


Multi-module Operation

Multi-module Operation

This release of the driver (version 2.0) supports multi-module operation on the M9195B. Up to 12 M9195B modules can be configured in a multi-module instrument, providing up to 192 high-speed I/O channels (12 modules x 16 channels/module).

Keysight supplies two multi-module connection cables, one that connects up to 4 modules together and one that connects up to 12 modules together.

The M9195A supports single-module operation only. The M9195B can also be used as a single-module instrument.

Multi-module primary and secondary module nomenclature

In a multi-module configuration, one module is designated as the primary module while the remaining (1 to 11) modules are designated as secondary modules. The primary module is the module that is listed first when making a connection using the SFP or is listed first in the Initialize() method.

The table below shows the multi-module numbering conventions for a 4 module multi-module instrument. The index used to calculate channel numbers (second column) is zero-based since this index is the most significant digit (or digits for modules 10 and 11) of the channel number. The index used by IVI to reference the modules (fourth column) is one-based since the IVI repeated capabilities always start with 1.

Primary/secondary module | Index used for calculating channel numbers, also used by SFP | Module channel numbers | IVI index used for repeated capabilities | Modules.Name(IVI index) syntax | Modules.Name(IVI index) returned string
Primary Module | 0 | 0-15 | 1 | Modules.Name(1) | "DSR"
Secondary module #1 | 1 | 100-115 | 2 | Modules.Name(2) | "DSR2"
Secondary module #2 | 2 | 200-215 | 3 | Modules.Name(3) | "DSR3"
Secondary module #3 | 3 | 300-315 | 4 | Modules.Name(4) | "DSR4"

The numbering for a 12-module multi-module instrument can be extrapolated from the 4-module configuration in the above table.

Requirements for multi-module operation

This section describes what items are required and what items are optional to implement a multi-module instrument. Note that optional refers to a hardware item whose use is discretionary based on your multi-module system objectives while option refers to a hardware upgrade capability that is orderable from Keysight.

  1. Required: M9195B modules (a quantity of 2-12). The M9195A cannot be used in a multi-module instrument.
  2. Required: The M9195B-MMS (multi-module sync) hardware upgrade option is required on all modules in a multi-module instrument. This option can be purchased at the same time the M9195B module is purchased or can be purchased subsequently.
  3. Optional: Use of the coax cable that is included with the M9195B-MMS option. The coax cable can optionally be used to connect together (daisy-chain) the front panel Sync connectors between modules. This is needed if you are using the MatchLoop instruction in your patterns. Daisy-chaining of the Sync connectors is described in the instructions that accompany the M9195B-MMS option.

  4. Required: Multi-module Sync cable. This cable provides the synchornization signals to ensure that all modules operate synchronously. The main connector of this cable plugs into the Multi-module Sync connector on the primary module while the individual connectors plug into the same connector on each secondary module.

    Two versions of the Multi-module Sync cable are available. The Y1250A accessory kit supports up to 4 modules while the Y1251A accessory kit supports up to 12 modules.

  5. Required: For a PatternSite, at least one channel of the site must be in Bank 0 of the primary module.

Clock requirements for multi-module configurations

Several clock sources can be selected for the DSR module as described on the ReferenceClock.Configure page. These clocks are either accessible from the chassis backplane or can be connected to the Clk In front panel connector.

In a multi-module configuration, every module must have the same clock physically connected to it. For example, if the front panel Clk In connector is selected as the clock source, the same clock source must be connected to this connector on every module. Similarly for the PCIe_DSTARA clock - if this clock is selected, the system timing module must distribute this clock to every module in a multi-module configuration.

The PXIe_CLK100 backplane clock already goes to every chassis slot so no additional effort is required to use this clock.

See the ReferenceClock.Configure method for information on selecting the different clocks.

Licensing effects on multi-module operation

All modules in a multi-module instrument must have the same level of hardware option licensing in order for the licensing to be effective. For example, the M9195B supports the M9195B-SR1 option for a 125 MHz clock rate and the M9195B-SR2 option for a 250 MHz clock rate. If the desired clock rate for a multi-module configuration is 250 MHz, then all modules must have the M9195B-SR2 option.

If, for a particular capability, not all modules have the same hardware option installed, the multi-module configuration will operate at the level of the lowest option. For example, if three modules have the M9195B-M12 option installed while one module has the M9195B-M06 option installed, the multi-module configuration will operate as if all modules have the M9195B-M06 option installed.

Creating a multi-module instrument

A multi-module instrument can be created in two ways:

  1. Using the Initialize method — The Initialize method allows multiple, semicolon-separated VISA resource descriptors to be listed in the ResourceName parameter to create a multi-module instrument. See the Initialize method for further information.
  2. Using the DSR SFP — The SFP dialog allows selection of multiple DSR modules. These will be displayed in the Selected Instrument dialog at the bottom of the SFP Connect to Instrument dialog.

API changes for multi-module PatternSites

Most methods and properties are unchanged for multi-module PatternSites. The exception is the addition of several methods to fetch wide results, i.e. results greater than 16 bits wide. These methods are FetchResultSegmentWide, FetchResultWide, FetchTrinaryResultSegmentWide, and FetchTrinaryResultWide.

NOTE: Multi-module instruments support only PatternSites, not CaptureSites. This is unlike single-module instruments, which support both PatternSites and CaptureSites.

The Modules interface

The Modules interface has been added to the 2.0 driver to support the ability to programmatically query and set properties of individual modules in a multi-module instrument. For example, you can read the slot number and temperature of each of several modules. See the Modules interface and the Module interface for more information.


Calibration Overview

Calibration Overview

The KtMDsr Calibration interface contains functions and attributes used to calibrate the PPMU measurements.

Initially, the module calibration fixture must be attached to the module. However, to complete the calibration the fixture must be removed before EndCalibration is called.

As part of the calibration process, precise current and voltage measurements must be made external to the instrument and provided back to the calibration software via the functions defined in this interface.

The calibration must be performed in the following order:

  1. Call BeginCalibration
  2. Calibrate each voltage range by completing the following three steps for each of the five voltage ranges:
    • Call SetUpVoltage to configure the module to output the high voltage level and measure the voltage externally.
    • Call SetUpVoltage to configure the module to output the low voltage level and measure the voltage externally.
    • Call ComputeVoltageCorrection, passing it the voltages measured externally at the low and high settings.
  3. Calibrate each current range by completing the following two steps for each of the two current ranges:
    • Call SetUpCurrent to configure the module to output the current and measure the current externally.
    • Call ComputeCurrentCorrection, passing it the current measured externally.
  4. Disconnect the calibration fixture and call EndCalibration to complete the calibration and store the calibration settings.

If any step of the process fails, no new calibration information is stored and the calibration settings revert to the settings that were active when the calibration was initiated.


Channels Overview

Channels Overview

The Channels interface provides channel specific control of settings that are set up independently of the specific pattern being executed. That is, the setup of the channels that is beyond the scope of the pattern definition.

The following are controlled from the Channels interface. For more detailed information, go to the Remarks section in each function description.
  • ClampVoltagePpmuEnable
  • ClampVoltages
  • ResponseDelayCompensation
  • LineCompensation
  • StimulusDelay
  • RemoteSenseEnable
  • MeasureAndApplyResponseDelayCompensation.

All of the settings in the Channels interface are controlled by passing an array of channel numbers that indicates the channels on which the setting is adjusted. Channels that are not in the list are not impacted by the function.

Query calls are provided for each setting. The queries read back the setting for an individual channel.

Note that, with the addition of multi-module support in the 2.0 driver, the channel numbers now have this format:

<mm><cc>

Where <mm> is the module number (0-11) while <cc> is the channel number (0-15) on the specified module. For example channel 603 represents module 6 and channel 3 on that module, while channel 1114 represents module 11 and channel 14 on that module.


Triggers and Markers

Triggers and Markers

This section describe how to program triggers and markers. The first release of the KtMDsr driver, version 1.0, supported only software triggers. Hardware triggers and markers have been added to version 2.0 of the KtMDsr driver. Hardware triggers and markers are supported on both the M9195A and M9195B modules with the 2.0 driver.

Triggers are inputs to the DSR, and can be used to initiate the generation of a pattern or the continuation of a pattern that has already been started. Markers are outputs from the DSR, and can be used to trigger other devices, either other modules in the same chassis or external devices.

NOTE: Most of the DSR signals associated with triggers and markers are bi-directional, i.e. they can programmed to be either a trigger input or a marker output. Because of this, care must be taken to avoid contention between marker outputs. This can occur if two marker outputs from different devices are programmed on the same signal line, such as between the DSR module and another module in the same chassis.

Triggers

The triggers supported by the 2.0 driver are summarized below:

  • Software triggers — Software triggers were supported by the 1.0 driver, and continue to be supported in the 2.0 driver. Software triggers can be used to initiate the execution of one or more PatternSites or CaptureSites. In this manner, software triggers allow these sites to start synchronously under software control.
  • Hardware triggers — Hardware triggers are external inputs to the DSR and have two basic sources:
    • Front panel triggers — The DSR front panel has two signals labeled GPIO1 and GPIO2. Either of these signals can be configured as a trigger input.
    • Chassis backplane triggers — The chassis backplane has 10 signals which can be programmed to be trigger inputs to the DSR.

Markers

The markers supported by the 2.0 driver are summarized below:

  • Front panel markers — The two front panel signals labeled GPIO1 and GPIO2 can each be programmed to be a marker output. As noted above, the GPIO1 and GPIO2 signals can also be programmed to be trigger inputs.
  • Chassis backplane markers — The DSR can be programmed to generate markers on 10 chassis backplane signals. Most of these signals can also be programmed to be trigger inputs.

Trigger and marker signals

The table below shows the 13 signals that can be programmed to be triggers and markers. All signals except PXIe_DSTARB and PXIe_DSTARC are bi-directional and can be programmed to be either a trigger or a marker.

Using triggers

This section describes how triggers can be used. This description applies to both hardware triggers and software triggers. Triggers can be used to:

  1. Trigger the execution of a PatternSite or a CaptureSite
  2. Trigger the exit of a WatchLoop

Each of these usages is described below. Note that, for brevity, a shortcut nomenclature is used here. For example, when referring to the TriggerSource property in the PatternSites interface, the driver object will be omitted and the property will be referred to as "PatternSites.TriggerSource". Note that, in many cases, direct links will be provided from the shortcut nomenclature to the property page.

Triggering the execution of a PatternSite or a CaptureSite

To specify which trigger signal is used to begin the execution of a PatternSite or a CaptureSite, use the PatternSites.TriggerSource property or the CaptureSites.TriggerSource property, respectively. These properties specify a string which can be one of the 12 hardware trigger signals listed above (such as "PXI_TRIG6") or it can be one of 16 software triggers, from "SoftwareTrigger0" through "SoftwareTrigger15".

Triggering the exit of a WatchLoop

A WatchLoop is a pattern instruction that can execute other instructions repetitively until a trigger occurs. See Pattern.WatchLoop for a description of the WatchLoop method. The Trigger string parameter of the WatchLoop method specifies the trigger event that will cause the WatchLoop to exit. However, the Trigger parameter does not specify a trigger event directly, such as "PXI_STAR". Instead, Trigger can have one of six string values: "Trigger0", "Trigger1", "Trigger2", "Trigger 3", "Trigger4", or "Trigger5".

To specify which trigger is associated with each of the six possible Trigger strings, the six Site.Trigger<N>Source properties are used, where <N> goes from 0 to 5. See, for example, Site.Trigger0Source. The associations between the Site.Trigger<N>Source properties and the Trigger parameter of the WatchLoop method are as follows:

  1. The Site.Trigger0Source property specifies the trigger associated with Trigger when it has a value of "Trigger0".
  2. The Site.Trigger1Source property specifies the trigger associated with Trigger when it has a value of "Trigger1".
  3. The Site.Trigger2Source property specifies the trigger associated with Trigger when it has a value of "Trigger2".
  4. The Site.Trigger3Source property specifies the trigger associated with Trigger when it has a value of "Trigger3".
  5. The Site.Trigger4Source property specifies the trigger associated with Trigger when it has a value of "Trigger4".
  6. The Site.Trigger5Source property specifies the trigger associated with Trigger when it has a value of "Trigger5".

The Trigger<N>Source string parameter provided by the Site.Trigger<N>Source property can be one of the 12 hardware triggers listed above (such as "PXI_TRIG5"), or it can be one of 16 software triggers, from "SoftwareTrigger0" through "SoftwareTrigger15".

This indirection (first define Trigger in the WatchLoop pattern element, then define the associated Trigger<N>Source string) allows the trigger for a compiled pattern to be changed without re-compiling the pattern. In doing this, only the Trigger<N>Source string needs to be changed. The Trigger string that is compiled into the WatchLoop pattern does not need to be changed.

Using markers

This section describes how markers are used. A marker is a pulse of programmable pulse width. In order to use a marker, its destination (the signal that produces the pulse) must be specified from among the 12 signals listed above that can be marker outputs, such as "PXIe_DSTARC".

The destination is specified by the Marker<N>Destination property, where <N> goes from 0 to 2. See, for example, Site2.Marker0Destination.

Just as triggers can be detected from within a pattern, markers are generated from within a pattern. Markers are specified by the Pattern.CrossReference method. This method inserts a CrossReference instruction in a pattern at the specified index. The Reference string of the Pattern.CrossReference method can be "Marker0", "Marker1", or "Marker2". These strings are associated with the Marker<N>Destination properties as follows:

  1. The Site2.Marker0Destination property specifies the marker associated with Reference when it has a value of "Marker0".
  2. The Site2.Marker1Destination property specifies the marker associated with Reference when it has a value of "Marker1".
  3. The Site2.Marker2Destination property specifies the marker associated with Reference when it has a value of "Marker2".

Specifying whether a signal is a trigger or a marker

The Direction property specifies whether a particular signal is a trigger input or a marker output. This property applies to GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], and PXI_STAR. Two enums are provided to program the Direction, KtMDsrTriggerDirectionMarker (an output) and KtMDsrTriggerDirectionTrigger (an input). See Trigger.Direction for information on this property.

Note that, if a signal is programmed to be a trigger input, you can still program its marker properties such as its pulse width – the marker properties just won’t apply until the signal is programmed to be a marker. Likewise, if a signal is programmed as a marker, you can still program its trigger properties - the trigger properties just won’t apply until the signal is programmed to be a trigger.

Triggers and markers each have different properties except for Polarity which applies to both triggers and markers as described below. In other words, there isn’t one Polarity property for a signal when it is a trigger and a separate Polarity property when the signal is a marker. Even though there is one Polarity property, it is described separately for triggers and markers below because of how this property differently affects triggers and markers.

The hardware trigger and marker properties are listed below. While software triggers exist (such as "SoftwareTrigger5"), there is no equivalent software marker - markers exist only in hardware.

Hardware trigger properties

The following hardware trigger properties can be programmed:

  1. Polarity — If Polarity is positive, the DSR will trigger on the rising edge of the trigger input signal. If negative, the DSR will trigger on the falling edge of the trigger input signal. Polarity can be programmed independently on each of the 12 DSR signals that can be used as triggers: GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], PXI_STAR, and PXIe_DSTARB. See Trigger.Polarity for more information.
  2. ExternalTriggerThresholdLevel — This property only applies to the GPIO1 (External1) and GPIO2 (External2) signals, and allows the trigger input threshold voltage to be programmed individually for each of these signals. See Trigger.ExternalTriggerThresholdLevel for more information.
  3. ExternalTriggerTermination — This property likewise applies only to the GPIO1 (External1) and GPIO2 (External2) signals, and allows the input termination impedance to be programmed individually for each of these signals. See Trigger.ExternalTriggerTermination for more information.

Marker properties

The following marker properties can be programmed:

  1. Polarity — Polarity controls whether a marker pulse will go high (positive) or low (negative). Polarity can be programmed independently on each of the 12 DSR signals that can be used as markers: GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], PXI_STAR, and PXIe_DSTARC. See Trigger.Polarity for more information.
  2. MarkerPulseWidth — This property sets the pulse width of marker outputs. The pulse width can be programmed independently on each the 12 DSR signals that can be used as markers: GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], PXI_STAR, and PXIe_DSTARC. See Trigger.MarkerPulseWidth for more information.

Several guidelines for using markers are provided below:

  1. When a site is activated, the driver will verify that any markers are correctly programmed as outputs based on use of the Direction property. For example, if Site2.Marker0Destination specifies that Marker0 is set to "PXI_TRIG2", the driver will verify, when the site is activated, that PXI_TRIG2 is programmed as an output. An error will be generated if the signal associated with Marker0 is not programmed as an output.
  2. While a site is activated, both the marker Polarity and Direction properties can be changed. However, because of the potential for signal contention, changing of the Direction property while a site is activated is not recommended.
  3. MarkerPulseWidth can only be set prior to activation of a site, it cannot be changed while a site is activated.

Triggers and markers with a multi-module instrument

In a multi-module instrument, triggers and markers are only sensed and generated by the primary module. However, for a trigger input, the entire multi-module instrument responds to the trigger.

The secondary modules can neither detect triggers nor generate markers. See Multi-module Operation for further information on multi-module instruments.

Note that all inter-module synchronization in a multi-module instrument is performed through the front panel connectors, either the Multi-module Sync connector and optionally the Sync SMB connector. Triggers and markers are not used for inter-module synchronization in multi-module instruments.


STIL Components

STIL Components

Patterns are constructed from building blocks that are collectively referred to as STIL components. The STIL components closely follow the block definitions that are provided by STIL (IEEE 1450). They are dynamically created and defined by either loading a pattern file or by programmatically providing the definition. Before loading a pattern file or programatically providing the definition, the components do not exist.

In the API, the STIL components can be defined in most any order, as references to undefined STIL components are permitted. The single exception is that all signals must be defined before use.

The STIL specification requires that the component definitions in a STIL file occur in a specified order. So, although the DSR software will accept definitions in an arbitrary order, the STIL input file must be in the order defined by the IEEE 1450 specification.

The KtMDsr STIL Components

The DSR supports the following STIL components:

Repeated Capability | STIL Block Name | Usage
Signals | Signals | Each repeated capability defines a single Signal. Signals differ from other repeated capabilities in that they must be defined before they are referenced. The name of the Signal is the same as the repeated capability name.
SignalGroups SignalGroups SignalGroups permit referring to multiple signals with a single name. This simplifies defining items like DC Levels where numerous signals may need to be assigned at the same time.

A SignalGroup is defined with a string that contains one or more signals. There are basic operators available for referencing a series of signals and for adding and removing signals from a group.

Sites Sites (Keysight extension) A STIL pattern is defined in terms of Signals. The Sites block specifies the physical DSR channels, that is, the module inputs and outputs that the signals will be bound to.

Since the pattern definition itself has no reference to the physical channels, a complete pattern can be defined independently of the physical outputs and the actual fixture that is used to execute the pattern.

The KtMDsr binds the physical definition to the pattern definition by Activating a site. The site name is used both for activating the site and for referring to it once it has been activated.

DcLevels DCLevels (IEEE 1450.1) This block defines:
  • Signal Levels for digital stimulus
  • Thresholds to use to interpret a digital response
  • Load characteristics of the signal line

The DcLevels block permits each of these settings to be made independently for each channel. The repeated capability name is an arbitrary block name that represents this set of definitions. Each block may contain independent DC Level settings for each signal.

WaveformTables WaveformTables A WaveformTable defines the waveform that should be produced, or expected by the DSR when a particular waveform character is executed on a particular Signal.

The waveform table name is used in the pattern to specify a different set of waveforms for the pattern characters; these define how each vector of the pattern should be executed.

Patterns Pattern The Pattern block contains the definition of the binary data that is used to create the stimulus and define the expected response.

The repeated capability name identifies the Pattern if it is referenced in a PatternBurst, or if it is referenced directly by an API.

Note that API's are provided to execute or compile a Pattern block directly. That is, these API's do not require definition of a PatternBurst or PatternExec.

MacroDefs MacroDefs A MacroDef block contains references to patterns that may be used as macros. This differs slightly from STIL which has a separate block type for macros. However, since macros are very similar to patterns, the KtMDsr uses a pattern block to define macros, then those pattern blocks are referenced in the MacroDefs block.

The name of the MacroDef block is used to specify the set of Macros to be used in the evaluation of a pattern. This specification occurs in the PatternBurst block where the pattern is used.

By defining multiple MacroDef blocks, different implementations of a single set of macros can be switched in and out. For instance, this may be useful if a set of macros is used to implement some protocol, and different versions of the protocol need to be switched in without changing the pattern in any other way.

PatternBursts | PatternBurst | A PatternBurst block defines a list of pattern blocks to execute when the digital test is executed. It also specifies the MacroDef block to use as macro definitions.
PatternExecs PatternExec The PatternExec is the top level definition of a digital test. It includes a PatternBurst (which is made up of a series of patterns and macro definitions), and a DcLevel block that specifies the levels.

The name of the PatternExec is specified to execute the digital test.

Common operations on STIL Components

The following functions and attributes are used to work with the STIL components:

Add | Adds a new instance of a repeated capability. For instance, this could be used to add a new signal to the signals collection.
Count | This attribute contains the number of instances of the repeated capability that have been defined. This is primarily useful for discovering the repeated capabilities in the driver, often after loading a STIL or OpenXML file.
Name | This property returns the name of a repeated capability at a given index. By reading the Count property, and calling name for each defined Index, a client can discover the repeated capabilities defined.
Remove | This function removes a repeated capability of the given name. This frees up memory and other resources associated with the repeated capability.
Item(Name) | The Item function provides access to the actual capability. The Item function returns an instance of the repeated capability. For IVI-COM, this is an object that has methods defined to read and write settings associated with that instance, or to do work with that instance. The repeated capability is defined with a plural noun (for instance Signals ). The Item function takes the name of a particular member of that collection and return it. The type of this returned item is the singular form of the noun. For instance, the Signals repeated capability has an Item function that returns a Signal object, which has Direction defines for the Signal.
Item.Name | This attribute is defined on the repeated capability itself. This provides a way to get the name of this repeated capability. Thus, you pass the name to Item to get the repeated capability. Then you can check the Name attribute in the repeated capability to get that same name back again. This is useful when the repeated capability has been passed to some operation that works with the repeated capability without access to its name. The Name function allows that client code to delete (or otherwise manipulate) the repeated capability without the context of how it was acquired.


Signals Overview

Signals Overview

Signals is one of the STIL Components. As with all STIL components, they can be created using the IVI API, or by loading a file in one of the file formats supported by the DSR software.

Signals must be defined before they are used.

A Signal is a symbolic representation of a single DSR channel; however, it is not associated with a physical channel. By separating the concept of a Signal from a channel it is possible to define patterns that can be bound to a different set of channels. This separates the pattern definition from the details of the physical connector. It also permits the same pattern to be executed on multiple sites at the same time.

The Signals block differs somewhat from the other STIL Components.

  • The other STIL components are always referenced using the block name. For instance, the block name is passed to the Item method to access the block to configure it. The block name is also used whenever the block is referenced. Thus, the block name provides a way to manage multiple copies of the block.
  • For Signals, the block name for a Signal is the name of that Signal. This signal name is used primarily in the pattern definition itself, so the block name is not directly used. Signals also differ from other STIL components because they are defined for the entire DSR (that is, they are global in scope).
  • Signals must be defined before they are used.

See also General KtMDsr Usage.
See STIL Components for more information on how patterns are defined.


Signal Direction

Signal Direction

The use of signal direction is dependent on the Site type.

Site Type | Use of Signal Direction
Pattern | Stimulus is only applied to Signals defined as In or InOut, and Response is only taken from Signals defined as Out or InOut.
Static | Stimulus is only applied to Signals defined as In or InOut, and Response is only taken from Signals defined as Out or InOut.
PPMU | The Direction is ignored. All measurements may be performed on any channel in the Site.
Capture | Data is captured from Signals defined as Out, Clocks are generated on Signals defined as In. Signals defined as InOut generate an error.

In StaticSite read operations,

      Bits in the read result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT input (Direction is In) return 0.

In StaticSite write operations,
      Bits in the read result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT output (Direction is Out) are not affected by the write.

In PatternSite or CaptureSite with Fetch operations,
      Bits in the result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT input (Direction is In) are 0.

In a WaveformTable,
      Force events are not permitted on signals that are defined as DUT outputs (Direction is Out).
      Compare events are not permitted on signals that are defined as DUT inputs (Direction is In).

For more information on how Signal Direction is used, see StaticSites, CaptureSites, and WaveformTables.


SignalGroups Overview

SignalGroups Overview

A SignalGroup is a list of Signals. Most interfaces that accept a Signal also accept a SignalGroup or a signal reference expression. The block name of the SignalGroup is the name of the SignalGroup and can be used in most places where a Signal is accepted.

A SignalGroup is defined with a signal reference expression which is a string that identifies a group of Signals. The following rules describe the syntax of signal reference expressions.

Syntax | Example
Plus (+) or comma (,) are used to list existing Signals and/or SignalGroups to include in the expression | Sig1+Sig2+Sig3+Group1 Sig1,Sig2,Sig3,Group1
Square brackets [x..y] are used to add a range of Signals | DataBus[0..16]
Minus (-) removes a signal from the expression | Group1 - Sig1 DataBus[0..16] - DataBus[16]
Parenthesis ( ) are used for grouping | Group1 - (Sig1+Sig2)

Notice that when a range is declared, the individual Signal names must be valid signals. The square brackets are included in the individual Signal names. For instance, in the example above, DataBus[16] is in the range, but there is not a Signal named DataBus16.

SignalGroups is one of the STIL Components. As with all STIL components, they can be created using the IVI API, or by loading a file in one of the file formats supported by the DSR software.

See Signal Expressions and Numeric Expressions for more information on evaluating Signal and Numeric Expressions.


Sites Overview

Sites Overview

Sites is used to specify how a pattern is applied to the physical DSR. This includes:

  • Mapping the Signals to DSR Channels
  • Specifying an Ordinal for each Signal and Channel that specifies the position that Signal will take in response data.
  • Mapping the Trigger references in the pattern to physical trigger sources.

Since the Site specifies this physical mapping, it is used to bind Patterns, PPMU operations, and StaticSite operations each to physical channels.

Sites is one of the STIL Components. As with all STIL components, they can be created using the IVI API, or by loading a file in one of the file formats supported by the DSR software.

The Use of Signal Direction
The use of signal direction is dependent on the Site type. For details, refer to the Signal Direction article.

Note regarding high voltage channels

The DSR provides four high voltage channels. Each high voltage channel is associated with a high speed channel on its respective IO bank. It is important to note that a high speed channel may not be used at the same time as its corresponding high voltage channel (for example, channels 2 and 20 may not be used at the same time). These dependencies are outlined in the table below. Refer to the DSR User Guide for more detailed information on using high voltage channels.

IO bank | High voltage channel | Corresponding high speed channel | Note
0 | 20 | 2 | Channel 2 is unavailable when using high voltage channel 20
1 | 21 | 6 | Channel 6 is unavailable when using high voltage channel 21
2 | 22 | 10 | Channel 10 is unavailable when using high voltage channel 22
3 | 23 | 14 | Channel 14 is unavailable when using high voltage channel 23


Using Ordinals

Using Ordinals
An Ordinal specifies the bit location (or array location) where data associated with a Signal will be placed.
  • In the case of DSR Pattern, Static and Capture operations, the ordinal is a zero-based bit position, which may be the same or different than the designated channel number for that Signal.
  • For DSR PPMU operations, an ordinal specifies the array element that contains data for this Signal. This is the element number to use when packing measurement results into bytes or arrays.

An ordinal is assigned to a Signal using the Site block. The Site block can be specified via the API, a STIL file, or an OpenXML (spreadsheet) file. By specifying the ordinal as part of the site, different physical channels can be associated with arbitrary elements of the DSR responses.

  • From the API, an ordinal is specified using the IKtMDsrSite.AssignSignal function or IKtMDsrSite.AssignSignalList function.
  • In a STIL file, an ordinal is specified in the Site block.
  • In an OpenXML (spreadsheet) file, an ordinal is specified for a Signal on the "Site" sheet of the .xlsx file.


DcLevels Overview

DcLevels Overview

DcLevels is one of the STIL Components. As with all STIL components, they can be created using the IVI API, or by loading a file in one of the file formats supported by the DSR software.

See loading pattern files for more information.

The DcLevels functions and attributes provide a way to set the various DcLevels associated with the generation and receipt of digital signals. This includes:

  • The thresholds that define the logic sense of the DUT outputs
  • The levels that are produced by the DSR, including the levels that are produced by the high voltage output pins, 20-23
  • The load characteristics

All input and output definitions are from the perspective of the DUT. For instance, the low output voltage level is the threshold that the DSR uses to detect a logical zero, thus the output of the DUT which is the input to the DSR must be below that level to produce a logical zero.

The DUT outputs are monitored by specifying the DUT output low voltage threshold (Vol) and the DUT output high voltage threshold (Voh). In addition, an optional hysteresis voltage (Vhyst) can be specified. When Vhyst is specified, it is applied to both the Vol and Voh thresholds. For the DUT input signals, the logic low voltage is set by Vil, while the logic high voltage is set by Vih.

DcLevels can be set independently for each signal in the pattern. Therefore the definition of the DcLevels is applied to a signal expression that can refer to a single signal or several signals. For details on signal expression handling, see Signal Expressions.

DUT output levels are defined with a low voltage threshold, a high voltage threshold, and a hysteresis that is applied to both the DUT output low and high thresholds.

The DSR module supports three types of input termination as follows:

  • High input impedance. This is the default mode and does not require any explicit configuration
  • 50 Ohm input impedance to a specified termination voltage. This mode is enabled by specifying the DC voltage to which the 50 Ohm input is connected.
  • Active load. The active load forces one of two specified currents. The current forced is based on whether the sensed input voltage is above or below a specified commutation voltage. The active load is specified as a commutation voltage, a current that is forced for signals below that voltage and a current that is forced for signals above that voltage.

The type of input termination is automatically determined based on the configuration information provided. For instance, if the input termination voltage is provided, the 50 Ohm input impedance is selected.

For the active load, the commutation voltage and the two current levels must be specified. For the 50 Ohm input impedance, the termination voltage is the one and only voltage specified. If none of these values are specified, the input goes to a high impedance.

Note that values associated with only one load type can be specified. To use the active load, all three values (Vcom, Iol, and Ioh) must be specified. Values for termination types not being used must be set to Not A Number (NaN). For instance, an application that uses the high input impedance termination must set Vcom, Iol, Ioh, and Vit to NaN.

Vhh can only be specified for the high voltage channels (20-23). When programming the high speed channels (0-15), set Vhh to NaN (not a number).

The default value for the DcLevels is NaN (not a number), therefore when programming the levels individually, there is no need to program them to NaN explicitly. However, when using SetDcLevels, the parameters for the unused values must be set to NaN.

The following table summarizes the various DC Levels and their limits:

DcLevel | Represents | Min | Max
Vol | DUT output Low threshold. This is the minimum voltage that will be treated as High as measured at the DUT output | -1.5 Volts | 6.5 Volts
Voh | DUT output High threshold. This is the maximum voltage that will be treated as Low as measured at the DUT output | -1.5 Volts | 6.5 Volts
Vhyst Hysteresis applied to the DUT output low and high thresholds, Vol and Voh. This is the peak-to-peak hysterisis voltage. Inputs are coerced to 0, 50 mV or 100 mV. If Vhyst is set to NaN, the hysteresis voltage of 100 mV is used. 0, 50 mV, or 100 mV —
Vil | DUT low voltage input for high speed channels 0-15. This is the voltage produced by the DSR for a 0. | -1.5 Volts | 6.4 Volts
Vil (for Vhh) | DUT low voltage input for high voltage channels 20-23. The voltage produced by the DSR for a 0. | -0.1 Volts | 6.4 Volts
Vih | DUT high voltage input for high speed channels 0-15. This is the voltage produced by the DSR for a 1. | -1.4 Volts | 6.5 Volts
Vih (for Vhh) | DUT high voltage input for high voltage channels 20-23. The voltage produced by the DSR for a 1. | 0 Volts | 6.5 Volts
Vit | Module sourced termination voltage for 50 Ohm input termination. Setting this to a value other than NaN turns on the 50 Ohm load. | -1.5 Volts | 6.5 Volts
Vcom | Active load commutation voltage; the voltage at which the load switches from sinking current to sourcing current. It is used with IOH and IOL to configure the active load. | -1.5 Volts | 6.5 Volts
Ioh

This is the current sunk by the active load when the input voltage is over the commutation voltage (VCOM). It is used with IOL and VCOM to configure the active load.

A positive setting produces a current flow into the DSR, testing the ability of the DUT to maintain a high voltage while sourcing current.

 0 mAmps 25 mAmps
Iol This is the current sourced by the active load when the input voltage is under the commutation voltage (VCOM). It is used with IOH and VCOM to configure the active load.

A positive setting produces a current flow out of the DSR, testing the ability of the DUT to maintain a low voltage while sinking current.

 0 mAmps 25 mAmps
Vhh | Voltage forced by the DSR on the high voltage pin when high voltage is active. | 0 Volts | 13.5 Volts

For more information on setting values to NaN, see Not a Number (NaN).

For more information on repeated capabilities, see Repeated Capabilities.

For more information on the KtMDsr STIL Components, see STIL Components.


New Page

WaveformTables Overview

A WaveformTable defines the waveform that should be produced, or expected by the DSR when a particular waveform character is executed on a particular Signal. The waveform table name is used in the pattern to specify how each vector of the pattern should be executed.

Force events are not permitted on signals that are defined as DUT outputs (Direction is Out).

Compare events are not permitted on signals that are defined as DUT inputs (Direction is In).

Since the waveform character will generally correspond to a stimulus such as a '0' or '1' from the DSR, it is appropriate to look at the waveform table as a description of how to produce a '0' or '1'. Since waveform characters also specify expected values from the DUT, the waveform table also describes how a response from the DUT should be clocked to determine the logic value of the response, and the expected value of the response.

The following is an example of information in a waveform table:

WaveformCharacter | Signals defined | Times of events | Events
'0' | Signal1 | 20e-9 | ForceDown
'1' | Signal1 | 20e-9 | ForceUp
'H' | Signal1 | 80e-9 | CompareHigh
'L' | Signal1 | 80e-9 | CompareLow
'Q' | Data[0..7] | 0, 50e-9 | ForceLow, ForceHigh

Some notes on the example in the above table:

  • The first four lines of the example show how a single signal may have four different waveform characters defined (0, 1, H, L). Conventional definitions for 0, 1 , H, and L are given.
  • The final line of the table (Q) shows how a group of signals can all be defined to have the same waveforms. This example also shows that when the Q character is in the input pattern for Data[0..7], two force events are acted on: the signal is forced low at time 0 and is then forced high at 50 nanoseconds.
  • Based on this waveform table alone, the pattern could use the Q character only on the Data[0..7] signals and the 0, 1, L, and H characters on Signal1.

The WaveformTable also contains the Period, which is another key piece of information. Every waveform character in a given waveform table is executed with the same period. Patterns that require changing the period dynamically do so by defining additional waveform table for each different signal period.

WaveformTables is one of the STIL Components. As with all STIL components, they can be created using the IVI API, or by loading a file in one of the file formats supported by the DSR software.

See also Edge Placement Resolution and STIL Components.


Patterns Overview

Patterns Overview

The Patterns block provides the data that is used to stimulate the DUT and the data that is expected back from DUT. This data includes the stimulus and response values and also various non-data instructions.

The data output on each signal in the pattern in a single WaveformTable period is referred to as a Vector. Each Vector in the Pattern can be output using a different WaveformTable. Thus, each vector in the pattern includes the Signals being defined, the waveform character for each signal, and the WaveformTable that defines the waveform character and specifies the period for this cycle.

The Vector method may be called multiple times to provide a complete definition of a clock cycle. This permits independently specifying signals or signal groups with separate calls.

Vectors may be labelled using LabelVector. This makes them available as locations that are accessible with GoTo.

The following non-data instructions are supported:

Instruction | Notes
CrossReference | Places a mark in the pattern that is included in the response log. This simplifies relating the response log to the line in the pattern that generated it.
GoTo | Forces the execution to transer to a locations identified with a label.
Loop | Indicates a block to be repeated a fixed number of times.
Macro | Executes the pattern from the specified macro. Optionally includes parameter substitution if defined using the MacroWithSubstitution function.
MatchLoop | Indicates a block should be repeated until all Compare operations pass, or a specified number of loops are completed.
Shift | Shift is a parameter substitution operation. It indicates that the parameters from the input parameter list should be executed until the list is exhausted. Shift may only be used within a Pattern that is designated as a macro using MacroDef.
WatchLoop | Indicates a block should be repeated until an external trigger event is received, or a specified number of loops are completed.

Each instruction is programmed using an Index that indicates the location within the pattern. The Index begins at zero, althougth instructions can be located at any desired starting Index. When the Pattern is completely defined, the various instructions are sorted by Index and executed in that order. While there are performance benefits to using consecutive Indexes, instructions and vectors can be assigned to Indexes on a non-consecutive basis. Furthermore, assignments to Indexes can be made in any order as long as the contents are in the desired order of execution, from low Indexes to high Indexes. However, when Loop, MatchLoop, or WatchLoop instructions are inserted into a pattern, the loop instruction and all vectors within the loop must be consecutive. Although the Vector function may require multiple invocations to fully define a vector, no two distinct instructions can have the same Index.

In general, the mechanism for capturing data is to specify a CompareLow operation on the Signals where the data is being captured. Then the DSR is configured to log all compares. Thus if the input is low, the compare succeeds and 0 is logged; if the input is high, the compare fails and 1 is logged. Thus the log represents the data values of the input.

Patterns is one of the STIL Components. As with all STIL components, they can be created using the IVI API, or by loading a file in one of the file formats supported by the DSR software.

For more information on STIL components, see STIL Components.


MacroDef (Macro) Overview

MacroDef (Macro) Overview

MacroDefs is one of the STIL Components. As with all STIL components, they can be created using the IVI API, or by loading a file in one of the file formats supported by the DSR software.

See loading pattern files for more information.

MacroDefs is used to designate one or more patterns as macros. A pattern designated as a macro can be executed from another pattern by including a line that calls it in the invoking pattern.

Macros are invoked using the Macro line type from the API, or the appropriate language syntax from one of the pattern files.

The MacroDef block assigns a macro name to each pattern to be used as a macro. This macro name is the name that is used to invoke the macro.

The MacroDef block is specified in the PatternBurst block. All of the patterns in that PatternBurst block are then evaluated with the macro specifications from the named MacroDef.

The DefineMacro method controls how macro names are assigned to patterns.


Defining Patterns Using Hex

Defining Patterns Using Hex

Defining Patterns Using Hexadecimal

When it is important to represent pattern vectors in a very compact format, hexadecimal (base-16, or "base hex") encoding can be useful. Base hex encoding is most often used for computer-generated and computer-read vectors. It has the advantage of a very compact representation of the pattern; however, the disadvantage is that the pattern becomes much less readable by humans.

The following steps are required to convert a pattern vector from waveform characters to base hex:

a. Assign binary values to the waveform characters associated with the signals.
b. Replace each waveform character in the vector with its binary value.
c. Gather the binary values into groups of 4 binary digits; then assign each group of 4 binary digits its hex value.

The following examples show how a pattern vector is converted from its waveform character representation to base hex.

Example 1

1. Let’s start with a pattern site consisting of 8 signals, S0-S7; each signal can be expressed by any one of 4 waveform characters, “L”, “H”, “Z”, and “X”. In the STIL file, L, H, Z, and X will be associated with each signal as shown below.

Signals {
S0 In { Base Hex LHZX; }
S1 In { Base Hex LHZX; }
S2 In { Base Hex LHZX; }
S3 In { Base Hex LHZX; }
S4 In { Base Hex LHZX; }
S5 In { Base Hex LHZX; }
S6 In { Base Hex LHZX; }
S7 In { Base Hex LHZX; }
}

2. Let’s look now at a sample pattern vector that represents all 8 signals on the site just described. This pattern vector consists of 8 waveform characters, each of which is either L, H, Z, or X. The sample vector is shown below:

L H H Z X L X Z

Note: Since base hex encoding is independent of which signal is S0 and which signal is S7, we will not specify signal names in the following steps.

3. Now, let us go back to our original set of waveform characters for each signal: "LHZX". We know that for 4 waveform characters, two binary digits are required to encode the four unique characters. A binary value is automatically assigned to each waveform character; the binary value for each character depends on the order the characters were defined in step 1. (In the next step, we will substitute these binary digits for each waveform character in the pattern vector, LHHZXLXZ.)

“L” = 00
“H” = 01
“Z” = 10
“X” = 11

4. Now, let’s take our pattern vector in step 3 and substitute the binary value for each waveform character. For example, the left-most “L” waveform character in the vector will be replaced with its binary value, 00. Performing this substitution yields:

L H H Z X L X Z
00 01 01 10 11 00 11 10

Though we are not yet finished, we observe that we now have 16 binary digits where we before had 8 alpha characters. The goal is to further reduce the representation.

5. Now let’s take our 16 binary digits and gather them into 4 groups of 4 binary digits each. This is in preparation for assigning each group a hex value. By gathering 4 binary digits together, we get the following 4 groups of 4 binary digits. Note that for clarity, we have added more space between the groups.

Below each group of 4 binary digits is its hex equivalent.

Binary: 0001 0110 1100 1110
Hex: 1 6 C E

We see now that the original pattern vector “LHHZXLXZ” of 8 alpha characters can be represented in base hex by four alpha-numeric characters: 16CE. Base hex encoding has accomplished a 2:1 reduction in characters. The complexity involved in these steps demonstrates why base hex is generally implemented by computers (not humans), as it is not readily apparent that the base hex vector “16CE” is equivalent to the original vector “LHHZXLXZ”.

Example 2

1. Let’s look, now, at another example where each signal has two waveform characters (rather than four waveform characters above). The following 8 signals have two waveform characters, “L” and “H”:

Signals {
S0 Out { Base Hex LH; }
S1 Out { Base Hex LH; }
S2 Out { Base Hex LH; }
S3 Out { Base Hex LH; }
S4 Out { Base Hex LH; }
S5 Out { Base Hex LH; }
S6 Out { Base Hex LH; }
S7 Out { Base Hex LH; }
}

2. Let’s look at a sample pattern vector for this site. This vector represents all 8 signals (S0-S7) with 8 waveform characters, each of which is either an L or an H. The sample pattern vector is shown below:

L L H H H H L L

3. Now let’s assign binary values to the waveform characters. Because there are only two waveform characters, we need only two binary values, 0 and 1:

“L” = 0
“H” = 1

4. Now let’s take our pattern vector in step 2 and substitute in the binary value for each waveform character. For example, the left-most “L” waveform character in the vector will be replaced with its binary value, 0. Performing this substitution yields:

0 0 1 1 1 1 0 0

While we have not yet achieved any compaction, we have at least not increased the number of characters.

5. Now let’s take our 8 binary digits and gather them into 4 groups of 4 binary digits each, in preparation for assigning each group a hex value. Doing this will generate the following 2 groups. Note that we have added more spaces for clarity. The hex value is shown below each group of 4 binary digits:

Binary: 0011 1100
Hex: 3 C

The resulting pattern vector, 3C, is equivalent to the original pattern vector, LLHHHHLL. We have achieved a 4:1 reduction in the number of characters required to specify the pattern vector, from eight waveform characters (LLHHHHLL) to eight binary digits (0011 1100) to two hex characters (3C).

Example 3

Base Hex is most useful when combined with macros and Shift blocks. For example,

macro "test" {

   V { All = 11111111 }
   Shift {
   V { All = 1111111# }
   }

Pattern "pattern" {
   V { ........ }
   .
   .
   macro test { S7 = AAC24F }
   .
   .

Questions & Answers

1. How does it work if there are three waveform characters, e.g. “LHZ”?

Answer: Two binary digits would be required to encode these 3 characters. Since the fourth state, “11”, is not used, it would never appear in the binary pattern created by replacing the waveform characters with their binary values. Below is an example:

L Z H L Z Z H H
00 10 01 00 10 10 01 01
------

Based on the above, the largest binary value would be “1010” (underlined), which is the hex character “A”.

2. Can I load a STIL file containing base hex using IVI? (Since Hex can be defined only from STIL - ?)

Answer: Yes, this is actually what the SFP does, when it makes IVI calls to load a STIL file. As noted above, anytime a STIL file containing base hex is loaded, the hex information is replaced with the waveform characters that are encoded by the hex. Therefore, neither IVI nor the SFP will retain any knowledge of any hex that was included in the STIL file.

3. How is base hex displayed by the Soft Front Panel (SFP)?

Answer: Base hex is not displayed by the SFP; it appears only in STIL files. When a STIL file is loaded that contains base hex, the base hex data will be converted back to the original waveform characters that were used to create the base hex representation. Therefore, the SFP does not know anything about the original hex representation. When a pattern file is imported into the SFP, and then saved out as STIL format, no hex information (if it was in the original STIL file) will be included in the newly-saved STIL format file.

4. What if the base hex pattern data contains invalid hex characters?

Answer: In performing the conversion mentioned above from base hex to the waveform characters, the software first performs a hex-to-binary conversion. If invalid hex characters are present, the operation will generate a PatternFile Load error, and the driver will generate an exception.

Notes on base options not fully supported

  • The DSR does not support base hex with SignalGroups
  • The “Alignment” parameter, mentioned in some STIL documents, is not supported by the DSR
  • The "Dec" option (base decimal, or "Base Dec" option), mentioned in some STIL documents, is not supported by the DSR
  • The "\I" option is not supported


PatternBurst Overview

PatternBurst Overview

PatternBursts is one of the STIL Components. As with all STIL components, they can be created using the IVI API, or by loading a file in one of the file formats supported by the DSR software.

A PatternBurst block defines a series of Pattern blocks to execute as part of a overall pattern execution. In addition to the Pattern blocks, the PatternBurst permits specifying the MacroDef block to use.

The PatternBurst provides a way to combine a fixed set of patterns in various fashions. Since it provides a way to use alternate macro definitions using the MacroDef block, it is possible then to use alternate implementations of certain operations.

See PatternExec Overview and STIL Components for more information.


PatternExec Overview

PatternExec Overview

The PatternExec block provides the complete definition of the pattern independent of the physical channels and triggers pins. Thus, the PatternExec is a complete pattern definition that can be executed on any physical set of pins.

The PatternExec contains a single PatternBurst (which is contains all of the Pattern blocks and macro definitions), and associates it with a DcLevel block that defines the amplitude settings.

PatternExecs is one of the STIL Components. As with all STIL components, they can be created using the IVI API, or by loading a file in one of the file formats supported by the DSR software.

See PatternBursts Overview and STIL Components for more information.


PatternFile Overview

PatternFile Overview

The PatternFile interface provides multiple methods for loading and storing pattern definitions from files. In addition to the API, the DSR supports the following three file formats:

PatternFile Format | Notes
IEEE 1450 (STIL) STIL (pronouced like "style") is the IEEE Standard Test Interface Language (STIL) for Digital Test Vector Data. STIL is a standard pattern definition language, defined by a series of IEEE 1450 specifications. STIL is a very complete language for defining stimulus and response. The Keysight DSR implements a subset of STIL, and also adds a few custom block types. The DSR accepts syntaxes defined in IEEE 1450, IEEE 1450.1 and 1450.2.

Use the STIL format if you receive your data from a tool that produces the STIL standard format, or if you prefer your processes to follow a standard.

When loading a STIL file, only the first syntax error encountered is returned (even if there are multiple errors).

OpenXML (xlsx) OpenXML is a spreadsheet format (.xlsx) based on XML that is used by Microsoft Excel and several other spreadsheet programs. The KtMDsr accepts a format that is based on placing the same basic data elements from IEEE 1450 (STIL) into tables in a spreadsheet instead of the text format specified by IEEE 1450 (STIL).

The DSR can read a pattern definition out of a standard spreadsheet file. The file layout is defined by the ECMA 376 OpenXML standard. For the pattern definition, the arrangement of the data within the spreadsheet is defined by the DSR and closely follows the STIL format. A pattern definition can naturally be specified in terms of a series of spreadsheet tables, and this format is taken by the DSR.

Use the OpenXML format if you prefer to work with a spreadsheet program instead of the standard STIL text file format. When loading a spreadsheet file, all the syntax errors are returned at once. They can optionally be written into another sheet within the file to simplify the debugging process.

Bulk Data The BulkData format provides a way to load only the data that makes up the pattern. The result of loaded a bulk data file is a pattern STIL component that can be used with the additional definition information from STIL, OpenXML, or the KtMDsr API. A text file of pattern data is loaded directly into a pattern STIL Component. Other information such as cyclization and DC Levels can be added with driver API components, or by using one of the file formats. This provides a mechanism to easily load data from other sources into a pattern.

The BulkData format is a flexible format based on a text file. The content can be just the waveform characters that define the pattern, or waveform timing information and line numbers may be included.

A bulk data file may have its load operation deferred until the pattern is compiled and written to memory. This allows much larger patterns to be loaded.

Programmatic interface (API) | Although clearly not a file format, the programmatic interface provides all of the flexibility of the file formats.

Notes

  • Any pattern, regardless of the source, can be listed to a STIL file. The resulting STIL file is not intended to be in a convenient human readable format, but it can be loaded back into the KtMDSR and executed to provide the same pattern as the original did.
  • Any pattern can also be compiled and saved either to cache or the file system.
  • The OpenXML and BulkData parsers provide a list of syntax errors. These can be queried from the driver by repeatedly calling GetNextError. ErrorCount indicates the number of errors remaining in the queue. If there are any errors, an error is generated by the call to Load or LoadAndUpdateOpenXml.
  • Cache size and Result size are specified in the Instrument.ConfigureMemory function.
    • A total of approximately 2GBytes of memory is available. By default, the CacheSize is approximately 1.9 GBytes, and the Response size is approximately 100 Mbytes.
    • The ConfigureMemory function will clear any patterns in the cache. All pattern sites must be inactivated before configuring memory.
  • When the DSR module is configured to run four separate 4-channel banks, the response word from each bank is 64 bytes. When the DSR module is configured to run a single 16-channel bank, each response word is 256 bytes.


OpenXML (spreadsheet) file format

OpenXML (spreadsheet) file format

OpenXML Pattern File Format

The OpenXML format is a DSR-specific file format that uses STIL constructs inside a standard spreadsheet file (.xlsx).

For examples and detailed information about the OpenXML format, see the files MDsrAdvancedAnnotatedExample.xlsx and MDsrBasicAnnotatedExample.xlsx in the Help/User Guide Examples directory of the DSR installation.

General rules and patterns

The following rules are used to convert an OpenXML file into STIL Components:

  • The KtMDsr OpenXML syntax uses the sheets in the file to define STIL blocks (aka STIL Components). The kind of the sheet is taken from the sheet name or cell A1 (see below). The following are the types of sheets:
    Signals | The Signals sheet defines the STIL signals and the STIL SignalGroups. The name of this sheet is always Signals since Signals are global and can never have a block name.
    DCLevels | The DCLevels sheet defines a STIL DC Levels block.
    WaveformTable | The WaveformTable sheet defines a STIL WaveformTable block.
    Pattern | The Pattern sheet defines a STIL Pattern block.
    Site | The Site sheet defines a STIL Site block.

  • The OpenXML reader looks at the name of the sheet (as it appears in the tab for the sheet) to determine the type and name of the sheet.

    To specify the type using the sheet name, the sheet name must start out with one of the defined type names. The name of the sheet may be optionally specified by concatenating that on the end of the name with an optional hyphen (-) separator. For instance, "Pattern-Beta" would indicate this is a pattern sheet and it is called Beta.

    It is also possible to specify the type and name in cell A1. To do this, the contents of the cell must be a string containing a colon. The substring to the left of the colon is the type of the sheet. The substring to the right of the colon indicates the name. For example, Pattern:Beta

    indicates a Pattern sheet where the name of the Pattern is Beta.

  • The pattern reader will ignore comments. These are lines that:

    • begin with the exclamation point (!) character
    • begin with a double slash (//)
    • Blank lines

  • The pattern reader looks for a rectangular table. The width of the table is defined by the first non-comment line. This first non-comment line contains headers that define the columns of the table. Comments may not appear on the header line.

    The table extends till the end of the sheet or a blank line. non-blank line comment lines are permitted in the table.

    No cells should be filled in to the right of the header, However once the header has established the width of the table, subsequent lines in the table can have comments on the right.

  • In cells where a numeric is required, either a spreadsheet number may be entered or a string. If a string is entered, the numeric expression evaluator is used to convert the string to a number. This permits using engineering units and prefixes, for instance, a time can be entered as the string "10ns".

    In addition, the numeric variables implemented by the KtMDsr may be used. This permits deferring the evaluating of the strings until the pattern is activated at which time the expressions may be evaluated with new variables using the ReevaluateExpressions function.

In general, formatting is ignored. It is generally useful to use cell shading to improve the readability of a pattern, however it is ignored by the DSR.

Signals sheet

The Signals sheet is used to define the STIL Signal components and the STIL Signal Groups components.

The Signals table requires two columns: Signal and Direction.
Signal

Name of the signal or the signal group to define. The name follows STIL syntax and is basically an alpha-numeric beginning with an alphabetic character. This column may include a range or signal reference expression. For example, Data[0..15] defines 16 signals: Data[0], Data[1],..., Data[15].

Direction

If this column contains a signal direction (In|Out|InOut), then the Signal is defined with this direction. The direction is always DUT-centric. For example, "Out" means an output from the DUT, which is an input to the DSR.

If this column contains a valid signal reference expression, then the row defines a signal group. The group name is the signal name and the group is the signal reference expression appearing in the Direction column. For example, the Direction column could contain: ("Signal1+Signal2").

DCLevels sheet

The DCLevels sheet is used to define a STIL DcLevels block. Since there may be multiple DCLevels sheets, each DCLevels sheet must have a unique name.

The DCLevels sheet has the following columns:

Signal | signal reference expression that describes the signals that this DC Level defines.
Voh | The output high voltage from the DUT. This is the minimum voltage that will be treated as High as measured at the DUT output
Vol | The output low voltage from the DUT. This is the maximum voltage that will be treated as Low as measured at the DUT output
VHyst | This is the hysteresis used when measuring DUT outputs. The input value is rounded to either 0, 50 mV, or 100 mV.
Vih | This is the input to the DUT. This is the voltage that will be presented at the DUT input for a High.
Vil | This is the input to the DUT. This is the voltage that will be presented at the DUT input for a Low
Iol | This is the output current used by the active load when the input voltage is low. This current is output by the active load to ensure the DUT can sustain a low voltage while sinking the current. To turn on the active load, set values other than NaN for Ioh, Iol, and Vcom. When active load is on, and the DUT voltage output exceeds Vcom, Ioh is sunk by the DSR. If the DUT voltage is less than Vcom, Iol is sourced by the DSR.
Ioh | This is the output current used by the active load when the input is high. This current is sinked by the active load to ensure the DUT can sustain a high voltage while sourcing the current. To turn on the active load, set values other than NaN for Ioh, Iol, and Vcom. When active load is on, and the DUT voltage output exceeds Vcom, Ioh is sunk by the DSR. If the DUT voltage is less than Vcom, Iol is sourced by the DSR.
Vcom | This is the commutation voltage for use with the active load. To turn on the active load, set values other than NaN for Ioh, Iol, and Vcom. When active load is on, and the DUT voltage output exceeds Vcom, Ioh is sunk by the DSR. If the DUT voltage is less than Vcom, Iol is sourced by the DSR.
Vit | This is the termination voltage used with the 50ohm termination. To turn on this mode, set the Vit value and leave the active load settings of Ioh, Iol, and Vcom blank (or put in 'NaN' for not a number).
Vhh | Vhh is the high voltage output used in the high voltage output mode on the high voltage channels (20-23)

Any cell within the table can also specify a logical level from a standard logic family. Once a standard logic family is encountered (reading from top to bottom, then left to right), it is used for the rest of the blank cells in the table.

The following standard logic families are supported:

  • LVCMOS_1_2
  • LVCMOS_1_8
  • LVCMOS_2_5
  • CMOS_5
  • TTL
  • LVTTL
  • LVDS
  • PECL

All signals must have DC Levels specified for them.

WaveformTable sheet

The WaveformTable sheet is slightly different from the standard table format in that the upper left corner of the table specifies the waveform period. This is done with the syntax: Period=<period>. For example, Period= 40ns

The WaveformTable sheet contains the following columns:

Period=<period> | The entries in this column are the signal names. This can be signal reference expressions or simple signal names.
Character | The waveform character for which the transitions are being defined. As with STIL, multiple characters can be defined on the same line. To do so, each character is separated with a slash (/). Then the actions corresponding to each character are separated with a slash.
Up to 3 columns labeled Time | The nth time column is the time at which to apply the action specified in the nth action column.
Up to 3 columns labeled Action | The action columns specify an action character as follows:
Action Character | Type of Action | Action
U | Force | Force the DUT input to a 1
D | Force | Force the DUT output to a 0
Z | Force | Stop forcing, and do not drive the DUT input
P | Force | Continue Force from previous cycle
L | Compare | Compare the DUT output with a low
H | Compare | Compare the DUT output with a high
T | Compare | Verify the DUT output is three-state, that is, neither high nor low
X | Compare | Do not compare, doesn't matter what the signal is

Pattern sheets and MacroDef sheets

The Pattern sheet has the pattern definition. Multiple pattern sheets can be defined. A MacroDef sheet is very similar to a Pattern sheet, the only difference is that the MacroDef sheet is made up of macro definitions. Thus, the MacroDef sheet permits the pattern data to include MacroDef/EndMacro statements whereas the Pattern sheet does not. In addition, the MacroDef sheet does not permit GoTo.

The pattern table has the following columns:

Index

This is an optional column that permits entering a pattern index. The pattern index is returned with the comparison response data, so including it in the pattern makes it easier to identify the pattern line that was responsible for a given response.

If the pattern index is not filled in, consecutive numbers starting from 0 are used.

When assigning an index, it is beneficial to increment the previous line by one. This creates a more efficient compiled pattern than incrementing the index by other amounts.

Control This is an optional column for entering control information. The control strings are case sensitive. The following are supported:
Label: Appears on a line with a normal vector. The Control column just contains the label following by a colon. For instance: "HandleErr:"
X:Label | Appears on a line with a normal vector. The control column has X:<label>. For instance: "X:Trial1".
GoTo | Vector description must be blank. The control column contains Goto <label>. For instance: "Goto HandleErr".
Loop/EndLoop | Loop and EndLoop constructs must be on a line with a blank vector. the control column for Loop has Loop <count>. For instance: Loop 42.
MatchLoop/EndLoop MatchLoop and EndLoop constructs must be on a line with a blank vector. the control column for MatchLoop has MatchLoop <count>. For instance: MatchLoop 42.

The loop will execute either the number of times specified in count, or until all the compares in the loop test true. No response data is captured within a MatchLoop.

WatchLoop/EndLoop WatchLoop and EndLoop constructs must be on a line with a blank vector. The control column for WatchLoop has WatchLoop <count> <trigger>. For instance: WatchLoop 42 Trigger2.

The loop will execute either the number of times specified in count, or until the specified trigger arrives. Response data is captured within a WatchLoop.

The site is used to bind the referenced trigger number to a physical trigger.

EndLoop | EndLoop is used with all loop types to identify the end of the loop. This is the same as the close brace (}) in STIL. EndLoop must be on a line with a blank vector.
MacroDef/EndMacro MacroDef and EndMacro constructs must be on a line with a blank vector. The control column for MacroDef has MacroDef:<MacroName>. For instance, MacroDef:OutputByte.

MacroDef blocks can be defined only within a MacroDef sheet.

Shift/EndShift Shift and EndShift operations must appear on a line with a blank vector. Vectors within the Shift block are repeated until the macro parameters have all been used.

Shift and EndShift can appear only in a MacroDef sheet.

Macro invocation Macro's are invoked with the syntax Macro:<MacroName>. For example: Macro:OutputByte.

The signal columns in the pattern contain parameters that are passed to the macros. In STIL, a separate parameter may be passed for each signal, therefore in the OpenXML format, each signal column can designate another parameter.

Macro parameters can contain multiple characters. This is useful if the macro is defined using the special waveform character hash (#). Each time the macro expander sees the hash (#) character, another waveform character is used from the string.

If the macro definition uses the waveform character percent (%), it must be invoked with a single character parameter. That character is used in place of the percent (%) character in the macro expansion.

WaveformTable This is an optional column that permits entering a WaveformTable for this row. Using this, a different WaveformTable, defining different characters, timings or period can be used for each vector.

If the column is specified, but the entry is blank, this vector will be produced with the same WaveformTable as the previous vector.

If no column is specified, and if there is a single WaveformTable defined, that will be used.

Signal columns

Additional columns can be put in the pattern sheet, where each column defines another signal. The column header is merely the name of the signal as defined on the Signal sheet.

Note that if the signal sheet defines a group of Signal using a syntax like: "Chan[0..10]", a separate column must be defined in the pattern for each Chan signal using the syntax: Chan[0], Chan[1], etc. (for all 11 signals in the range).

Site sheet

The Site sheet maps the logical signals that have been used to define the pattern onto the channels used to produce it. It also indicates how the Signals are mapped into bit positions and array elements of the API.

In OpenXML, the Trigger mapping, which STIL includes in the Site block, is done using the Settings sheet.

The following columns are defined for Site sheets:

Signal | The Signal column identifies the signal that is being specified.
Channel | The Channel column specifies the channel where the designated signals data will appear.
Ordinal

The ordinal controls how the physical channels are mapped to signals in the pattern definition. This permits arbitrary physical connections to the DUT.

In the case of Pattern, Static and Capture operations, the ordinal is a zero-based bit position.

For PPMU operations the results for each channel are returned as elements in an array. Therefore, the ordinal specifies the position in the array of a given signal.

Settings sheet

The settings sheet is optional and contains general settings for the pattern.

The columns in the settings sheet are:

Sheet | This is the name of the sheet to adjust a setting on or the keyword "PatternExec" or the keyword "Variable".
Setting | This is the parameter to set. The allowed values are dependent on the sheet type.
Value | This is the value to set the parameter to. The meaning is dependent on the setting and sheet type.

The syntaxes supported are:

Sheet contains the keyword: "PatternExec"

If the keyword "PatternExec" is used, a PatternExec block is created. The PatternExec block specifies a DCLevels and a PatternBurst. To specify the PatternBurst, the second column should have the keyword "PatternBurst", and the value column should define the PatternBurst using the syntax: <PatternBurstName> = <Pattern> + <Pattern> + ...

The PatternExec also specifies the DCLevels to use. To do this, put the keyword "DCLevels" in the Setting column, then put the name of the DCLevels in the Value field.

If a PatternExec is not specified, and only a single Pattern and single DCLevels is specified, one is generated automatically using the DCLevels and Pattern.

If greater control over the generated PatternExec is needed, use the PatternExec sheet type.

A PatternExec of the specified name is created with a pattern burst composed of the listed patterns.
Sheet contains the keyword: "Variable"

Variables may also be specified in the Settings sheet. To do so, the Sheet column has the keyword "Variable". The Setting column has the name of the variable. And the Value column has the numeric (or expression) that is evaluated for the variable. These variables should not be confused with spreadsheet variables. These variables are compiled into pattern being defined and can be reevaluated as part of executing the defined pattern.

Sheet is set to the name of a Site The setting is set to Trigger <0|1|2|3|4|5>. The value is set to a trigger source. For instance "SoftwareTrigger0". This syntax will bind the trigger source to the Trigger specified in the pattern, within the WatchLoop instructions.

PatternExec

If no PatternExec sheet is defined, a PatternExec and PatternBurst is automatically created named PatternExec_<filename> and PatternBurst_<filename> respectively. The PatternBurst contains the single default pattern (Pattern!Default), and the PatternExec references that PatternBurst and the default DC Levels (DCLevels!Default).

The PatternExec sheet permits explicitly defining a PatternExec instead of using the abbreviated syntax in the Settings sheet. The PatternExec provides the PatternBurst and the DCLevels that will be used to generate a named pattern.

The syntax for specifying the PatternBurst is a plus (+) separated list of pattern sheets. The syntax for specifying the DCLevels is just the name of the DCLevels sheet.

The columns in the PatternExec sheet are:

SheetType | This syntax indicates if this line is defining a PatternBurst or a DCLevels. Thus, this column needs to contain either the string "PatternBurst" or the string "DCLevels".
Name | This column identifies the names of the sheets to be used. For PatternBurst, it is a list of sheet names separated by plus (+) signs. For DCLevels, it is a single sheet name.


STIL file format

STIL File Format

NOTE: Information on the STIL file format is also available in the chapter "Using STIL Files" in the DSR User Guide.

STIL is available from the IEEE. The KtMDsr driver primarily utilizes the syntax defined in the base specification (IEEE 1450-1999).

The KtMDsr driver also uses:

  • The X pattern statement (cross reference label) from the IEEE 1450.1-2005 specification.
  • The DCLevels blocks defined in IEEE 1450.2-2002.

In addition, there are several KtMDsr pattern extensions to the STIL specification, which are listed below.

Pattern Extension Description Syntax Example
Site The root level Site block is used to define how signals and triggers are bound to the physical device.

- Under the Site block, the Channels block is used to control settings associated with specific channels, independent of its use for PPMU or patterns.

- Also under the Site block is the Triggers block, which is used to assign a software trigger (SoftwareTrigger0 - SoftwareTrigger15) to a physical trigger input (Trigger0 - Trigger5).

For more information, see Sites. 		Site <Sitename> {

 (Channels {
   ( SIGNAL_NAME
      DECIMAL_INTEGER        // DSR channel #
      (DECIMAL_INTEGER) ; )+ // Ordinal # (Order
                             // data is packed
                             // into results.)
   } )                       // end _Channels
 (Triggers {
   ( <Trigger0|Trigger1|Trigger2|Trigger3|
      Trigger4|Trigger5> “TRIGGER_SOURCE”; )* })?
                    // Trigger source is string
                    // defining physical trigger
                    // input. Software triggers
                    // are Softwaretrigger0 -                    // SoftwareTrigger15.
 })*
} 		Site SiteName {

  Channels {
    A0 0 0;
    A1 1 1;
    A2 2 2;
    A3 3 3;
  }

  Triggers {
    Trigger0 "SoftwareTrigger0";
    Trigger1 "SoftwareTrigger1";
  }

}
WatchLoop The KtMDsr driver provides a WatchLoop pattern statement.

WatchLoop is similar to the STIL MatchLoop, except that a WatchLoop continues to execute until either the number of loops specified are completed, or until the specified trigger condition occurs.

A LoopCount of 0 is interpreted as an infinite loop.

There must be a minimum of 2 vectors in a Watchloop.

If the waveform perdiod is less than 16 * EdgePlacementResolution, there is a constraint when using multiple Watchloops: There must be a minimum of 4 vectors between the last vector of any Watchloop and the last vector of a subsequent Watchloop.

For more information, see Pattern WatchLoop. 		WatchLoop < LOOPCNT | Infinite > <Trigger0|
  Trigger1|Trigger2|Trigger3|Trigger4|Trigger5>
 {
      (pattern-statements)+
 }

         Pattern testpat1
   WaveformTable one;
      WatchLoop 7 Trigger1 {
         V{ALL=100000;}
         V{ALL=010000;}
         V{ALL=1P1P1P;}
         V{ALL=111111;}
         V{ALL=111111;}
    }
    V{ALL=111111;}
    V{ALL=000000;}
} // end Pattern
DcLevels:
- VCOM
- VHH
- VIT
- VHYST 		- VCOM is the active load commutation voltage, the voltage at which the load switches from sinking current to sourcing current. VCOM is used with IOH and IOL to configure the active load.
- VHH is the voltage forced by the DSR on the high voltage pin when high voltage is active.
- VIT is the voltage forced by the DSR on the high voltage pin when high voltage is active.
- VHYST is the hysteresis applied to the DUT output low threshold (VOL) and DUT output high threshold (VOH). This is the peak-to-peak hysterisis voltage. Inputs are coerced to 0 mV, 50 mV, or 100 mV.

For more information, see DcLevels. 		DCLevels <pattern> {

  Channels {
    VIH '<value>'; VIL '<value>';
    VOH '<value>'; VOL '<value>';
    VHYST '<value>'; VCOM '<value>';
    IOL '<value>'; IOH '<value>';
    VIT '<value>'; VHH '<value>';
  }

}
         DCLevels DelayPattern {

   Channel[0..15] {
     VIH '1V'; VIL '-1V';
     VOH '-0.1V'; VOL '2.77V';
     VHYST '0V'; VCOM 'NaN';
     IOL 'NaN'; IOH 'NaN';
     VIT '0V'; VHH 'NaN';
   }

}


Bulk Data file format

Bulk Data file format

The BulkData format provides a way to load basic pattern data into the DSR. When the data is loaded, a pattern STIL component is created. The rest of the pattern definition must be provided using STIL, OpenXML, or the API.

Bulk data file syntax

The bulk data file is read using the following rules:

  • Comments are designated with a hash (#) or double slash (//). Comments extend to the end of line. Blank lines are also treated as comments.
  • The first non-comment line of the file may be a header that indicates the syntax of the file. It is recognized by square brackets. If the header begins with the word "Index", a numeric Index is expected on each data line. If the header has the word "WaveformTable", then a WaveformTable is parsed on each line. Finally, the header has a list of signals, indicating the order and signal name to associate with each position in the data lines.
  • If no header line is present, the file is assumed to only contain bulk data with an unchanging waveform table and signals as provided via the API.
  • Data lines are parsed based on the header line. Individual waveform characters may be separated by comma or space or may be grouped together.
  • A hyphen (-) can be from the previous vectors, and used in place of a waveform character. This indicates that the waveform character on that signal should be repeated. In STIL this is indicated by leaving the waveform character unspecified, but it must be explicit in bulk data.

Header line

The header line establishes the format that will be used to read the bulk data file.

The header line can be the first non-comment line in the file, or it can be provided via the API. By providing the header line in the API, an arbitrary file containing only the target data may be loaded.

The header line has the following format:

   [["Index"] ["WaveformTable"] (<SignalList>)+ ]

Note that the entire header line is enclosed in square brackets [ ].

If the word Index is present, then an an optional Pattern Index is parsed from the input. If it is not present, then the parser will automatically assign an index starting with 0.

If the word WaveformTable is present, then an optional WaveformTable name is parsed from the input. If it is not present, the parser will use the waveform table specified in the LoadBulkData function call for each vector in the pattern.

The signal list is a space or comma (,) separated list of signals. This provides the list of signals associated with the columns of data.

Note that although signal names are separated by white space and comma in the header line, no separator is required between signals in the pattern area.

Notes

Generally, values provided by the API override any values appear in the file. For instance, if the signal list is provided in the API, any signals appears on the header line are ignored.

The following are typical examples:

# this file includes a header showing indexes
# and waveform table

[Index WaveformTable Signal1 Signal2 Signal3 Clock]
0 One 011T
1     011T #The waveform table defaults to previous line
2     100T
3     1 0 1 T #separators are ignored between characters

The following example shows a more terse description. When using this syntax, the waveform table must be specified in the function invocation and the indexes are automatically generated counting from 0.

# this datafile only defines file includes a header
# showing indexes and waveform table

[Signal1 Signal2     Signal3     Clock]
0          1           1           T
0          1           1           T
0          0           0           T
0          0           1           T

The final example is the most dense, but has exactly the same meaning as the previous one, except the signal list must be provided via the API (and the comment has been left out).

011T
011-
100-
101-

See STIL Components for more information on how to use the STIL Components.


Active Sites

Active Sites

Active Sites are dynamic repeated capabilities and have the functions and attributes described in Dynamic Repeated Capabilities. Active Sites differ slightly in that when they are created, they also reserve various resources and initialize various hardware.

An Active site is created by calling an Activate function and passing it a site, which is a STIL component. The site contains a list of hardware channels and optionally other resources such as trigger paths. When a site is activated, a dynamic repeated capability is created that is used to perform operations on that site. The name for the dynamic repeated capability is the site name. For instance, to make PPMU measurements, a site is defined that contains the necessary channels, then that site is activated for PPMU measurements. Once activated, conventional repeated capabilities functions and attributes can be used to perform PPMU measurements on those sites.

The KtMDsr driver supports the following kinds of active sites:

Active Site | Usage
PPMU A site is activated for PPMU measurements in order to perform various analog measurement and analog stimulus operations. This includes selecting a forcing function such as voltage, current, or none, and selecting a simultaneous measurement function which is voltage, current, or none.

See the PpmuSites attribute for more information.

Pattern A PatternSite has the functions and attributes necessary to control the execution of a test pattern. This includes operations that are used to run the pattern, monitor its execution, and modify the pattern in cache memory so it can be modified between runs.

To activate a pattern, both a site and a pattern specification are provided. The driver implementation must compile a pattern for a specific site, then download it to the module. Since this can be a relatively slow operation for large patterns, functions are provided in the pattern site for loading a pre-compiled pattern site, and for activating a pattern site that has been stored in cache memory on the module.

See the PatternSites attribute for more information.

Static A StaticSite provides a way to programmatically set the logical values of the signals in a site. The site, by definition, maps the signals to physical channels. This gives the opportunity to programmatically write the values to each channel. There are two primary utilities of StaticSite:
  • Verifying the physical connections and software configuration of a pattern site. By using the static site methods to read and write the signals, it is possible to verify the connectivity without the overhead of creating a pattern. This permits verifying the mapping of signals to the module outputs and inputs, including the software layers and the physical wiring.
  • Utilizing extra bits on the module for programmed IO when there are leftover bits not being used for pattern IO or PPMU.
Capture | CaptureSites provide a straightforward mechanism to capture data in the DSR. They are similar to a pattern site except that no pattern definition is required. Instead of a pattern definition, a capture site requires only the timing information for the site (in terms of a WaveformTable block), the DC Levels for the site (in terms of a DcLevel block), and the amount of time to operate the capture.

Transitioning Between Active Sites

When PPMU, pattern, capture, or static operations are completed on a site, the channels can be released for use on another site by calling one of two functions.

The InactivateAndDisable function releases the channels and places each channel in a disabled state (similar to the IVI Disable functions). That is, the drive on all channels is shut off.

The Inactivate function releases the channels, but does not change their state. This is useful if a signal needs to be retained between different operations. For instance, an application may execute a digital pattern to configure a DUT, then transition to making PPMU measurements without causing unwanted signal transitions on the DUT inputs.

Once a site has been inactivated, yet retaining the signal states, individual channels from the site may be used in other sites. Channels that are not used in other sites will continue to retain the settings they had when Inactivate was called. Note that the signal lines will not be driven until the new active site defines a signal level. For PatternSites and CaptureSites, this occurs when Initiate is called. For Static sites, this occurs when one of the write functions is called. For the PPMU, this occurs when one of the force functions is called.

The EndBehavior for pattern site and capture site are respected after the Inactivate function is called. Thus, clocks can be continuously generated while other channels are used for PPMU measurements or pattern or static operations.

When a channel transitions from being driven from a previous setting (because it was Inactivated and not disabled) to a new setting, the transition may pass through some intermediate values. The transition behaves as follows:

  • If the level being driven from the previous operation is the same as the target level, the transition will not disturb the signal. Therefore if transitioning between sites that use DC Levels to define the signal levels, and if using the same DC Levels block, the transitions will not disturb the signals.
  • If different DC Levels are specified between the sites, the new DC Levels settings are applied before new digital data is applied. If the old digital level is different from the new digital level, this can result in an intermediate level appearing.
  • If the transition is from the PPMU to a site controlled with DC Levels, the DC Levels settings are applied before new digital data is applied — but before the PPMU is disabled. This momentarily activates both drive signals, resulting in a step occurring during the transition from one level to the next.
  • If the transition is from a site controlled with DC Levels to the PPMU, the PPMU is turned on before the DC Levels are withdrawn. This can result in a step occurring during the transition from one level to the next.

Common Operations on Active Sites

An active site is programmed very similarly to a conventional dynamic repeated capability. The differences are:

  • The active site is created with an Activate call (or one of the special activate call for the pattern sites). The activate site name is then the name of the site itself; a new name is not created.
  • When the application is done with the active site and the channels are to be used for other operations, the site is Inactivated rather than Removed. When a site is Inactivated, the site definition will still exist by the same name; however, the active site will no longer exist.
  • In addition to Inactivate, active sites have a function called InactivateAndDisable. It performs an inactivate operation and also disables the signals in the site. That is, the drive is turned off and each channel is put into a high impedance state.

Changes made to the site or other STIL components that define the site at the time of activation do not affect an activated site. The settings are all consulted when the site is activated; however, once the site is activated, subsequent changes make no difference.


PatternSites Overview

PatternSites Overview

PatternSites operate the pattern execution hardware on a specified site. The pattern definition includes symbolic signals and triggers; the site maps those signals and triggers to physical DSR channels and trigger sources. Once the pattern is activated, the PatternSite functions and attributes control the execution of the pattern on the DSR hardware.

The PatternSite Sequence page shows a typical sequence for a PatternSite program.

To execute the pattern, a site must first be activated by calling one of the activate functions. The activate functions indicate the pattern to be generated and the site on which to generate it. Once activated, the site block name is passed to the Item function to get a pointer to access the various functions that control the pattern generator. When the site is activated, the channels are locked for these pattern operations until either Inactivate or InactivateAndDisable is called. The triggers are not locked since a trigger event may be used on multiple sites.

The site is defined using the Sites interface. The site definition provides a list of channels and ordinals for each channel. The ordinal establishes how data regarding each signal is packed into integers for the pattern site

The Keysight DSR module can be used in single-site mode or multi-site mode. In multi-site mode, independent PatternSites and CaptureSites can be active simultaneously on each of the four banks. In the case where a site spans more than one bank or in the case where the M9195B-S04 Multi-site enabled option has not been purchased, only single-site mode is available, meaning that only one site can be active at one time. However, the single site can span up to 16 channels.

The four banks are composed of the following channels:

IO bank | Channels | Note
Bank 0 | High speed channels 0-3, and high voltage channel 20 | Channel 2 is unavailable when using high voltage channel 20
Bank 1 | High speed channels 4-7, and high voltage channel 21 | Channel 6 is unavailable when using high voltage channel 21
Bank 2 | High speed channels 8-11, and high voltage channel 22 | Channel 10 is unavailable when using high voltage channel 22
Bank 3 | High speed channels 12-15, and high voltage channel 23 | Channel 14 is unavailable when using high voltage channel 23

After the pattern has been executed and the channels must be activated for another application such as the PPMU or static site, Inactivate or InactivateAndDisable must be called to release the channels for use by another operation. Inactivate releases the channels without changing the signal levels on the channel. This permits the channels to be used in other ways, such as to generate another pattern or make PPMU measurements without ever glitching the signal lines.

InactivateAndDisable inactivates the channels and in addition sets them to a quiescent state (high output impedance).

For information on using active sites, see Active Sites.

Activating a PatternSite and the Pattern Cache

To activate a site for pattern execution, the pattern definition and site are required. The simplest function to do this is the Activate function which takes the name of a Site block, a PatternExec block, and the edge placement resolution. The PatternExec block provides a complete definition of the pattern, including DC levels, multiple patterns containing stimulus and response values (PatternBurst), and timing information (WaveformTables).

The ActivatePattern function provides a way to activate a pattern without creating the STIL components for the PatternExec and PatternBurst. The ActivatePattern function takes a single Pattern and DcLevels block. This provides a somewhat simpler approach, requiring only that those three blocks be defined. However, this approach is less flexible. Since ActivatePattern accepts only a single Pattern, multiple patterns cannot be executed with ActivatePattern.

When a pattern is activated using Activate or ActivatePattern, the pattern definition is compiled into the internal format used by the hardware, then the compiled format is downloaded to the hardware. This can take a substantial amount of time. For time critical applications, it is desirable to minimize the amount of time spent to compile and download patterns to the instrument.

There are two mechanisms provided to minimize the test time. First, the compile time can be saved by pre-compiling the pattern and storing it on the computer file system. The second mechanism downloads compiled patterns to the on-board pattern cache where they can be executed repeatedly without any recompile or download overhead.

For every case, the DSR software must have the target site and the EdgePlacementResolution to be able to compile a pattern. The target site is used to arrange the signals onto the appropriate pins, and the EdgePlacementResolution sets the basic resolution used to produce the timings specified in the WaveformTables.

The following functions are involved in the management of patterns:

Function | Purpose
Activate | Compiles and temporarily downloads a PatternExec
ActivatePattern | Compiles and temporarily downloads a Pattern with DcLevels
CompilePatternExec | Compiles a PatternExec and either downloads or saves to file system
CompilePattern | Compiles a Pattern with DcLevels and either downloads or saves to file system
DownloadPatternToCache | Downloads a compiled pattern to cache for used by ActivateFromCache
ActivateFromCache | Activates a pattern stored in the pattern cache

The Abort function is used to stop execution.

Determining the EdgePlacementResolution

The EdgePlacementResolution is specified when a pattern is activated. The resolution may be set to Auto (EdgePlacementResolutionAuto) or by setting a specific value between 1 ns and 100 ns. This determines the frequency setting of internal clocks that establish the resolution and dynamic range for edge placement. Edge placement includes the generation of the period of the signal as well as the transition times specified within the period. Edge placement also determines the resolution and dynamic range of the StimulusDelay and ResponseDelayCompensation.

Edge placement resolution and waveform period are related. Refer to the Edge Placement Resolution topic for more details on edge placement resolution, including how edge placement resolution affects other times in a test.

Pattern Execution

The execution of a pattern follows this sequence:

Activate | The site is first activated using one of the activate functions. This may include a full compile and download, or the pattern may already be in cache. In any case, Activate locks the channels used in the pattern. Nothing changes on the physical ports of the device on Activate.
Initiate | At Initiate the pattern is prepared to execute. The settings for the initial clock period of the pattern are applied to the outputs. The DC Levels are also applied to the pins, so the output could change if DC Levels change or if the pins are changed from a PPMU level to a level set by the DcLevels.
Trigger occurs | If the TriggerMode is set to Immediate, execution will begin immediately after Initiate. If the TriggerMode is set to Triggered, the DSR will wait for the trigger specified with TriggerSource. An application program can verify that the Initiate functions are complete and the instrument is waiting for a trigger by reading the SequencerState which will indicate if the sequencer is waiting for a trigger.
Pattern executes | The pattern can execute without further management via the driver. However, if the pattern has included WatchLoop instructions to pace the execution, the API can satisfy those WatchLoop conditions by generating additional triggers.
Execution completes | The software can wait for execution to complete by calling WaitForAcquisitionComplete, or it can poll the status by calling QueryExecutionState. Once the execution is complete, TerminationReason can be read to determine details on the reason that execution terminated.
Optionally fetch results | If the test failed, or if it logged data, the reason for failure or the logged data can be read back using the Fetch functions.
Optionally Execute the pattern again | The pattern can be executed again by calling Initiate. Any results that have not been fetched will be cleared.

Pattern Execution Options

The following table summarizes the pattern execution options:

Option | Purpose
ConditionalLoopFailureMode | This controls the behavior of the pattern execution when a MatchLoop or WatchLoop counter expires. The pattern can either abort or continue to execute after the loop.
ConditionalLoopSuccessMode | This controls the behavior of the pattern execution when a MatchLoop or WatchLoop succeeds. This selects how the DSR behaves when the success condition is detected close enough to the end of the loop that it is not possible to exit without completing a pass through the loop after the success condition is detected.
WhatToLog | This controls what data is saved into the results. Either all compares are logged, only failing compares are logged, or only the first failing compare is logged. If only the first failing compare is being logged, execution is stopped asynchronously after the first failure is detected and logged. This logging mode is supported only on single-module instruments, not on multi-module instruments. See the WhatToLog property for a description of the different options for logging data.

Fetching Results

The results of the execution are packed into integer data. The results from the compares on each signal are mapped into the bit positions specified using the ordinal in the Site block. Fetch operations for both bytes and 16-bit words are provided to optimize memory usage when reading results.

FetchTrinary functions are included that indicate the state of the response signal when the failing compare occurred. The response signal will be in one of three states, low, high, or at a level that is above the low threshold and below the high threshold. The FetchTrinary operations use two bits for each signal to indicate if the compare failed, and if so, the state of the response signal from the DUT. The result is placed in a 32-bit integer, and each response signal occupies two adjacent bits in the result. Therefore, the bit positions in the result are two times the ordinal and two times the orginal plus 1.

The bit positions in the result are encoded as:

Result | Indicates
00 | There was either no compare on this bit, or the compare succeeded
01 | The compare failed and the response signal was low
10 | The compare failed and the response signal was between Vol and Voh
11 | The compare failed and the response signal was high

FetchSegment calls are provided that permit reading a chunk of the result data. These are useful to extract a portion of a response, when it is too large to manage in a single array, or when only a portion of it is of interest.

To capture data, set the waveform table compare operation to CompareLow and set the WhatToLog attribute to EveryCycleWithCompare. With this configuration, all low response levels are logged as a 0 and response levels greater than the low threshold are logged as a 1.

Altering Compiled Patterns

There are several applications that need to adjust a fixed pattern in some way. Generally, these adjustments could be done by recompiling a new pattern, but the overhead and complexity of creating an entire new pattern can be quite complex and may execute slowly.

The DSR provides the following mechanisms that can be used to adjust an existing pattern:

Function | Purpose
SetDcLevel | This changes a specified DC Level on a specified set of Signals. For instance, this is useful for shmooing.
SetSignal | This changes a specified single Signal data value over a series of clock periods. For instance, this is useful to change a data value in a serial protocol.
SetVector | This changes several Signal data values at a single clock period. For instance, this is useful to change a data value in a parallel protocol.
SetWaveformTable | This changes the WaveformTable at a single clock period. Using this, the timing of a single bit period can be adjusted.
ReevaluateDcLevels | DcLevels may be specified with strings from a pattern file (although the API uses numeric settings). These strings can be numeric expressions that include variable evaluation. This method uses the expression evaluator to evaluate the provided expression. This is useful when one or more variables are changed so that the expression is updated. Then the DC Levels are each re-evaluated based on the new variable settings. This is useful for shmoo testing since it allows a series of values to be adjusted as a part of moving a single control variable. Note that the same expression evaluator is used for DcLevels and WaveformTables, so a single control variable can be used to adjust both timing and amplitude, but both Reevaluate functions must be called.
ReevaluateVariables | The timing information in the waveform tables may be specified with strings from a pattern file (although the API uses numeric settings). These strings can be numeric expressions that include variable evaluation. This method uses the expression evaluator to evaluate the provided expression. This is useful when one or more variables are changed so that the expression is updated. Then the waveform tables are each re-evaluated based on the new variable settings. This is useful for shmoo testing since it allows a series of values to be adjusted as a part of moving a single control variable. Note that the same expression evaluator is used for DcLevels and WaveformTables, so a single control variable can be used to adjust both timing and amplitude, but both Reevaluate functions must be called.

For details information on selecting the EdgePlacementResolution and its impact on various DSR settings, see Edge Placement Resolution.
For information on acquiring results and other data collection, see Acquiring Results and Collecting Data.


PatternSite Sequence

PatternSite Sequence

This diagram shows a typical sequence to program and execute a PatternSite. Keysight recommends beginning with this sequence as you learn about PatternSites, then you can tailor the sequence to meet your specific needs as you explore other DSR capabilities.


Edge Placement Resolution

Edge Placement Resolution

The edge placement resolution determines the frequency setting of internal clocks that establish the resolution and dynamic range for edge placement. This includes generating the period of the signal, the transition times specified within the period, the resolution itself, and the dynamic range of the StimulusDelay and ResponseDelayCompensation.

The edge placement resolution is specified when a pattern site is activated. The client can either specify the edge placement resolution to use for pattern generation, or the client can have the DSR to automatically choose an edge placement resolution suitable for the digital test (that is, the PatternExec). The DSR generally chooses the smallest resolution that is able to produce the pattern. In some circumstances the value the DSR automatically chooses may not be an optimal choice, in which case it may be preferable to specify the edge placement resolution.

To specify that the DSR should select the edge placement resolution, set EdgePlacementResolutionAuto=True. To specify a specific value, EdgePlacementResolutionAuto must be set false, and the EdgePlacementResolution must be set to a value between 1 ns and 100 ns. Note that the resolution is specified as time (ns or us), not frequency (Hertz).

If the edge placement resolution is set to Auto, the DSR will choose either 1ns, 10ns, or 100ns for the edge placement resolution. It prefers the smallest value that can produce the pattern, but near boundaries it may choose the next larger value in order to provide more flexibility in pattern generation.

The DSR provides a tool for assisting in the selection of specific edge placement resolutions. That is the Edge Placement Optimizer tool available from the utilities menu on the SFP.

The edge placement resolution establishes the resolution to which various timing values are produced by the DSR. However, in some cases, the actual resolution of the setting may vary depending on other configuration values.

How the edge placement resolution affects various settings

The DSR produces the following times, based upon the edge placement resolution.

Time Usage
Waveform Table Settings The WaveformTables include both a Period, and the times for edges within the period. The edges all occur within the period, so the Period is the longest duration in the waveform table, and it establishes the resolution of the other settings.

When the Period is less than approximately 250 times the edge placement resolution, the period, and all of the edges within the waveform table are rounded to the nearest multiple of the edge placement resolution. That is, they are produced with a resolution of the edge placement resolution.

If the Period is greater than approximately 250 times the edge placement resolution, the resolution for this waveform table is decreased by an integral power of 2 until the Period can be produced. Other edges within this waveform table are produced to that same resolution.

Each waveform table within a test has its resolution independently calculated, so a single waveform table with large times and low resolutions will not impact other waveform tables.
Stimulus delay The stimulus delay is produced independently for each channel. The stimulus delay is primarily used to adjust the output timing of the DSR so that all output signals are synchronized when they arrive at the DUT. This is used to compensate for skew between the channels such as differences in cable length or signal path to the DUT.

The stimulus delay in implemented using two components. First, there are multi-tap delay lines that provide up to 1.3ns of delay with 50ps of resolution. Second, there is a digital delay based on the edge placement resolution.

If the edge placement resolution is less than 1.3ns, arbitrary values can be produced. For larger values of edge placement resolution, gaps will exist where a combination of the digital delay and the delay lines can not produce the specified times.
Response delay compensationn

The response delay compensation is used to compensate for the total transmission time from the DSR to the DUT and back. The response delay compensation is independent for each channel. It is used to align the responses from the DUT with the expected responses that are included in the complete digital test.

The response delay compensation is set to the total time for the DSR stimulus signals to propagate to the DUT, and then propagate back to the DSR. The stimulus delay is part of that total path and is included in the compensation time.

For instance, suppose a single channel has a 100ps stimulus delay, and all channels have a 10ns response delay compensation. The stimulus for that channel is delayed by 100ps so that events are aligned at the DUT. The total path for that channel will be 10.1ns but the other channels will have a 10ns delay.

The DSR is capable of measuring the response delay compensation for a cable. To do so, an unterminated cable is attached to the instrument and the MeasureAndApplyResponseDelayCompensation function is called. The values measured for the total cable delay are stored in the ResponseDelayCompensation settings for each cable channel.

Example

Consider a digital test that has a Period of 5 ns, and waveform table times at 1.25 ns and 2.5 ns.

  • If this waveform were produced using an edge placement resolution of 1.25 ns, each value would be hit precisely and arbitrary stimulus delays and response delay compensations could be produced.
  • However, if this same digital test were activated with an edge placement resolution of 1ns, the period would round to 4 ns, the first edge would round to 1 ns, and the 2.5 ns edge would round to 3 ns.
  • Clearly, 1 ns is a smaller resolution; however, a better signal is produced by using the slightly coarser edge placement resolution of 1.25 ns.


Acquiring Results and Collecting Data

Acquiring Results and Collecting Data

Acquiring Results and Data Collection

Several functions are available for reading results back from the DSR.

FetchResultByte | This is used when the result data fits in a single byte. Note that the width of the result data is established by the highest ordinal defined in the site.
FetchResultInt16 | This is used when the result data fits in a 16-bit integer. Note that the width of the result data is established by the highest ordinal defined in the site.
FetchResultSegmentByte | This permits fetching a subset of the collected data, but should only be used when the result data fits in a single byte. Note that the width of the result data is established by the highest ordinal defined in the site.
FetchResultSegmentInt16 | This permits fetching a subset of the collected data, but should only be used when the result data fits in a 16-bit integer. Note that the width of the result data is established by the highest ordinal defined in the site.
FetchTrinaryResult | FetchTrinaryResult is used when the data result represents a test failure, and the reason for the failure needs to be determined. This function returns 2-bits per channel and indicates if a failure occurred and if the input was low, high, or between the low and high thresholds.
FetchLineInformation | FetchLineInformation provides additional data about each result value. One of the above methods is used to fetch the result, then this function may be used to determine where in the pattern that data was collected, the time, the cross reference, and the duration since the pattern started executing.


PpmuSites Overview

PpmuSites Overview

PpmuSites operates the Per-pin Parametric Measurement Unit on a specified site. PPMU operations are conducted on each channel defined in the site; results are returned in arrays.

The site is defined using the Sites interface. The site definition provides a list of channels and ordinals for each channel. The ordinal establishes the location in the results array in which the results are placed. The Sites interface also associates a Signal with each channel; the Signal is not used by the PPMU functions.

PPMU site does not respect the direction specified for the Signals on the site. For example, if a Signal is defined as a DUT output, the PPMU may force that signal. This may be useful for DUT driver and receiver tests.

To use the PPMU, a site must first be activated by calling Activate with the site block name as the parameter. Once activated, the site block name is passed to the Item function to get a pointer to access the various PPMU functions. When the site is activated, the channels are locked for PPMU operations until either Inactivate or InactivateAndDisable is called.

Measurements are returned in arrays. The results for a given channel is returned at the index in the array specified in the Ordinal specified in the site. The array size is one more than the highest ordinal specified. For example, if the highest ordinal is 4, the array would be allocated with 5 doubles, indexed from 0 through 4. The array contains zero for any elements that do not have a channel mapped to them.

Inactivate and InactivateAndDisable release the channels for use by another operation. Inactivate does not change the signal levels on the channel. This permits the channels to be used in other ways, such as for pattern generation, without ever glitching the signal lines.

InactivateAndDisable inactivates the channels and in addition, sets them to a quiescent state (high output impedance).

The various force and measure operations are applied identically to each channel in the site. The order that operations are completed on the site is not guaranteed.

To complete an operation on a single channel, a site with only that channel must be defined.

See also Active Sites and Signal Direction.


StaticSites Overview

StaticSites Overview

StaticSites provides direct access to channels on a specified site by using reads and writes. StaticSite operations impact each channel defined in the site. StaticSite is useful for doing basic binary control of sites and also for validating fixtures and connectivity.

The site is defined using the Sites interface. The site definition provides a list of channels and ordinals for each channel. The ordinal maps the bit position between the read and write integers and the DSR channels. The Sites interface also associates a Signal with each channel; the Signal is only used to establish the signal direction.

To use the StaticSite, a site must first be activated by calling Activate with the Site block name as the parameter. Once activated, the Site block name is passed to the Item function to access the various StaticSite functions. When the site is activated, the channels are locked for StaticSite operations until either Inactivate or InactivateAndDisable is called.

Results are returned in integers. The value for a given channel is returned at the bit position in the integer specified by the Ordinal defined in the site.

The ordinal is limited to 31 for StaticSite operations since all channels are mapped to bits in an integer. There is no provision for controlling sites with more than 32 bits with StaticSites.

Inactivate and InactivateAndDisable release the channels for use by another operation.

  • Inactivate does not change the signal levels on the channel. The permits the channels to be used in other ways, such as for pattern generation, without ever glitching the signal lines.
  • InactivateAndDisable inactivates the channels and in addition, sets them to a quiescent state (high output impedance).

For information on using active sites, see Active Sites.


CaptureSites Overview

CaptureSites Overview

A CaptureSite provides a convenient mechanism to capture data on the DSR without defining a pattern. A CaptureSite is designed to capture data, but is also capable of simultaneously generating clocks and/or DC signals.

The capture operation is defined by a Site, a DC Levels block, a Waveform Table block and the RequestedResultCount. The capture is applied to a site in the same fashion as other DSR operations. The capture site automatically creates a pattern to perform the capture by:

  • Repeating the waveforms defined in the waveform table...
  • ...at the specified DC Level...
  • ...on the specified site...
  • ...the number of times indicated in the RequestedResultCount.

Setting | Purpose
Site | Specifies the signals that will be generated and the physical channels to which they are applied.
WaveformTable | Specifies how the data is collected. Each signal defined in the site specification must have one and only one waveform character defined. This waveform character is repeated the numer of times specified in the RequestedResultCount to capture the data. The waveform character is defined and interpreted the same as it is for pattern sites. To produce a clock, a waveform including two force operations is used. It is possible to include a waveform with a single force operation, in which case the specified DC level will be output during pattern capture.
DC Levels | The specified DC Levels block is applied to the signals in this site.
RequestResultCount | Specifies the number of times the waveforms defined in the waveform table are repeated. This is the number of result bits that will be acquired, presuming at least one of the waveforms defines a compare operation.

Additional controls, such as the edge placement resolution, Initiate and other run control and status behave identically to PatternSite.

For more information on active sites, see Active Sites.

Other useful information for CaptureSites may be found in Edge Placement Resolution and Acquiring Results and Collecting Data.


CaptureSite Sequence

CaptureSite Sequence

This diagram shows a typical sequence to program and execute a CaptureSite. Keysight recommends beginning with this sequence as you learn about CaptureSites, then you can tailor the sequence to meet your specific needs as you explore other DSR capabilities.


KtMDsr IVI-COM Driver

KtMDsr IVI-COM Driver

The KtMDsr driver includes a fully compliant IVI-COM driver. The topics in this section detail how to perform specific programming tasks using the IVI-COM interfaces available with the KtMDsr driver.

In This Section

Initializing the IVI-COM Driver

Presents the steps required to properly initialize the IVI-COM driver.

Accessing Instrument-Specific Functionality

Explains how to access the specialized functionality of the KtMDsr driver.

Using Simulation

Provides information on using the simulation capabilities of the driver.

Programming with the IVI-COM Driver in Various Development Environment

Demonstrates how the KtMDsr driver can be used in a various application development environments (ADEs).

Reference

Presents reference documentation for each IVI-COM method and property.


Initializing the IVI-COM Driver

[image]

KtMDsr IVI Driver Reference Keysight Technologies
Initializing the IVI-COM Driver

Initializing the IVI-COM driver proceeds in two steps. First, the IVI-COM driver must be instantiated and then the Initialize method is called. This topic explains these two steps along with the options available for each step.

Instantiating the IVI-COM Driver

There are two ways to instantiate the IVI-COM driver - direct instantiation using the specific driver name, and using the COM Session Factory. If the client application is to be interchangeable, then the COM Session Factory must be used and the driver must support an IVI instrument class. This driver supports NoClass. This component exposes a CreateDriver function that accepts a logical name for the driver. Instantiating the driver by name keeps the client program from having any dependencies on a specific driver and enables the application to be interchangeable but limited to the functionality of the IVI class. For more information, see the topic: How IVI Drivers Provide Interchangeability

If interchangeability is not necessary for a particular client application or the driver does not support an IVI instrument class, then you may instantiate the IVI-COM driver directly. The exact syntax for creating an instance of a COM component varies from language to language. For instance, the CreateInstance function can be used in C++ while the new operator is used in C# and Visual Basic.NET. In any event, the client application will have a direct reference to the specific driver, so the program would not be interchangeable. For many applications, this is perfectly acceptable and exposes the full functionality of the driver.

The examples below in the section describing the Initialize function will present both techniques for instantiating an IVI-COM driver.

Calling the Initialize Function

The IVI-defined Initialize method offers a variety of options and parameters that control fundamental aspects of the driver's behavior. It is critical to understand what options are available and how they impact driver operation.

ResourceName

The ResourceName parameter can be a logical name present in the IVI Configuration Store or a physical resource descriptor. If the ResourceName is a logical name, then additional options stored in the IVI Configuration Store will be loaded and processed. This allows client code to reuse driver option settings and to keep the driver code as concise as possible, by removing settings that can be stored in the IVI Configuration Store. It is important to note that any parameters or options passed directly to the Initialize function via the OptionString parameter (discussed below) override any settings found in the IVI Configuration Store.

Interface Physical Resource Descriptor Syntax
GPIB GPIB[board]::primary address[::secondary address][::INSTR]
Example: GPIB0::18::INSTR
ASRL ASRL[board][::INSTR]
Example: ASRL1::INSTR
TCPIP TCPIP[board]::host address[::LAN device name]::INSTR
Example: TCPIP0::127.0.0.1::INSTR
TCPIP TCPIP[board]::host address::port::SOCKET
Example: TCPIP0::127.0.0.1::5025::SOCKET
USB USB[board]::manufacturer ID::model code::serial number[::USB interface number][::INSTR]
Example: USB0::2391::291::SN_001001::INSTR
PXI PXI[bus]::device[::function][::INSTR]
Example: PXI8::0::0::INSTR
PXI PXI0::CHASSISchassis::SLOTslot[::FUNCfunction][::INSTR]
PXI0::bus-device[.function][::INSTR]

IdQuery

If this is enabled, the driver will query the instrument model and compare it with a list of instrument models that is supported by the driver. If the model is not supported, Initialize will fail with the E_IVI_ID_QUERY_FAILED error code.

Reset

This parameter is ignored, as the DSR is always reset upon initialization.

OptionString

The OptionString allows the user to pass optional settings to the driver. These settings override any settings that are specified in the IVI Configuration Store. If the IVI Configuration Store is not used (a resource descriptor is passed as the ResourceName instead of a logical name) then any setting that is not specified has a default value as specified by IVI.

Option Name | Description | Default
Simulate | Specifies whether or not the IVI specific driver simulates instrument driver I/O operations. If simulation is enabled, the specific driver functions do not perform instrument I/O. For output parameters that represent instrument data, the specific driver functions return simulated values. | false
DriverSetup | Specifies additional settings supported by the driver, but not defined by IVI. | ""

DriverSetup

This is used to specify settings that are supported by the driver but not defined by IVI. If the Options String parameter contains an assignment for the Driver Setup attribute, the Initialize function assumes that everything following 'DriverSetup=' is part of the assignment. The following settings are supported by the KtMDsr driver.

Option Name | Description | Default
Model | Instrument model to use during simulation. Must be one of the supported model strings as returned by the IviDriver.Identity.SupportedInstrumentModels property. | (default_model)
Trace | If true, output trace log of all driver calls to an XML file in the same directory as the application executable accessing the driver or as specified by the TraceName option. The log file may be viewed in your web browser. Beginning with Keysight IO Libraries Suite 16.0, driver trace messages may also be viewed with the IO Monitor utility. See IO Monitor help for details. | false
TraceName | If specified, sets the path and file name for the XML log file output when option Trace=true. It is not necessary to include the .xml extension with the name. Example: 'DriverSetup = Trace=true, TraceName=C:\Temp\TraceOut' If not specified, tracing generates a unique XML trace file name based on the date and time. A new file is created each time the driver is initialized with tracing enabled. | ""
TraceArray | If true, array parameter data is output to the trace log. | false
TraceArraySizeMax | Specifies the maximum number of elements to trace for array parameters. Requires option 'TraceArray=true'. | 10
TraceSizeMax | Specifies the maximum size of the trace log file in bytes. Once the file reaches this size, tracing will be turned off automatically by the driver. | 1000000
TraceSaveInterval | Specifies how often the driver should save trace data to the trace log file. The value is specified in minutes. | 1

Example 1 (no range checking, no state caching) - Instantiate with the COM Session Factory

Note: This example only applies to drivers that support an IVI instrument class. This driver supports: NoClass

The following code initializes the driver with default options, except for range checking and state caching which are turned off. Use of the COM Session Factory allows interchangability with other drivers supporting the same IVI class but limits functionality to the class.

C++ Copy Code Copy Code
#import "GlobMgr.dll" no_namespace
#import "IviDriverTypeLib.dll" no_namespace
#import "IviSessionFactory.dll" no_namespace

void main()
{
  try
  {
    // Create an instance of the driver using the session factory.
    // This code is interchangeable since no reference to the specific driver exists.
    IIviSessionFactory spFactory(__uuidof(IviSessionFactory));
    IIviDriverPtr spDriver = spFactory->CreateDriver(_T("MyLogicalName"));

    // Initialize the driver with no range checking and no state caching.  This will
    // also check the instrument ID to make sure it is supported and reset the instrument.
    spDriver->Initialize(_T("MyLogicalName"), VARIANT_TRUE, VARIANT_TRUE, _T("RangeCheck=false, Cache=false"));

    // Use the driver class compliant functionality...

    // Close the session
    spDriver->Close();
  }
  catch (_com_error&)
  {

    wprintf(e.Description(), e.ErrorMessage(), MB_ICONERROR);
  }
}

C# Copy Code Copy Code
using System;
using System.Runtime.InteropServices;
using Ivi.Driver.Interop;
using Ivi.SessionFactory.Interop;

public class App
{
  public static void Main(string[] args)
  {
    try
    {
      // Create an instance of the driver using the session factory
      // This code is interchangeable since no reference to the specific driver exists.
      IIviSessionFactory factory = new IviSessionFactoryClass();
      IIviDriver driver = (IIviDriver)factory.CreateDriver("MyLogicalName");

      // Initialize the driver with no range checking and no state caching.  This will
      // also check the instrument ID to make sure it is supported and reset the instrument.
      driver.Initialize("MyLogicalName", true, true, "RangeCheck=false, Cache=false");

      // Use the driver class compliant functionality...

      // Close the session
      driver.Close();
    }
    catch (Exception e)
    {
      Console.WriteLine(e.Message);
    }
  }
}

Example 2 (simulation) - Direct Driver Instantiation

The following code initializes the driver in simulation mode and specifies the model to simulate using direct instantiation. This exposes the full functionality of the KtMDsr driver.

C++ Copy Code Copy Code
#import "GlobMgr.dll" no_namespace
#import "IviDriverTypeLib.dll" no_namespace
#import "KtMDsr.dll" no_namespace

void main()
{
  try
  {
    // Instantiate the driver class directly
    IIviDriverPtr spDriver(__uuidof(KtMDsr)); // not interchangeable, using driver class name

    // Initialize the driver  in simulation mode.  Resource descriptor is ignored when Simulate=true.
    // This will also check the instrument ID to make sure it is supported and reset the instrument.
    spDriver->Initialize(_T("PXI8::0::0::INSTR"), VARIANT_TRUE, VARIANT_TRUE, _T("Simulate=true, DriverSetup= Model=M9195A_B"));

    // Use the driver ...

    // Close the session
    spDriver->Close();
  }
  catch (_com_error&)
  {
    wprintf(e.Description(), e.ErrorMessage(), MB_ICONERROR);
  }
}

C# Copy Code Copy Code
using System;
using System.Runtime.InteropServices;
using Ivi.Driver.Interop;
using Keysight.KtMDsr.Interop;

public class App
{
  [STAThread]
  public static void Main(string[] args)
  {
    try
    {
      // Instantiate the driver class directly
      IIviDriver driver = new KtMDsrClass(); // not interchangeable, using driver class name

      // Initialize the driver in simulation mode.  Resource name is ignored when Simulate=true.
      // This will also check the instrument ID to make sure it is supported and reset the instrument.
      driver.Initialize("PXI8::0::0::INSTR", true, true, "Simulate=true, DriverSetup= Model=M9195A_B");

      // Use the driver...

      // Close the session
      driver.Close();
    }
    catch (Exception e)
    {
      Console.WriteLine(e.Message);
    }
  }
}


Accessing Repeated Capabilities

[image]

KtMDsr IVI Driver Reference Keysight Technologies
Accessing Repeated Capabilities

This page provides information on the supported repeated capabilities and repeated capability names for the KtMDsr driver.

Repeated Capabilities

The KtMDsr driver supports the following repeated capabilities:

  • Pattern
  • WaveformTable
  • DcLevel
  • Site
  • SignalGroup
  • PatternExec
  • Signal
  • PatternBurst
  • CaptureSite
  • PpmuSite
  • StaticSite
  • PatternSite
  • MacroDef
  • Module
  • Trigger

All DSR repeated capabilities are Dynamic Repeated Capabilities, and do not have physical names since they are dynamic. For additional information on DSR repeated capabilities, see Dynamic Repeated Capabilities.

NOTE: Attempting to access a repeated capability instance that has been removed may generate an error that appears unrelated to the DSR module and your software, such as "Attempted to read or write protected memory." Other error messages are possible depending on your version of Visual Studio. These types of errors typically cannot be caught by a try-catch handler within your program. If your program generates an error that cannot be caught by a try-catch handler, check to see if your program is attempting to access a repeated capability instance that has been removed.

For a general explanation of repeated capabilities, see Repeated Capabilities.


Accessing Instrument-Specific Functionality

[image]

KtMDsr IVI Driver Reference Keysight Technologies
Accessing Instrument-Specific Functionality

As the name implies, the instrument-specific capabilities are those methods and properties that are unique to the instrument. In practice, the instrument-specific portion of the driver exposes the full functionality of the instrument - including functionality that may also be available in the class-compliant capabilities. Users that do not care about interchangeability or that need to access functionality that is not defined by IVI will use the instrument-specific interfaces in application programs.

When to use the instrument specific interfaces

  • When the required functionality is not exposed in the class-compliant interfaces.
  • When interchangeability is not a requirement.
  • When performance is critical. Sometimes a driver may perform better using the instrument specific interfaces because they match the instrument functionality more closely than the class-compliant interfaces.

Example

The following client code uses the instrument specific interfaces.

C++ Copy Code Copy Code
#import "IviDriverTypeLib.dll" no_namespace
#import "KtMDsr.dll" no_namespace

void main()
{
  try
  {
    // Instantiate the driver class directly
    IKtMDsrPtr spDriver(__uuidof(KtMDsr));

    // Initialize the driver
    spDriver->Initialize(_T("PXI8::0::0::INSTR"), VARIANT_TRUE, VARIANT_TRUE, _T(""));

    // Use instrument specific interfaces...
    spDriver->Output->Enabled = VARIANT_TRUE;

    // Close the session
    spDriver->Close();
  }
  catch (_com_error&)
  {
  }
}
C# Copy Code Copy Code
using System;
using System.Runtime.InteropServices;
using Ivi.Driver.Interop;
using Keysight.KtMDsr.Interop;

namespace ClientApp
{
  public class App
  {
    [STAThread]
    public static void Main(string[] args)
    {
      try
      {
        // Instantiate the driver class directly
        IKtMDsr driver = new KtMDsrClass();

        // Initialize the driver
        driver.Initialize("PXI8::0::0::INSTR", true, true, "");

        // Use instrument specific interfaces...
        driver.Output.Enabled = true;

        // Close the session
        driver.Close();
      }
      catch (Exception e)
      {
        Console.WriteLine(e.Message);
      }
    }
  }
}


Using Simulation

[image]

KtMDsr IVI Driver Reference Keysight Technologies
Using Simulation

An IVI driver can operate without the presence of an actual instrument by using simulation mode. When simulation is turned on, the driver performs no instrument communication, but attempts to generate results which allow client applications to reasonably execute. You can turn on simulation using either of the following two techniques:

  • Passing the "simulate=true" option string parameter to the Initialize method.
  • Setting the Simulate property to True.

The IVI-COM driver contains a Simulate property in the IIviDriverOperation interface. The IVI-C driver contains a corresponding Simulate attribute. Note that if you initialize an IVI-COM driver with simulation turned off you can later turn the simulation on. However, if you initialize an IVI-COM driver with simulation turned on, you will get an error (The simulation state cannot be changed) if you attempt to later turn it off. This is because you cannot initiate a live I/O session with an instrument after you have called the Initialize function.

Using The Option String

The fourth and last parameter to the Initialize method is the option string. See the help on Initialize for more details. To turn simulation on with the option string, include the following in the option string:

simulate=true

For example, the Initialize call in C# might look like this:

instr.Initialize("PXI8::0::0::INSTR", true, true, "Simulate=True");

When the simulate option is set True, the value of the resource descriptor parameter (the first parameter above) is ignored. This is because no I/O connection will be made with the instrument, as is required by IVI-3.1: Driver Architecture Specification.

The Driver Session Simulate Property

A DriverSession in the IVI Configuration Store contains properties for the same items which can be set with the option string parameter. The name of a DriverSession, or the name of a LogicalName which points to a DriverSession, can be used as the first parameter to Initialize. If the Simulate property in the DriverSession is true, the driver is initialized in simulation mode.

Changing the Instrument Model

Many drivers support more than one instrument model. These models are listed in the SupportedInstrumentModels property in the IIviDriverIdentity interface. Drivers will typically select one of these as the default model by creating a special type of entry in the IVI Configuration Store known as a Configurable Initial Settings. You can modify the Model value in the Configurable Initial Settings for the DriverSession of interest, or you can simply specify the model to simulate at runtime during the call to Initialize.

To have the driver simulate a specific model of your choosing, simply add the desired model to the DriverSetup string using the following special syntax:

Simulate=true, DriverSetup=Model=M9195A_B

The complete Initialize call becomes:

instr.Initialize("PXI8::0::0::INSTR", True, True, "Simulate=True, DriverSetup= Model=M9195A_B")

If you set the model to a value not supported by the driver, the driver reports an error.

Limitations of Simulation

Simulation is designed to allow the driver to be used without an instrument or any I/O software or hardware. However, simulation is not intended to fully emulate the instrument. There are some important differences you should be aware of:

  • Many instruments have status systems, and these are not live. For instance, you can set Enable and Transition registers but queries of Condition and Event registers will always return a fixed value, which is usually zero.
  • There often is no parameter range checking or coercion unless done in the driver. Most drivers depend on the instrument to perform range checking and coercion of parameter values. In simulation mode, this will not occur. For example setting a frequency parameter to 1E99 will be accepted without error in simulation where an instrument would return a "parameter out of range" error.
  • IIviDriverUtility::ErrorQuery() typically returns no error.
  • Measurement data is not live. Most data queries will return a fixed value or a small array of values.


Programming the IVI-COM Driver in Various Development Environments

Programming with the IVI-COM Driver in Various Development Environments

IVI-COM drivers are implemented using standard COM technology. Specifically, IVI-COM drivers support what are known as custom COM interfaces. To ensure compatibility with the broadest possible set of development environments, the IVI specifications restrict data types that can be used in an IVI-COM driver to a special set called oleautomation data types (also known simply as automation data types. Automation types were originally designed for Visual Basic but have since gained broad acceptance. Consequently, IVI-COM drivers can be used in a wide variety of development environments, namely, those that support custom oleautomation COM interfaces.

IVI-COM Drivers and .NET

Interop assemblies are used in .NET environments, such as C# and VB.NET, to access COM components. When installing an IVI-COM driver on a computer with the .NET Framework, the IVI specifications require an interop assembly be deployed and properly registered. The full path to the interop assembly for the KtMDsr driver is:

<IviInstallDir>\Bin\Primary Interop Assemblies\Keysight.KtMDsr.Interop.dll

The topics in this section provide detailed instructions on how to access and use IVI-COM drivers in a variety of popular development environments. Each topic includes a complete example of IVI-COM driver usage.

In This Section

Using C#

Provides instructions on using interop assemblies to access IVI-COM drivers.

Using Visual Basic.NET

Describes the process for importing interop assemblies into Visual Basic.NET and invoking methods and properties.

Using Visual C++

Explains how to import IVI-COM driver type libraries into C++ and use smart pointers to access methods and properties.

Using Keysight VEE Pro

Presents information on using the driver with Keysight VEE Pro.

Using LabVIEW

Provides an introduction to LabVIEW's special support of IVI-COM.

Using MATLAB

Presents information on using the driver with MATLAB.

Using Simulation

Presents information on using the simulation capabilities of the driver.


Using Visual C#

Using Visual C#

This section describes how to use the KtMDsr IVI-COM driver from Visual C#.

Referencing the Driver

In order to access any of the driver interfaces, the proper references to the driver DLL and at least one of the IVI DLLs (specifically, IviDriverTypeLib.dll) must be created.

  1. In solution explorer, right-click on References and select Add Reference.
  2. Click the COM tab.
  3. Select the following type libraries:
    • IviDriver 1.0 Type Library
    • IVI KtMDsr 2.3 Type Library
  4. Click the Select button and then OK.
  5. Each of the above type libraries should now appear under the References node in solution explorer.

All data types (interfaces and enums) are contained within namespaces. Usually the namespace-qualified name must be used, but the C# using statement allows the type name to be used directly.

C# Copy Code Copy Code
using Ivi.Driver.Interop;
using Keysight.KtMDsr.Interop;

Creating an Instance of the Driver

The driver can be instantiated by simply using the new operator directly on the driver class.

C# Copy Code Copy Code
KtMDsr driver = new KtMDsr();

Initializing the Driver

Calling Initialize will establish an I/O connection to an instrument (often referred to as an "I/O session") or setup the driver to work in simulation mode. Calling Close at the end of your program is required by the IVI specifications, else unpredictable driver behavior could result. Any resources held by the driver will not be properly released if Close is not called.

The driver is typically initialized using a resource descriptor, often a VISA resource descriptor, as shown below.

C# Copy Code Copy Code
driver.Initialize("PXI8::0::0::INSTR", false, false, "");
driver.Close();

Initializing Using Options

This example shows how IVI-defined initialization options and driver-specific options can be passed to the Initialize function.

For more details on Initialize, see the topic: Initializing the Driver

C# Copy Code Copy Code
// If true, this will query the instrument model and fail initialization
// if the model is not supported by the driver
bool idQuery = false;

// If true, the instrument is reset at initialization
bool reset = false;

// Setup IVI-defined initialization options
string standardInitOptions =
  "Cache=false, InterchangeCheck=false, QueryInstrStatus=true, RangeCheck=false, RecordCoercions=false, Simulate=false";

// Setup driver-specific initialization options
string driverSetupOptions =
  "DriverSetup= Model=M9195A_B, Trace=false";

driver.Initialize("PXI8::0::0::INSTR", idQuery, reset, standardInitOptions + "," + driverSetupOptions);

// Driver application code here...

driver.Close();

Accessing Methods and Properties

Each set of capabilities (inherent, class-compliant or instrument specific) is defined as a hierarchy of interfaces containing methods and properties. A property can return a pointer to another interface - this is how the hierarchy is built.

Note: The code below is for illustration only, may be from other drivers, and may not apply directly to this driver.

Simple Data Types

C# Copy Code Copy Code
// Set the value of a property
driver.Frequency.VoltageRange = 20.0;

// Get the value of a property
double voltageRange = driver.Frequency.VoltageRange;

// Set the value of a property (enum)
driver.Temperature.TransducerType = IviDmmTransducerTypeEnum.IviDmmTransducerTypeThermocouple;

// Read a value from a method (as a return value)
double measuredValue = driver.Measurement.Read(2000);

Strings

C# Copy Code Copy Code
// Get a string property
string description = driver.Identity.Description;

// Read a value from a method (as a return value)
string coercionRecord = driver.DriverOperation.GetNextCoercionRecord();

// Read a value from a method (as an out parameter)
string errMsg = null;
int errCode = 0;
driver.Utility.ErrorQuery(ref errCode, ref errMsg);

Arrays

The example below demonstrates calling a method with an array parameter marked as [out,retval].

C# Copy Code Copy Code
// Read an array of values, this returns a typed array
double[] measuredValues = driver.Measurement.ReadMultiPoint(5000);

// Iterate through the array
for (int i = 0; i < measuredValues.Length; i++)
{
  double measuredValue = measuredValues[i];
}

This example demonstrates passing an input array to a driver method. Note the use of the C# ref keyword.

C# Copy Code Copy Code
// Here we know in advance the exact size of the array
double[] frequencies = new double[3];
frequencies[0] = 10.0E6;
frequencies[1] = 12.0E6;
frequencies[2] = 14.0E6;

// An array input parameter takes a reference to an array
driver.ConfigureFrequencies(ref frequencies);

// Here we do not know in advance the size of the array
// so we use a resizable array
ArrayList valueList = new ArrayList();
valueList.Add(10.0E6);
valueList.Add(12.0E6);
valueList.Add(14.0E6);

// Create a fixed size array from the resizable array
double[] valueArray = (double[])valueList.ToArray(typeof(double));

// An array input parameter takes a reference to an array
driver.ConfigureFrequencies(ref valueArray);

Accessing Repeated Capabilities

IVI-COM drivers can support three different styles of repeated capabilities. This is discussed in the topic Repeated Capabilities. This section demonstrates repeated capability access for all three types of repeated capabilities.

Note: This driver may not use any or all types of repeated capabilites. The code below is for illustration only, may be from other drivers, and may not apply directly to this driver.

Accessing Collection-Style Repeated Capabilities

The following example demonstrates uses of the Item property to access a particular instance ("Trace1") of a Collection-style repeated capability. Note that C# requires a special syntax when using parameterized properties, such as the Item property. Specifically parameterized properties appear in C# as methods with "get_" prepended to the property name.

C# Copy Code Copy Code
IIviSpecAnTrace trace = specAn.Traces.get_Item("Trace1");

double[] measuredValues = trace.ReadY(25000);

Accessing Selector-Style Repeated Capabilities

The following example demonstrates how to access an instance named "Marker1" from a Selector-style repeated capability:

C# Copy Code Copy Code
IIviSpecAnMarker marker = specAn.Marker;

marker.ActiveMarker = "Marker1";
marker.Position = 1.2E9;
marker.Enabled = true;

Accessing Parameter-Style Repeated Capabilities

The following example demonstrates how to access an instance named "Channel1" from a Parameter-style repeated capability:

C# Copy Code Copy Code
IIviFgenFM fm = fgen.FM;

fm.set_Enabled("Channel1", true);
bool enabled = fm.get_Enabled("Channel1");

Complete Example

The following code demonstrates a simple console application that creates and initializes the driver, reads some properties, checks the instrument for errors, and closes the driver.

Complete, working example programs may be found by clicking the Windows Start Menu shortcut under:
All Programs, Keysight Instrument Drivers, IVI-COM-C Drivers, KtMDsr, Examples

C# Copy Code Copy Code
using System.Runtime.InteropServices;
using Ivi.Driver.Interop;
using Keysight.KtMDsr.Interop;

namespace ClientApp
{
  public class App
  {
    [STAThread]
    public static void Main(string[] args)
    {
      try
      {
        // Create driver instance
        KtMDsr driver = new KtMDsr();

        // Edit resource and options as needed.  Resource is ignored if option Simulate=true
        string resourceDesc = "PXI8::0::0::INSTR";

        string initOptions = "QueryInstrStatus=true, Simulate=true, DriverSetup= Trace=false";

        bool idquery = true;
        bool reset   = true;

        // Initialize the driver.
        driver.Initialize(resourceDesc, idquery, reset, initOptions);
        Console.WriteLine("Driver Initialized");

        // Print a few IIviDriverIdentity properties
        Console.WriteLine("Identifier:  {0}", driver.Identity.Identifier);
        Console.WriteLine("Revision:    {0}", driver.Identity.Revision);
        Console.WriteLine("Vendor:      {0}", driver.Identity.Vendor);
        Console.WriteLine("Description: {0}", driver.Identity.Description);
        Console.WriteLine("Model:       {0}", driver.Identity.InstrumentModel);
        Console.WriteLine("FirmwareRev: {0}", driver.Identity.InstrumentFirmwareRevision);
        Console.WriteLine("\nSimulate:    {0}\n", driver.DriverOperation.Simulate);

        // TODO: Exercise driver methods and properties

        // Check instrument for errors
        int errorNum = -1;
        string errorMsg = null;
        Console.WriteLine("");
        while (errorNum != 0)
        {
          driver.Utility.ErrorQuery(ref errorNum, ref errorMsg);
          Console.WriteLine("ErrorQuery: {0}, {1}", errorNum, errorMsg);
        }
      }
      catch (Exception ex)
      {
        Console.WriteLine(ex.Message);
      }
      finally
      {
        if (driver != null && driver.Initialized)
        {
          // Close the driver
          driver.Close();
          Console.WriteLine("Driver Closed");
        }
      }

      Console.WriteLine("Done - Press Enter to Exit");
      Console.ReadLine();
    }
  }
}

For additional programming information see the Getting Started Guide on the IVI Foundation website.


Using Visual Basic.NET

Using Visual Basic.NET

This section describes how to use the KtMDsr IVI-COM driver from Visual Basic.NET.

Referencing the Driver

In order to access any of the driver interfaces, the proper references to the driver DLL and at least one of the IVI DLLs (specifically, IviDriverTypeLib.dll) must be created.

  1. In solution explorer, right-click on References and select Add Reference.
  2. Click the COM tab.
  3. Select the following type libraries:
    • IviDriver 1.0 Type Library
    • IVI KtMDsr 2.3 Type Library
  4. Click the Select button and then OK.
  5. Each of the above type libraries should now appear under the References node in solution explorer.

All data types (interfaces and enums) are contained within namespaces. Usually the namespace-qualified name must be used, but the VB Imports statement allows the type name to be used directly.

Visual Basic Copy Code Copy Code
Imports Ivi.Driver.Interop
Imports Keysight.KtMDsr.Interop

Creating an Instance of the Driver

The driver can be initialized by simply using the new operator directly on the driver class.

Visual Basic Copy Code Copy Code
Dim driver As new KtMDsr

Initializing the Driver

Calling Initialize will establish an I/O connection to an instrument (often referred to as an "I/O session") or setup the driver to work in simulation mode. Calling Close is required by the IVI specifications, else unpredictable driver behavior could result. Any resources held by the driver will not be properly released if Close is not called.

The driver is typically initialized using a resource descriptor, often a VISA resource descriptor, as shown below.

Visual Basic Copy Code Copy Code
driver.Initialize("PXI8::0::0::INSTR", False, False, "")
driver.Close()

Initializing Using Options

This example shows how IVI-defined initialization options and driver-specific options can be passed to the Initialize function.

For more details on Initialize, see the topic: Initializing the Driver

Visual Basic Copy Code Copy Code
' If True, this will query the instrument model and fail initialization
' if the model is not supported by the driver
Dim idQuery As Boolean = False

' If True, the instrument is reset at initialization
Dim reset As Boolean = False

' Setup IVI-defined initialization options
Dim standardInitOptions As String = _
  "Cache=true, InterchangeCheck=false, QueryInstrStatus=true, RangeCheck=true, RecordCoercions=false, Simulate=false"

' Setup driver-specific initialization options
Dim driverSetupOptions As String = _
  "DriverSetup= Model=M9195A_B, Trace=false"

driver.Initialize("PXI8::0::0::INSTR", idQuery, reset, standardInitOptions + "," + driverSetupOptions)
driver.Close()

Accessing Methods and Properties

Each set of capabilities (inherent, class-compliant or instrument specific) is defined as a hierarchy of interfaces containing methods and properties. A property can return a pointer to another interface - this is how the hierarchy is built.

Note: The code below is for illustration only, may be from other drivers, and may not apply directly to this driver.

Simple Data Types

Visual Basic Copy Code Copy Code
' Set the value of a property
driver.Frequency.VoltageRange = 20.0

' Get the value of a property
Dim voltageRange As Double = driver.Frequency.VoltageRange

' Set the value of a property (enum)
driver.Temperature.TransducerType = IviDmmTransducerTypeEnum.IviDmmTransducerTypeThermocouple

' Read a value from a method (as a return value)
Dim measuredValue As Double = driver.Measurement.Read(2000)

Strings

Visual Basic Copy Code Copy Code
' Get a string property
Dim description As String = driver.Identity.Description

' Read a value from a method (as a return value)
Dim coercionRecord As String = driver.DriverOperation.GetNextCoercionRecord()

' Read a value from a method (as an out parameter)
Dim errMsg As String = ""
Dim errCode As Integer = 0
driver.Utility.ErrorQuery(errCode, errMsg)

Arrays

The example below demonstrates calling a method with an array parameter marked as [out,retval].

Visual Basic Copy Code Copy Code
' Read an array of values. This returns a typed array
Dim measuredValues() As Double = driver.Measurement.ReadMultiPoint(5000)

' Iterate through the array
Dim index As Integer
For index = 0 To (measuredValues.Length - 1)
  Dim measuredValue As Double = measuredValues(i)
Next

This example demonstrates passing an input array to a driver method.

Visual Basic Copy Code Copy Code
' Here we know in advance the exact size of the array
Dim frequencies(3) As Double
frequencies(0) = 10.0E6
frequencies(1) = 12.0E6
frequencies(2) = 14.0E6

' An array input parameter takes a reference to an array
driver.ConfigureFrequencies(frequencies)

' Here we do not know in advance the size of the array
' so we use a resizable array
Dim valueList As New ArrayList
valueList.Add(10.0E6)
valueList.Add(12.0E6)
valueList.Add(14.0E6)

' Create a fixed size array from the resizable array
Dim valueArray() As Double
valueArray = valueList.ToArray(GetType(Double))

' An array input parameter takes a reference to an array
driver.ConfigureFrequencies(valueArray)

Accessing Repeated Capabilities

IVI-COM drivers can support three different styles of repeated capabilities. This is discussed in the topic Repeated Capabilities. This section demonstrates repeated capability access for all three types of repeated capabilities.

Note: This driver may not use any or all types of repeated capabilites. The code below is for illustration only, may be from other drivers, and may not apply directly to this driver.

Accessing Collection-Style Repeated Capabilities

The following example demonstrates uses of the Item property to access a particular instance ("Trace1") of a Collection-style repeated capability:

Visual Basic Copy Code Copy Code
Dim trace As IIviSpecAnTrace = specAn.Traces.Item("Trace1")

Dim measuredValues() As Double = spTrace.ReadY(25000)

Accessing Selector-Style Repeated Capabilities

The following example demonstrates how to access an instance named "Marker1" from a Selector-style repeated capability:

Visual Basic Copy Code Copy Code
Dim marker As IIviSpecAnMarker = specAn.Marker

marker.ActiveMarker = "Marker1"
marker.Position = 1.2E9
marker.Enabled = true

Accessing Parameter-Style Repeated Capabilities

The following example demonstrates how to access an instance named "Channel1" from a Parameter-style repeated capability:

Visual Basic Copy Code Copy Code
Dim fm As IIviFgenFM = fgen.FM

fm.Enabled("Channel1") = true
Dim enabled As Boolean = fm.Enabled("Channel1")

Complete Example

The following code demonstrates a simple console application that creates and initializes the driver, reads some properties, checks the instrument for errors, and closes the driver.

Complete, working example programs may be found by clicking the Windows Start Menu shortcut under:
All Programs, Keysight Instrument Drivers, IVI-COM-C Drivers, KtMDsr, Examples

Visual Basic Copy Code Copy Code
Imports System
Imports System.Runtime.InteropServices
Imports Ivi.Driver.Interop
Imports Keysight.KtMDsr.Interop

Module ClientApp

  Sub Main()

    Try

      ' Create an instance of the driver
      Dim driver As New KtMDsr

      ' IIviDriverIdentity properties - Initialize not required
      Dim identifier As String = driver.Identity.Identifier
      Console.WriteLine("Identifier: {0}", identifier)

      Dim revision As String = driver.Identity.Revision
      Console.WriteLine("Revision: {0}", revision)

      Dim vendor As String = driver.Identity.Vendor
      Console.WriteLine("Vendor: {0}", vendor)

      ' Setup Resource Descriptor
      Dim resourceDesc As String = "PXI8::0::0::INSTR"

      ' Setup IVI-defined initialization options
      Dim standardInitOptions As String = _
        "Cache=false, InterchangeCheck=false, QueryInstrStatus=true, RangeCheck=false, RecordCoercions=false, Simulate=false"

      ' Setup driver-specific initialization options
      Dim driverSetupOptions As String = _
        "DriverSetup= Model=M9195A_B, Trace=false"

      driver.Initialize(resourceDesc, False, False, standardInitOptions + "," + driverSetupOptions)

      Try

        ' IIviDriverIdentity properties - Initialize required
        Dim instModel As String = driver.Identity.InstrumentModel
        Console.WriteLine("InstrumentModel: {0}", instModel)

        Dim instFirmwareRevision As String = driver.Identity.InstrumentFirmwareRevision
        Console.WriteLine("InstrumentFirmwareRevision: {0}", instFirmwareRevision)

        Dim instManufacturer As String = driver.Identity.InstrumentManufacturer
        Console.WriteLine("InstrumentManufacturer: {0}", instManufacturer)

        ' TODO: Exercise driver methods and properties

        ' Check instrument for errors
        Dim errorNum As Integer = -1
        Dim errorMsg As String = ""
        Console.WriteLine("")
        While (errorNum <> 0)

          driver.Utility.ErrorQuery(errorNum, errorMsg)
          Console.WriteLine("ErrorQuery: {0}, {1}", errorNum, errorMsg)

        End While

        Catch ex As COMException

          If ex.ErrorCode = IviDriver_ErrorCodes.E_IVI_INSTRUMENT_STATUS Then

            ' ErrorQuery should give us more information
            int errCode = 0;
            string errMsg = "";
            driver.Utility.ErrorQuery(errCode, errMsg)

            ' Print the error
            Console.WriteLine("Instrument Error: {0}, {1}", errCode, errMsg)

          Else

            ' Print the exception
            Console.WriteLine("Exception: {0}", ex.Message)

          End If

        End Try

        ' Close driver
        driver.Close()

      Catch e As Exception e

        Console.WriteLine(e.Message)

      End Try

      Console.WriteLine("Done - Press Enter to Exit")
      Console.ReadLine()

  End Sub

End Module

For additional programming information see the Getting Started Guide on the IVI Foundation website.


Using Visual C++

Using Visual C++

This section describes how to use the KtMDsr IVI-COM driver from Visual C++. The techniques presented in this section work for Visual Studio 6 and later.

Smart Pointer Wrapper Classes

There are many ways to use COM objects, such as IVI-COM drivers, from Visual C++. The easiest way is to use the #import statement. This special compiler directive automatically generates smart pointer wrapper classes for every interface in your IVI-COM driver. These wrapper classes greatly simplify the use of IVI-COM drivers in C++.

Smart pointer wrapper classes have the following benefits:

  • They provide a simple syntax for instantiating the driver (e.g. calling CoCreateInstance).
  • They automatically call AddRef and Release when needed.
  • They automatically call QueryInterface when navigating to different interfaces on the driver.
  • Method parameters marked as [out, retval] appear as the method return value type instead of an HRESULT.
  • Properties can be accessed as a property instead of using get_ and put_ accessor functions.
  • Methods and properties throw exceptions rather than requiring explicit checks against an HRESULT return code.
  • String parameters (BSTRs) are transformed into the _bstr_t smart string class, which can be initialized with ANSI or Unicode strings.

The code in this section uses smart pointer wrappers. The #import statement supports a variety of optional parameters to exercise more precise control over the wrapper generation and format. See the MSDN documentation on #import for more details.

Referencing the Driver

In order to access any of the driver interfaces, the proper references to the driver DLL and at least one of the IVI DLLs (specifically, IviDriverTypeLib.dll) must be created. Note that the order of the #import statements shown below is important. Compilation will fail if the order is incorrect, as there are dependencies between the types defined in the various DLLs.

GlobMgr.dll is required by drivers using VISA-COM I/O. Generally, SCPI based instrument drivers use VISA-COM and non-SCPI based modular instrument drivers do not. If required, you may have to add the path to GlobMgr.dll (<Program Files>\IVIFoundation\Visa\VisaCom) to your Visual Studio, Tools, Options, Projects and Solutions, VC++ Directories path for executable files.

C++ Copy Code Copy Code
#import "GlobMgr.dll" no_namespace  // VISA-COM I/O functionality
#import "IviDriverTypeLib.dll" no_namespace  // IVI inherent functionality
#import "KtMDsr.dll" no_namespace  // Instrument specific functionality

Creating an Instance of the Driver

Unlike most environments that support COM, C++ does not automatically initialize COM, so this must be done explicitly. If you fail to perform this step, then any attempt to make any COM-based call (such as instantiating the driver) will fail.

C++ Copy Code Copy Code
// Initialize COM, do this at the start of the program
HRESULT hr = ::CoInitialize(NULL);

// Uninitialize COM, do this at the end of the program
::CoUninitialize();

To instantiate the driver directly, pass in the CLSID of the specific driver using the __uuidof C++ keyword, as shown below:

C++ Copy Code Copy Code
IKtMDsrPtr spDriver(__uuidof(KtMDsr));

Initializing the Driver

Calling Initialize will establish an I/O connection to an instrument (often referred to as an "I/O session") or setup the driver to work in simulation mode. Calling Close at the end of your program is required by the IVI specifications, else unpredictable driver behavior could result. Simply releasing the driver object (which the wrapper classes automatically do for you) is not sufficient. The reference count of the driver will never reach zero if Close is not called.

For more details on the Initialize method, see the topic: Initializing the Driver

The driver is typically initialized using a resource descriptor, often a VISA resource descriptor, as shown below.

C++ Copy Code Copy Code
spDriver->Initialize(_T("PXI8::0::0::INSTR"), VARIANT_FALSE, VARIANT_FALSE, _T(""));
spDriver->Close();

Initializing Using Options

This example shows how IVI-defined initialization options and driver-specific options can be passed to the Initialize function.

C++ Copy Code Copy Code
// If VARIANT_TRUE, this will query the instrument model and fail initialization
// if the model is not supported by the driver
VARIANT_BOOL idQuery = VARIANT_FALSE;

// If VARIANT_TRUE, the instrument is reset at initialization
VARIANT_BOOL reset = VARIANT_FALSE;

// Setup IVI-defined initialization options
_bstr_t standardInitOptions =
  "Cache=false, InterchangeCheck=false, QueryInstrStatus=true, RangeCheck=false, RecordCoercions=false, Simulate=false";

// Setup driver-specific initialization options
_bstr_t driverSetupOptions =
  "DriverSetup= Model=M9195A_B, Trace=false";

spDriver->Initialize(_T("PXI8::0::0::INSTR"), idQuery, reset, standardInitOptions + _bstr_t(_T(",")) + driverSetupOptions);
spDriver->Close();

Accessing Methods and Properties

Each set of capabilities (inherent, class-compliant or instrument specific) is defined as a hierarchy of interfaces containing methods and properties. A property can return a pointer to another interface - this is how the hierarchy is built.

Note: The code below is for illustration only, may be from other drivers, and may not apply directly to this driver.

Simple Data Types

C++ Copy Code Copy Code
// Set the value of a property
spDriver->Frequency->VoltageRange = 20.0;

// Get the value of a property
double voltageRange = spDriver->Frequency->VoltageRange;

// Set the value of a property (enum)
spDriver->Temperature->TransducerType = IviDmmTransducerTypeThermocouple;

// Read a value from a method (as a return value)
double measuredValue = spDriver->Measurement->Read(2000);

Strings

It is important to correctly free the memory when reading or writing strings. Here the _bstr_t destructor takes care of freeing the memory when the object goes out of scope.

C++ Copy Code Copy Code
// Get a string property
_bstr_t description = spDriver->Identity->Description;

// Read a value from a method (as a return value)
_bstr_t coercionRecord = spDriver->DriverOperation->GetNextCoercionRecord();

// Read a value from a method (as an out parameter)
_bstr_t errMsg;
long errCode;
spDriver->Utility->ErrorQuery(&errCode, errMsg.GetAddress());

Arrays

The example below demonstrates calling a method with an array parameter marked as [out,retval]. This uses the CComSafeArray class to manage the memory automatically.

C++ Copy Code Copy Code
#include <atlsafe.h> // for CComSafeArray

// Read an array of values, this returns a raw SAFEARRAY pointer
SAFEARRAY* psaMeasuredValues = spDriver->Measurement->ReadMultiPoint(5000);

// Use the CComSafeArray smart data type, transferring memory ownership to it
// Memory will be freed when the smart data type goes out of scope
CComSafeArray<double> csaMeasuredValues;
csaMeasuredValues.Attach(psaMeasuredValues);

// Iterate through the array
for (long i = 0; i < (long)csaMeasuredValues.GetCount(); i++)
{
  double measuredValue = csaMeasuredValues.GetAt(i);
}

It is important to know that the CComSafeArray constructor and assignment operator make a copy of the SAFEARRAY. For arrays containing many elements, this must be carefully taken into consideration. The Attach and Detach functions do not perform copies and can often be used when one might have unnecessarily used the constructor or assignment operator.

The code below demonstrates some common mistakes made when using SAFEARRAYs and the CComSafeArray class.

C++ Copy Code Copy Code
#include <atlsafe.h> // for CComSafeArray

// DO NOT DO THIS, this will LEAK!
CComSafeArray<double> csaMeasuredValues = spDCPwr->Measurement->ReadMultiPoint(5000);

// DO NOT DO THIS, this will LEAK!
CComSafeArray<double> csaMeasuredValues(spDCPwr->Measurement->ReadMultiPoint(5000));

The following code demonstrates how to pass an array to a driver method.

C++ Copy Code Copy Code
#include <atlsafe.h> // for CComSafeArray

CComSafeArray<double> csaFrequencies;
csaFrequencies.Add(10.0E6);
csaFrequencies.Add(12.0E6);
csaFrequencies.Add(14.0E6);

// An array input parameter takes a SAFEARRAY**
spDriver->ConfigureFrequencies(csaFrequencies.GetSafeArrayPtr());

Accessing Repeated Capabilities

IVI-COM drivers can support three different styles of repeated capabilities. This is discussed in the topic Repeated Capabilities. This section demonstrates repeated capability access for all three types of repeated capabilities.

Note: This driver may not use any or all types of repeated capabilites. The code below is for illustration only, may be from other drivers, and may not apply directly to this driver.

Accessing Collection-Style Repeated Capabilities

The following example demonstrates uses of the Item property to access a particular instance ("Trace1") of a Collection-style repeated capability. Note that C++ requires a special syntax when using parameterized properties, such as the Item property. Specifically, square brackets must be used around the repeated capability Physical Name.

C++ Copy Code Copy Code
IIviSpecAnTracePtr spTrace = spSpecAn->Traces->Item[_T("Trace1")];

SAFEARRAY* psaMeasuredValues = spTrace->ReadY(25000);
CComSafeArray<double> csaMeasuredValues;
csaMeasuredValues.Attach(psaMeasuredValues);

Accessing Selector-Style Repeated Capabilities

The following example demonstrates how to access an instance named "Marker1" from a Selector-style repeated capability:

C++ Copy Code Copy Code
IIviSpecAnMarkerPtr spMarker = spSpecAn->Marker;

spMarker->ActiveMarker = _T("Marker1");
spMarker->Position = 1.2E9;
spMarker->Enabled = VARIANT_TRUE;

Accessing Parameter-Style Repeated Capabilities

The following example demonstrates how to access an instance named "Channel1" from a Parameter-style repeated capability:

C++ Copy Code Copy Code
IIviFgenFMPtr spFM = spFgen->FM;

spFM->Enabled[_T("Channel1")] = VARIANT_TRUE;
VARIANT_BOOL enabled = spFM->Enabled[_T("Channel1")];

Complete Example

The following code demonstrates a simple console application that creates and initializes the driver, reads some properties, checks the instrument for errors, and closes the driver.

Complete, working example programs may be found by clicking the Windows Start Menu shortcut under:
All Programs, Keysight Instrument Drivers, IVI-COM-C Drivers, KtMDsr, Examples

C++ Copy Code Copy Code
#import "GlobMgr.dll" no_namespace  // VISA-COM I/O funtionality
#import "IviDriverTypeLib.dll" no_namespace  // IVI inherent functionality
#import "KtMDsr.dll" no_namespace  // Instrument specfic functionality

void main()
{
  HRESULT hr = ::CoInitialize(NULL);

  try
  {
    // Create an instance of the driver.
    IKtMDsrPtr spDriver(__uuidof(KtMDsr));

    // Edit resource and options as needed.  Resource is ignored if option Simulate=true
    CString strResourceDesc = "PXI8::0::0::INSTR";

    CString strInitOptions = "QueryInstrStatus=true, Simulate=true, DriverSetup= Model=M9195A_B, Trace=false";

    VARIANT_BOOL idQuery = VARIANT_TRUE;
    VARIANT_BOOL reset   = VARIANT_TRUE;

    // Initialize the driver.
    spDriver->Initialize(LPCTSTR(strResourceDesc), idQuery, reset, LPCTSTR(strInitOptions));
    printf("Driver Initialized\n");

    try
    {
      // Print a few IIviDriverIdentity properties
      wprintf(L"Identifier:  %s\n", spDriver->Identity->Identifier.GetBSTR());
      wprintf(L"Revision:    %s\n", spDriver->Identity->Revision.GetBSTR());
      wprintf(L"Vendor:      %s\n", spDriver->Identity->Vendor.GetBSTR());
      wprintf(L"Description: %s\n", spDriver->Identity->Description.GetBSTR());
      wprintf(L"Model:       %s\n", spDriver->Identity->InstrumentModel.GetBSTR());
      wprintf(L"FirmwareRev: %s\n", spDriver->Identity->InstrumentFirmwareRevision.GetBSTR());

      // TODO: Exercise driver methods and properties

    }
    catch (_com_error& ex)
    {
      if (ex.Error() == E_IVI_INSTRUMENT_STATUS)
      {
        // ErrorQuery should give us more information
        long errCode;
        _bstr_t errMsg;
        spDriver->Utility->ErrorQuery(&errCode, errMsg.GetAddress());

        // Print the error
        wprintf(L"Instrument Error: %s\n", errMsg.GetBSTR());
      }
      else
      {
        // Print the exception
        wprintf(L"Exception: %s\n", ex.Description.GetBSTR());
      }
    }
    spDriver->Close();
  }
  catch (_com_error& e)
  {
    // There was some problem creating the driver or initializing it
    // There is no need to call Close() and we cannot call ErrorQuery()
    // because the driver is not initialized.
    wprintf(L"Exception: %s\n", e.Description.GetBSTR());
  }

  // Note that by this point all COM objects have been released
  // because all the smart pointers go out of scope at the end of
  // the outermost try block.
  // This is important, no COM calls can be made after CoUninitialize.
  ::CoUninitialize();
}

For additional programming information see the Getting Started Guide on the IVI Foundation website.


Using Keysight VEE Pro

Using Keysight VEE Pro

VEE Pro 9.0 or greater is required and includes features for easy use of IVI-COM drivers. VEE Pro provides access to the KtMDsr driver COM object using .NET interop references. You may use Keysight VEE Pro's help for general information on using IVI-COM objects in Keysight VEE Pro. Look in the index for the following topics: IVI, IVI-COM, Instrument Manager, Component Drivers

Referencing the KtMDsr IVI-COM Driver in VEE Pro

With VEE Pro 9.0 and above, it is recommended that you take advantage of the fully integrated and simplified "To/From IVI-COM" feature.

Open VEE Pro's Instrument Manager, if you have an instrument connected already, you can click the "Configure Drivers" button and VEE Pro will automatically search for the IVI-COM drivers installed on your machine. If an IVI-COM driver for your instrument is found, the "IVI-COM Driver" button will be enabled.

If you do not have an instrument connected, you can click on the "Properties" button and then the "Advanced" button, under the "IVI-COM" tab, select an IVI-COM driver or IVI-COM driver session in the drop-down list box. Click OK, and the "IVI-COM Driver" button will be enabled.

If you cannot find the driver in this list, it was not installed and registered properly. See Installation.

Creating an KtMDsr IVI-COM Driver Instance in VEE Pro

Open Instrument Manager again and select your instrument, click the "IVI-COM Driver" button. This will place an "To/From IVI-COM" object onto your workspace. Double click on the highlighted line, this will open a dialog to let you select the operations that you want to perform on the driver.

CreateInstance

Before you do anything else, double-click the first bolded operation, and click the OK button. This will add an operation to create an instance of the IVI-COM driver.

It is recommended that you use a global Declare Variable object for your driver instance object. This is more robust and provides easy access to your driver object throughout your program.

Initializing the Driver

Before you can do anything very interesting with an IVI-COM driver you must call its Initialize method. Double-click the second bolded operation. This will let you modify any initialization parameters.

ResourceName
This string identifies a particular instrument in the system. Its contents may be a VISA style string such as PXI8::0::0::INSTR.
IdQuery
This Boolean determines whether the driver interrogates the instrument about its identity and then verifies that the instrument is one suitable for the driver. The instrument model must be in the supported model list. If this parameter is False, the driver skips this verification.
Reset
This second Boolean determines whether the driver resets the instrument.
OptionString
The final parameter, a string, may set a number of driver properties. If the string is empty, the properties are set to default values or the values contained in the Configuration Store for this session.
Closing the Driver

You should always match your Initialize operation with the Close operation to release any resources. It is the third bolded operation in the "Select an Operation from" dialog.

Accessing Properties and Methods in VEE Pro

Now you can use the driver to program the instrument by accessing the driver's properties and methods. An IVI-COM driver is used the same way as other ActiveX objects are used in Keysight VEE Pro.

You can use a To/From IVI-COM object or you can use a formula box. For example, here is a To/From IVI-COM object. The first line creates an instance of the driver, the second line initializes the driver, the third line calls a method to clear the status, the fourth line sets a property to enable the display. The last line closes the driver.

The help file for the driver lists and explains all of the driver's methods and properties.

Descending the Interface Hierarchy in VEE Pro

An IVI-COM driver contains a hierarchy of interfaces. Many of the properties at the root are interface pointers.

So how does a VEE Pro program get to these members? From the To/From IVI-COM object, you see that this driver has a property called DriverOperation whose type is IIviDriverOperation. Now you can open up that tree node to discover all its methods and properties. Once you find the method or property that you want, double-click on it to do any editing and then the operation will be added to the To/From IVI-COM object.

These techniques for descending the interface hierarchy apply equally to the IVI inherent capabilities, class-compliant interfaces, and instrument-specific interfaces.

Keeping an Interface Pointer

If the program accesses many methods and properties in the same sub-interface or even uses the same method or property in a sub-interface many times, a more efficient programming technique is to create a reference to the interface. This efficiency becomes especially important if you are using DCOM to access the driver. If the program contains a formula box with:

A.DriverOperation.IoResourceDescriptor

Every time the code executes, Keysight VEE Pro queries the object for the DriverOperation property. While the time for this operation is very small when on the local machine, the time becomes measurable when done over a network.

To save this time, the program can hold a reference to the interface. A formula box would contain the line:

A.DriverOperation

The Result from this box is connected to formula boxes or .NET Operation Builders which use the DriverOperation interface. If this interface pointer is used many times, Keysight VEE Pro is saved from asking the driver for the same, static information that many times. That time saving becomes significant in a remote, DCOM environment.

Tip: to create a .NET Operation Builder for any .NET type, go to Device->.NET Operation Builder, click the Find toolbar button, and type in the type name or a part of the type name.

Handling COM Data Types in VEE Pro

Keysight VEE Pro can handle all COM automation data types. IVI-COM drivers are no exception and even purposely restrict the data types used by the driver to avoid any difficult programming tasks.

Boolean
The COM VARIANT_BOOL data type is used. Its value can be VARIANT_TRUE or VARIANT_FALSE.
Int32

The COM LONG data type is used for Int32 values.

Real64

The COM DOUBLE data type is used for Real64 values.

Text

The COM BSTR data type is used for text strings.

Array

The COM SAFEARRAY data type is for arrays.

Interface Pointer

An interface pointer's type is maintained by Keysight VEE Pro.

in, out parameters
Some parameters are declared to be both in and out. For these parameters, you must have an input and output for the parameter. The method call in the formula requires the keyword ByRef before these parameters. Two examples are ErrorQuery and SelfTest in IIviDriverUtility.

The formula box for doing an ErrorQuery would look like:

Further Information

To learn more about Using Keysight VEE Pro, visit:
http://www.keysight.com/find/vee.

For additional programming information see the Getting Started Guide on the IVI Foundation website.


Using LabVIEW

Using LabVIEW

National Instruments LabVIEW provides extensive support for COM components. Any COM component that restricts itself to automation data types (i.e. Visual Basic-compatible types) may be used directly from LabVIEW. Since all IVI-COM drivers use only automation data types, they can be used from LabVIEW in precisely the same manner as any other COM component.

There are two ways to access the KtMDsr IVI-COM driver in LabVIEW: using the Class Browser and using the IVI Class Driver VIs. This section discusses both techniques.

Using the LabVIEW Class Driver VIs

LabVIEW provides IVI Class Driver VIs that can be used to write interchangeable IVI applications. If interchangeability is the overriding requirement or if only the IVI-defined functions are needed in an application, then using the LabVIEW IVI Class Driver VIs is the preferred way to access the KtMDsr driver in LabVIEW. These VIs are located on the Functions palette under Instrument I/O -> IVI Class Drivers.

The COM Adapter

The IVI Class Driver VIs have the ability to load both IVI-COM and IVI-C drivers directly. If the driver includes an IVI-C wrapper, then the IVI Class Driver VIs

will load the KtMDsr driver as if it were a native IVI-C driver. No extra steps are required on the part of the developer.

If an IVI driver does not include an IVI-C wrapper, then the IVI Class Driver VIs can still be used to load the IVI-COM native driver directly. There are two requirements for the IVI Class Driver VIs to be used with a native IVI-COM driver:

  1. The NI IVI Compliance Package 3.2 (or later) must be installed.
  2. The IVI-COM adapter feature must be enabled when installing the NI IVI Compliance Package. Note: This feature is disabled by default, so you must explicitly enable it when installing.

The LabVIEW Class Browser

The most convenient way to access the instrument-specific features of an IVI-COM driver is to use the Class Browser. This feature is available in LabVIEW version 8.0 and later. The Class Browser presents an intuitive hierarchical view of all methods and properties in the driver - class-compliant and instrument-specific. From this hierarchical view, the LabVIEW developer can simply drag-n-drop methods and properties onto the block diagram and LabVIEW automatically creates the appropriately configured Invoke Node (for methods) or Property Node (for properties).

Building a Simple IVI Application in LabVIEW

This section provides step-by-step instructions for building a simple LabVIEW application with the KtMDsr IVI-COM driver.

Accessing the KtMDsr Driver from the Class Browser

The first step in building a LabVIEW application using an IVI-COM driver is to access the Class Browser and direct it to load the KtMDsr IVI-COM driver. From LabVIEW's perspective, the KtMDsr driver is simply a COM (aka "ActiveX") component. As such, it can be loaded via the ActiveX feature of the Class Browser.

To load the KtMDsr into the Class Browser

  1. From the View menu, choose Class Browser. The Class Browser window appears.
  2. From the Object Library combo box at the top, choose ActiveX and then Select Type Libraries... The system will likely pause for several seconds as LabVIEW scans your system for all installed COM components.
  3. From the Select Type Libraries dialog box that appears, check the checkbox labeled "IVI KtMDsr 2.3 Type Library Version 2.3" and click OK.
  4. From the Class combo box, select KtMDsrLib.IKtMDsr.
  5. The Properties and Methods window now displays the hierarchy of methods and properties available in the KtMDsr driver. The items with small blue dots are interface reference properties and allow you to navigate to sub-interfaces on the driver. Double-click on one of these, such as the System interface and the Properties and Methods window is updated to display the methods and properties of the sub-interface. To navigate back to the root of the hierarchy, click on the System hyperlink in the Selected property or method textbox near the bottom.

Initializing the Driver

The two main LabVIEW primitives required to access IVI-COM driver methods and properties are the Invoke Node (for methods) and the Property Node (for properties). Conveniently, the Class Browser automatically creates and configures these nodes for you.

Before any Invoke Node or Property Node can execute on the IVI-COM driver, it must be instantiated. This is accomplished using the Automation Open VI from the ActiveX palette. The following procedure explains how to instantiate and initialize the driver.

To instantiate and initialize the KtMDsr driver

  1. From the Class Browser, choose the Initialize node from the hierarchy displayed in the Properties and Methods window. Drag-n-drop the node onto the block diagram.
  2. The Automation Open VI is used to instantiate the IVI-COM driver before executing the Initialize function. Right-click on the Initialize Invoke Node just at the top left corner at the reference input, and select ActiveX Palette and then Automation Open. This creates the Automation Open VI. Make sure the Automation Refnum output of the Automation Open VI is wired to the reference input of the Initialize Invoke Node. Also, make sure the error clusters of the two VIs are wired together.
  3. The Automation Open VI requires an input control. Right-click on the Automation Refnum input of the Automation Open VI and choose Select ActiveX Class and then choose Browse.
  4. From the Type Library combo box at the top, choose "KtMDsr Version 2.3". Expand the KtMDsr node and choose IKtMDsr (the first interface under the expanded node). Click OK.
  5. LabVIEW creates an Automation Refnum input control and wires it to the Automation Open VI. Make sure the error clusters of the two VIs are wired together.
  6. At this point, the VI will not compile since some of the required inputs of the Initialize Invoke Node have not be supplied. Right-click on the ResourceName input of the Initialize Invoke Node and choose Create and then Constant. LabVIEW places a constant string on the diagram and wires it to the ResourceName input. In the string constant created, enter the appropriate VISA resource descriptor for connecting to the instrument.
  7. Right-click on the IdQuery input of the Initialize Invoke Node, choose Create and then Constant. LabVIEW creates a constant boolean wired to the IdQuery input. Repeat this process with the Reset input.
  8. At this point, the application is executable. LabVIEW will instantiate the KtMDsr IVI-COM driver and call the Initialize function. However, we must properly close the IVI-COM driver. We must also have the ability to read and write driver properties. These final tasks are covered in the next sections.

Reading and Writing Properties

Once the driver has been instantiated with the Automation Open VI and the Initialize function executes, any method or property on the KtMDsr driver can be invoked. The previous sections explained how to call the Initialize method. Other driver methods are accessed in precisely the same fashion.

This section explains how to read and write driver properties.

To access properties on the KtMDsr driver

  1. From the Class Browser, choose any property from the hierarchy displayed in the Properties and Methods window. Drag-n-drop the node onto the block diagram.
  2. LabVIEW creates a Property Node for that property on the diagram. Wire the reference out terminal of the Initialize Invoke Node to the reference input terminal of the Property Node. Also, wire the error clusters together.
  3. By default, the Property Node is configured to read a driver property, as indicated by the small arrow on the right side of the node's terminal. Right-click on the Property Node terminal and select Create and then choose Indicator. This places an output indicator on the diagram and wires it to the Property Node. This reads the value of the selected property from the driver and present it in the indicator.
  4. To use a Property Node to write a property value to the driver, simply right-click on the Property Node and choose Change to Write. This reconfigures the Property Node to be a "setter" node, as indicated by the re-positioning of the small arrow to the left side of the node terminal.
  5. A single Property Node can be used to read and write multiple properties. This is accomplished by resizing the Property Node vertically. Move the cursor over the node and resizing handles appear at the top and bottom of the node. Use the resizing handles to drag the border of the node down to display additional terminals.
  6. To configure a specific terminal to access a particular property, right-click on a terminal and choose Select Property.... This brings up an additional Class Browser window, from which you can select the desired property. You can configure individual terminals to read or write by right-clicking the specific terminal and choosing Change To Read or Change To Write as appropriate. Note that multi-terminal Property Nodes execute in order from top to bottom.

Closing the Driver

To complete a LabVIEW application using the KtMDsr driver, it is important to properly close the driver. If the driver is not properly closed, unexpected behavior and resource leaks could result. Moreover, it is important to understand when to close the driver. If multiple VIs within an LabVIEW application need to access the driver, the instantiation and initialization of the driver is typically done in a dedicated VI as is the close operation described in this section. You generally do not open, access, and close an IVI-COM driver within a single LabVIEW VI. Nevertheless, the procedure described here applies to a single VI application and to applications that share a driver instance.

To close the KtMDsr driver

  1. From the Class Browser, choose the Close node from the hierarchy displayed in the Properties and Methods window. Drag-n-drop the node onto the block diagram.
  2. Wire the reference out terminal of the last Invoke Node or Property Node in your VI to the reference input of the Close Invoke Node. Also, wire the error clusters together.
  3. Executing the Close method on the driver instructs the driver to release any resources it is holding. It does not, however, tell LabVIEW to dispose of the driver instance. This is accomplished with the Close Reference VI.
  4. Right-click on the reference out terminal of the Close Invoke Node and choose ActiveX Palette and then select Reference Close.
  5. Wire the reference out terminal of the Close Invoke Node to the reference input of the Close Reference VI.
  6. Your simple LabVIEW application using the KtMDsr driver is now complete.


Using MATLAB

Using MATLAB

MATLAB provides rich support for building applications with IVI-COM drivers. Special preconfigured MATLAB classes allow you to access IVI-defined functionality. In addition, for accessing instrument-specific functionality, the KtMDsr driver includes a MATLAB wrapper file that is automatically installed by the KtMDsr driver installer at the following location:

    • For 32 bit platform : \Program Files\IVI Foundation\IVI\Components\MATLAB
    • For 64 bit platform : \Program Files (x86)\IVI Foundation\IVI\Components\MATLAB

Requirements for Using the KtMDsr in MATLAB

The following components are required to be installed (at the time the KtMDsr driver installer runs), in order to use the KtMDsr driver in MATLAB:

  • MATLAB R2012b (32-bit Version only) for both 32 bit and 64 bit platforms
  • MATLAB Instrument Control Toolbox

Accessing Class-Compliant Functionality

Access to class-compliant functionality in an IVI driver is provided by the MATLAB Class objects. You use the appropriate MATLAB Class to create an instrument object. These classes are located in the instrument.ivicom package.

Note: If the class is listed as 'NoClass' below, this driver does not support an IVI instrument class and this section may be disregarded.

The following code demonstrates how to access the 'NoClass' class supported by the KtMDsr driver.

driver = instrument.ivicom.NoClass(‘MyLogicalName’);

Note that in addition to using the logical name to identify the driver to use (as shown in the example above), you can also use the session name or the software module name. Please see the topic Configuring the Driver for information on these additional identifiers.

Accessing Instrument-Specific Functionality

In order to access the instrument-specific functionality of the KtMDsr driver, the driver must be directly referenced. Note that directly referencing the KtMDsr driver provides access to the class-compliant functionality as well. The class for the KtMDsr driver is located in the instrument.driver package.

The following code demonstrates how to directly access the KtMDsr driver.

driver = instrument.driver.KtMDsr();

The DeviceSpecific property is used to gain access to the instrument-specific methods and properties, as shown below.

driver.DeviceSpecific.System.WaitForOperationComplete(2000);

Complete Example

The following code demonstrates a simple console application that creates and initializes the driver, reads some properties, checks the instrument for errors, and closes the driver.

Complete, working example programs may be found by clicking the Windows Start Menu shortcut under:
All Programs, Keysight Instrument Drivers, IVI-COM-C Drivers, KtMDsr, Examples

MATLAB Copy Code Copy Code
    % Creates a driver object, reads a few Identity interface
    % properties, and checks the instrument error queue.
    %
    % Runs in simulation mode without an instrument.

disp(blanks(1)');
disp('  ML_Example1');
try

    % Create driver instance
    driver = instrument.driver.KtMDsr();

    % Edit resource and options as needed.  Resource is ignored if option Simulate=true
    resourceDesc = 'PXI8::0::0::INSTR';

    initOptions = 'QueryInstrStatus=true, Simulate=true, DriverSetup= Model=, Trace=false';
    idquery = true;
    reset   = true;

    driver.Initialize(resourceDesc, idquery, reset, initOptions);
    disp('Driver Initialized');

    % Print a few IIviDriver.Identity properties
    disp(['Identifier:      ', driver.Identity.Identifier]);
    disp(['Revision:        ', driver.Identity.Revision]);
    disp(['Vendor:          ', driver.Identity.Vendor]);
    disp(['Description:     ', driver.Identity.Description]);
    disp(['InstrumentModel: ', driver.Identity.InstrumentModel]);
    disp(['FirmwareRev:     ', driver.Identity.InstrumentFirmwareRevision]);
    disp(blanks(1));

    % TODO: Exercise 'DeviceSpecific' driver methods and properties
    % Example syntax: serNum = driver.DeviceSpecific.System.SerialNumber;

    % Check instrument for errors
    errorNum = -1;
    errorMsg = ('');
    disp(blanks(1)');
    while (errorNum ~= 0)
        [errorNum, errorMsg] = driver.Utility.ErrorQuery();
        disp(['ErrorQuery: ', num2str(errorNum), ', ', errorMsg]);
    end

catch exception
    disp(getReport(exception));
end

if driver.Initialized
    driver.Close();
    disp('Driver Closed');
end

disp('Done');
disp(blanks(1)');

Further Information

To learn more about using MATLAB with IVI instrument drivers, visit:
http://www.mathworks.com/ivi.


IVI-COM Reference

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IVI-COM Reference

The topics in this section document each method and property exposed from the IVI-COM driver. Both a hierarchical and flat view of the KtMDsr driver functionality are available, as is a listing of instrument command strings and their associated driver methods and properties.

In This Section

Driver Hierarchy

Presents a hierarchical view of all driver methods and properties.

Driver Interfaces

Presents the driver functionality in a flat list of interfaces.

Errors and Warnings

Presents all driver errors and warnings.


IVI-COM Hierarchy

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IVI-COM Hierarchy

This section presents the functionality of the KtMDsr driver in hierarchical form. Each link below represents the root of a specific hierarchy exposed by the driver, such as the instrument-specific hierarchy, the inherent capabilities (IIviDriver) hierarchy, etc.

Hierarchies

Root Interface Name
IKtMDsr2
IIviDriver
Top


IKtMDsr2 Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr2 Interface
See Also

IKtMDsr2 interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsr2
   Inherits IKtMDsr
C#
public interface IKtMDsr2 : IKtMDsr
Visual C++
__interface IKtMDsr2 : IKtMDsr

Properties

 | Name | Description
Public property | Calibration | Pointer to the IKtMDsrCalibration interface. The functions and attributes in this interface are used to calibrate the module. See the Instrument interface for functions related to automatic corrections. (Inherited from IKtMDsr.)
Public property | Calibration2 | Pointer to the IKtMDsrCalibration interface. The functions and attributes in this interface are used to calibrate the module. See the Instrument interface for functions related to automatic corrections.
Public property | CaptureSites | Pointer to the IKtMDsrCaptureSites interface. This active site interface provides a simple set of functions and attributes to capture data without requiring that a pattern be created. (Inherited from IKtMDsr.)
Public property | Channels | Pointer to the IKtMDsrChannels interface. The Channels interface is used to control settings associated with specific channels, independent of its use for PPMU or patterns. (Inherited from IKtMDsr.)
Public property | Channels2 | Pointer to the IKtMDsrChannels interface. The Channels interface is used to control settings associated with specific channels, independent of its use for PPMU or patterns.
Public property | DcLevels | Pointer to the IKtMDsrDcLevels interface. This interface is used to configure amplitudes of the digital outputs and threshholds used for the digital inputs. (Inherited from IKtMDsr.)
Public property | DriverOperation | Pointer to the IIviDriverOperation interface. The IIviDriverOperation interface contains methods and properties that manage the operation of the driver. (Inherited from IIviDriver.)
Public property | Identity | Pointer to the IIviDriverIdentity interface which provides attributes that identify this version of the driver and the instrument to which it is connected. All attributes are read-only. (Inherited from IIviDriver.)
Public property | Initialized | True between the time of a successful call to the Initialize function and a successful call to Close function. False at all other times. (Inherited from IIviDriver.)
Public property | Instrument | Pointer to the IKtMDsrInstrument interface. This interface contains settings that impact the entire instrument and are not scoped to specific channels or sites. (Inherited from IKtMDsr.)
Public property | MacroDefs | Pointer to the IKtMDsrMacroDefs interface. This interface is used to specify the pattern that is used to define macros. (Inherited from IKtMDsr.)
Public property | Modules | Pointer to the IKtMDsrModules interface.
Public property | PatternBursts | Pointer to the IKtMDsrPatternBursts interface. The PatternBursts interface defines the sequence of Patterns that are executed by a PatternExec; it also defines the MacroDefs blocks to use when compiling the Patterns. (Inherited from IKtMDsr.)
Public property | PatternExecs | Pointer to the IKtMDsrPatternExecs interface. The PatternExecs interface defines the block that contains everything necessary to execute a pattern. This is made up of a PatternBurst and DcLevels block. (Inherited from IKtMDsr.)
Public property | PatternFile | Pointer to the IKtMDsrPatternFile interface. The PatternFile interface is used to load patterns that are defined in external files, either in STIL, OpenXML, or the KtMDsr Bulk Data format, and to store loaded data to a STIL file. (Inherited from IKtMDsr.)
Public property | Patterns | Pointer to the IKtMDsrPatterns interface. The Pattern interface is used to define the series of data values that are produced or expected by the DSR. (Inherited from IKtMDsr.)
Public property | PatternSites | Pointer to the IKtMDsrPatternSites interface. The PatternSites interface controls the execution of defined patterns. (Inherited from IKtMDsr.)
Public property | PatternSites2 | Pointer to the IKtMDsrPatternSites interface. The PatternSites interface controls the execution of defined patterns.
Public property | PpmuSites | Pointer to the IKtMDsrPpmuSites interface. (Inherited from IKtMDsr.)
Public property | SignalGroups | Pointer to the IKtMDsrSignalGroups interface. The SignalGroup interface permits defining a group so that several signals can be referenced with a single identifier. (Inherited from IKtMDsr.)
Public property | Signals | Pointer to the IKtMDsrSignals interface. The Signals interface is used to define or remove Signals. The repeated capability name, is the name of the signal defined. (Inherited from IKtMDsr.)
Public property | Sites | Pointer to the IKtMDsrSites interface. The Site defines the physical channel and ordinal assigned to each Signal in the pattern. The ordinal is the bit position or array index where that channel is mapped for StaticSite and PpmuSite operations. (Inherited from IKtMDsr.)
Public property | Sites2 | Pointer to the IKtMDsrSites interface. The Site defines the physical channel and ordinal assigned to each Signal in the pattern. The ordinal is the bit position or array index where that channel is mapped for StaticSite and PpmuSite operations.
Public property | StaticSites | Pointer to the IKtMDsrStaticSites interface. The StaticSite interface permits reading and writing digital values to channels. (Inherited from IKtMDsr.)
Public property | System | Pointer to the IKtMDsrSystem interface. The System interface provides general utility functions unique to the DSR. (Inherited from IKtMDsr.)
Public property | System2 | Pointer to the IKtMDsrSystem interface. The System interface provides general utility functions unique to the DSR.
Public property | TriggerEvent | The Triger Event interface contains the GenerateSoftwareEvents method used to generate software trigger events. (Inherited from IKtMDsr.)
Public property | Triggers | Pointer to the IKtMDsrTriggers interface.
Public property | Utility | Pointer to the IVI-standard IIviDriverUtility interface which provides the ability to reset the driver and execute self-test. (Inherited from IIviDriver.)
Public property | WaveformTables | Pointer to the IKtMDsrWaveformTables interface. (Inherited from IKtMDsr.)
Top

Methods

 | Name | Description
Public method | Close | Closes the session to the module. The module hardware and software resources used by the driver are released. Driver methods and properties that access the instrument are not accessible after Close is called. (Inherited from IIviDriver.)
Public method | Initialize | Opens a session with from one to twelve DSR modules. Performs a Reset and optionally queries the instrument to validate the model. After initialization, the DSR module(s) are accessible by the driver methods and properties. (Inherited from IIviDriver.)
Top

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Calibration Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr..::.Calibration Property
IKtMDsr See Also

Pointer to the IKtMDsrCalibration interface. The functions and attributes in this interface are used to calibrate the module. See the Instrument interface for functions related to automatic corrections.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Calibration As IKtMDsrCalibration
C#
public IKtMDsrCalibration  Calibration { get; }
Visual C++
HRESULT get_Calibration(
    IKtMDsrCalibration**  val
);

Remarks

For more information on the Calibration interface, see the Calibration Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsr Interface
Keysight.KtMDsr.Interop Namespace


Calibration2 Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr2..::.Calibration2 Property
IKtMDsr2 See Also

Pointer to the IKtMDsrCalibration interface. The functions and attributes in this interface are used to calibrate the module. See the Instrument interface for functions related to automatic corrections.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Calibration2 As IKtMDsrCalibration2
C#
public IKtMDsrCalibration2  Calibration2 { get; }
Visual C++
HRESULT get_Calibration2(
    IKtMDsrCalibration2**  val
);

Remarks

For more information on the Calibration interface, see the Calibration Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsr2 Interface
Keysight.KtMDsr.Interop Namespace


AdjustmentInformation Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCalibration2..::.AdjustmentInformation Property
IKtMDsrCalibration2 See Also

Read Only - A comma separated list of calibration adjustment information. Includes the calibration date and instrument identification. Returns an empty string if any of the modules in the current system have not been calibrated.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property AdjustmentInformation As String
C#
public string  AdjustmentInformation { get; }
Visual C++
HRESULT get_AdjustmentInformation(
    BSTR*  val
);

Remarks

The instrument identifier is a 10 character hash code followed by each module's model and serial number.

If the response is empty, it does not mean that the modules have not been calibrated, but that they haven't been calibrated as a set. Use Modules Calibration AdjustmentInformation to determine all the systems a particular module has been calibrated in.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrCalibration2 Interface
Keysight.KtMDsr.Interop Namespace


DueDate Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCalibration2..::.DueDate Property
IKtMDsrCalibration2 See Also

Read Only - The computed date of the next required instrument calibration. If the instrument is not subject to calibration, this will return "n/a". If the instrument is not calibrated this will return "unknown". If the instrument is calibrated this will return a date formatted for the current locale.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property DueDate As String
C#
public string  DueDate { get; }
Visual C++
HRESULT get_DueDate(
    BSTR*  val
);

Remarks

Computing the calibration due date takes several things into account:

  • User specified setting of 'EnablePeriodicCal'
  • User specified setting of 'InstrumentCalInterval' and 'ModuleCalInterval'
  • The calibration verification date of each module (if any)
  • The calibration verification date of the instrument
The instrument will be considered calibrated if either
  • Calibration.VerificationInformation is not empty
  • At least one module has a calibration verification date and EnablePeriodCal=true and all other modules in the instrument have either
    • a calibration verification date
    • EnablePeriodicCal=false

The instrument uses the EnablePeriodicCal and InstrumentCalInterval settings from the Synthesizer module for computing the instrument calibration due date. Each module uses its own settings for computing the module due date.

The typical cases for computing due date are

  • The system has only Calibration.VerificationInformation (which excludes the reference) and the system does not include a reference � the due date is simply the date from the verification information plus the instrument calibration interval specified by the synthesizer module.
  • The system has Calibration.VerificationInformation and module verification for the reference -- the due date is the earlier of
    • the date from the verification information plus the instrument calibration interval specified by the synthesizer module.
    • the date from the reference verification date plus the module calibration interval specified by the reference module.
  • The system has only module verification � the due date is simply the earliest of each module's due date (that module's verification date plus that module's ModuleCalInterval setting).

A less typical case is when there is "overlapping" Calibration.VerificationInformation and module verification � if the instrument level calibration information has not expired, it is used to determine instrument calibration status and due date.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrCalibration2 Interface
Keysight.KtMDsr.Interop Namespace


InstrumentIdentifier Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCalibration2..::.InstrumentIdentifier Property
IKtMDsrCalibration2 See Also

Read Only - A unique identifier for the collection of modules that make up the current instrument. This will not include modules that are independently calibrated (typically just the M9300A reference module). This value is used in tracking instrument calibration verification.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property InstrumentIdentifier As String
C#
public string  InstrumentIdentifier { get; }
Visual C++
HRESULT get_InstrumentIdentifier(
    BSTR*  val
);

Remarks

An instrument is comprised of the modules the IVI driver is currently controlling. For the instrument to be calibrated, the current set of modules must have been calibrated as a system. The instrument identifier is a 10 character hash code followed by each module's model and serial number.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrCalibration2 Interface
Keysight.KtMDsr.Interop Namespace


Status Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCalibration2..::.Status Property
IKtMDsrCalibration2 See Also

Read Only - This property indicates the calibration status of the instrument. The status is determined by comparing the (calibration due date - cal due reminder value) to the current date.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Status As KtMDsrCalibrationStatusEnum
C#
public KtMDsrCalibrationStatusEnum  Status { get; }
Visual C++
HRESULT get_Status(
    KtMDsrCalibrationStatusEnum*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrCalibration2 Interface
Keysight.KtMDsr.Interop Namespace


VerificationInformation Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCalibration2..::.VerificationInformation Property
IKtMDsrCalibration2 See Also

Read Only - A comma separated list of calibration verification information. Includes the calibration date and instrument identification. Returns an empty string if any of the modules in the current system have not been calibrated.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property VerificationInformation As String
C#
public string  VerificationInformation { get; }
Visual C++
HRESULT get_VerificationInformation(
    BSTR*  val
);

Remarks

The instrument identifier is a 10 character hash code followed by each module's model and serial number.

If the response is empty, it does not mean that the modules have not been calibrated, but that they haven't been calibrated as a set. Use Modules.Item.Calibration.VerificationInformation to determine all the systems a particular module has been calibrated in.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrCalibration2 Interface
Keysight.KtMDsr.Interop Namespace


CaptureSites Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr..::.CaptureSites Property
IKtMDsr See Also

Pointer to the IKtMDsrCaptureSites interface. This active site interface provides a simple set of functions and attributes to capture data without requiring that a pattern be created.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property CaptureSites As IKtMDsrCaptureSites
C#
public IKtMDsrCaptureSites  CaptureSites { get; }
Visual C++
HRESULT get_CaptureSites(
    IKtMDsrCaptureSites**  val
);

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsr Interface
Keysight.KtMDsr.Interop Namespace


Activate Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCaptureSites..::.Activate Method
IKtMDsrCaptureSites See Also

Activates a site for data capture.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Activate ( _
    ByVal  Site As String  _
    ByVal  WaveformTable As String  _
    ByVal  DcLevels As String  _
    ByVal  EdgePlacementResolutionAuto As Boolean  _
    ByVal  EdgePlacementResolution As Double  _
)
C#
public void  Activate(
    string  Site,
    string  WaveformTable,
    string  DcLevels,
    bool  EdgePlacementResolutionAuto,
    double  EdgePlacementResolution
)
Visual C++
HRESULT Activate(
    BSTR  Site,
    BSTR  WaveformTable,
    BSTR  DcLevels,
    VARIANT_BOOL  EdgePlacementResolutionAuto,
    double  EdgePlacementResolution
);

Parameters

Site

The Site to be used to Activate the CaptureSite.

WaveformTable

Name of WaveformTable that describes timing information for capturing data on the CaptureSite. Each Signal should define one and only one waveform. DUT input signals define one waveform per Signal, and that waveform may specify only a compare or a clock.

DcLevels

The DcLevels settings to apply to the Channels. Must include each Channel assigned in the Site.

EdgePlacementResolutionAuto

When True, the DSR automatically chooses an edge placement resolution suitable for the digital test (the PatternExec) that is being activated. The DSR generally chooses the finest resolution that is able to produce the pattern.

EdgePlacementResolution

Specifies the edge placement resolution (when EdgePlacementResolutionAuto is False). Sets the finest resolution available when selecting pattern timing parameters. Range is 1 ns to 100 ns. This resolution determines how the times specified are rounded to values produced.

Remarks

Activate locks the channels for exclusive use by the specified site and creates a capture pattern from the specified Site, Waveform table, DcLevels and Edge Placement Resolution.
The pattern information is compiled and downloaded to the pattern cache; it is later removed when this site is inactivated.

For more information on the CaptureSites interface, see the CaptureSites Overview.
For more information on the dynamic repeated capability Activate function, see Dynamic Repeated Capabilities.

For information about how the EdgePlacementResolution parameter is used, see .

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrCaptureSites Interface
Keysight.KtMDsr.Interop Namespace


Count Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCaptureSites..::.Count Property
IKtMDsrCaptureSites See Also

Returns the number of currently active capture sites.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Count As Integer
C#
public int  Count { get; }
Visual C++
HRESULT get_Count(
    long*  val
);

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.
For more information on the dynamic repeated capability Count attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrCaptureSites Interface
Keysight.KtMDsr.Interop Namespace


Inactivate Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCaptureSites..::.Inactivate Method
IKtMDsrCaptureSites See Also

Releases the resources associated with this site. The state of the individual channels is not changed.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Inactivate ( _
    ByVal  SiteName As String  _
)
C#
public void  Inactivate(
    string  SiteName
)
Visual C++
HRESULT Inactivate(
    BSTR  SiteName
);

Parameters

SiteName

The block name of the active site.

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.
For more information on the dynamic repeated capability Inactivate function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrCaptureSites Interface
Keysight.KtMDsr.Interop Namespace


InactivateAndDisable Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCaptureSites..::.InactivateAndDisable Method
IKtMDsrCaptureSites See Also

Releases the resources associated with this site. The individual channels are disabled.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub InactivateAndDisable ( _
    ByVal  SiteName As String  _
)
C#
public void  InactivateAndDisable(
    string  SiteName
)
Visual C++
HRESULT InactivateAndDisable(
    BSTR  SiteName
);

Parameters

SiteName

The block name of the active site.

Remarks

In addition to inactivating the site, this function also disables the channels. That is, the DSR isolates itself from the DUT in a fashion that minimizes the possibility of either the DUT or the DSR being harmed.

For more information on the CaptureSites interface, see the CaptureSites Overview.
For more information on the dynamic repeated capability InactivateAndDisable function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrCaptureSites Interface
Keysight.KtMDsr.Interop Namespace


Item Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCaptureSites..::.Item Property
IKtMDsrCaptureSites See Also

Accesses the specified active site.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Item( _
    ByVal  Name As String  _
) As IKtMDsrCaptureSite
C#
public IKtMDsrCaptureSite  get_Item(
    string  Name
)
Visual C++
HRESULT get_Item(
    BSTR  Name,
    IKtMDsrCaptureSite**  val
);

Parameters

Name

The block name of the site to access. The site must have been activated for capture operations.For valid values, see the CaptureSite repeated capability.

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.
For more information on the dynamic repeated capability Item function, see Dynamic Repeated Capabilities.
For general information about active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrCaptureSites Interface
Keysight.KtMDsr.Interop Namespace


Abort Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCaptureSite..::.Abort Method
IKtMDsrCaptureSite See Also

Asynchronously stop the execution of the pattern. That is, stop the capture of data.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Abort ( _
)
C#
public void  Abort(
)
Visual C++
HRESULT Abort(
);

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrCaptureSite Interface
Keysight.KtMDsr.Interop Namespace


EdgePlacementResolution Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCaptureSite..::.EdgePlacementResolution Property
IKtMDsrCaptureSite See Also

Returns the EdgePlacementResolution specified when this site was activated. Or, if EdgePlacementResolutionAuto was set to True, this is the edge placement resolution selected by the DSR.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property EdgePlacementResolution As Double
C#
public double  EdgePlacementResolution { get; }
Visual C++
HRESULT get_EdgePlacementResolution(
    double*  val
);

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrCaptureSite Interface
Keysight.KtMDsr.Interop Namespace


EdgePlacementResolutionAuto Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCaptureSite..::.EdgePlacementResolutionAuto Property
IKtMDsrCaptureSite See Also

Returns the value of EdgePlacementResolutionAuto with which the site was activated.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property EdgePlacementResolutionAuto As Boolean
C#
public bool  EdgePlacementResolutionAuto { get; }
Visual C++
HRESULT get_EdgePlacementResolutionAuto(
    VARIANT_BOOL*  val
);

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrCaptureSite Interface
Keysight.KtMDsr.Interop Namespace


ExecutionState Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCaptureSite..::.ExecutionState Property
IKtMDsrCaptureSite See Also

Returns the sequencer state.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property ExecutionState As KtMDsrPatternSiteExecutionStateEnum
C#
public KtMDsrPatternSiteExecutionStateEnum  ExecutionState { get; }
Visual C++
HRESULT get_ExecutionState(
    KtMDsrPatternSiteExecutionStateEnum*  val
);

Remarks

This is primarily used to poll the DSR to determine if a pattern has completed execution or not.

Use WaitForAcquisitionComplete to stop the execution of a client program until the pattern finishes executing.

The values returns have the following meaning:

Execution state | Indicates
Stopped | The pattern has not yet been initiated.
Executing | The pattern is currently running.
WaitingForTriggger | The pattern is waiting for a trigger. This could be waiting for a trigger to begin execution, or waiting for a trigger in a WatchLoop.
Complete | The pattern has completed execution without error.
Aborted | The pattern execution was aborted by the user.
Error | An error occurred during pattern execution. (Check ExecutionErrors.)

For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrCaptureSite Interface
Keysight.KtMDsr.Interop Namespace


FetchResultByte Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCaptureSite..::.FetchResultByte Method
IKtMDsrCaptureSite See Also

Returns the captured result in an array of bytes. Results must fit in a byte.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function FetchResultByte ( _
) As Byte()
C#
public byte[]   FetchResultByte(
)
Visual C++
HRESULT FetchResultByte(
    SAFEARRAY**  retval
);

Return Value

Result data from the pattern execution.

Remarks

Bits in the result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT input (Direction is In) are 0.

For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrCaptureSite Interface
Keysight.KtMDsr.Interop Namespace


FetchResultInt16 Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCaptureSite..::.FetchResultInt16 Method
IKtMDsrCaptureSite See Also

Returns the captured result in an array of 16-bit values. Results must fit in a 16-bit integer.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function FetchResultInt16 ( _
) As Short()
C#
public short[]   FetchResultInt16(
)
Visual C++
HRESULT FetchResultInt16(
    SAFEARRAY**  retval
);

Return Value

Result data from the pattern execution.

Remarks

Bits in the result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT input (Direction is In) are 0.

For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrCaptureSite Interface
Keysight.KtMDsr.Interop Namespace


FetchResultSegmentByte Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCaptureSite..::.FetchResultSegmentByte Method
IKtMDsrCaptureSite See Also

Returns a segment from the captured result. Result must fit in a byte.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function FetchResultSegmentByte ( _
    ByVal  Offset As Integer  _
    ByVal  Count As Integer  _
) As Byte()
C#
public byte[]   FetchResultSegmentByte(
    int  Offset,
    int  Count
)
Visual C++
HRESULT FetchResultSegmentByte(
    long  Offset,
    long  Count
    SAFEARRAY**  retval
);

Parameters

Offset

Offset into the Results data to start. That is, the index of the first element to return in the result array.

Count

Number of bytes to return.

Return Value

Result data from the pattern execution.

Remarks

Bits in the result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT input (Direction is In) are 0.

For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrCaptureSite Interface
Keysight.KtMDsr.Interop Namespace


FetchResultSegmentInt16 Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCaptureSite..::.FetchResultSegmentInt16 Method
IKtMDsrCaptureSite See Also

Returns a segment from the captured result. Result must fit in a 16-bit integer.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function FetchResultSegmentInt16 ( _
    ByVal  Offset As Integer  _
    ByVal  Count As Integer  _
) As Short()
C#
public short[]   FetchResultSegmentInt16(
    int  Offset,
    int  Count
)
Visual C++
HRESULT FetchResultSegmentInt16(
    long  Offset,
    long  Count
    SAFEARRAY**  retval
);

Parameters

Offset

Offset into the Results data to start. That is, the index of the first element to return in the result array.

Count

Number of 16-bit integers to return.

Return Value

Result data from the pattern execution.

Remarks

Bits in the result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT input (Direction is In) are 0.

For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrCaptureSite Interface
Keysight.KtMDsr.Interop Namespace


Initiate Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCaptureSite..::.Initiate Method
IKtMDsrCaptureSite See Also

Begin the execution of a pattern. If the Trigger Mode is set to Immediate, execution will begin immediately. If set to Trigger, the hardware will fully initialize, but will wait for a trigger event before proceeding.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Initiate ( _
)
C#
public void  Initiate(
)
Visual C++
HRESULT Initiate(
);

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrCaptureSite Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCaptureSite..::.Name Property
IKtMDsrCaptureSite See Also

Returns the site name used to access this site.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name As String
C#
public string  Name { get; }
Visual C++
HRESULT get_Name(
    BSTR*  val
);

Remarks

This is useful when a reference to this block is acquired using the Item function and there is a subsequent need to determine which block this is.

For more information on the dynamic repeated capability Name attribute, see Dynamic Repeated Capabilities.
For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrCaptureSite Interface
Keysight.KtMDsr.Interop Namespace


ResultCount Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCaptureSite..::.ResultCount Property
IKtMDsrCaptureSite See Also

Gets the number of elements in the result in memory.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property ResultCount As Integer
C#
public int  ResultCount { get; }
Visual C++
HRESULT get_ResultCount(
    long*  val
);

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrCaptureSite Interface
Keysight.KtMDsr.Interop Namespace


WaitForAcquisitionComplete Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCaptureSite..::.WaitForAcquisitionComplete Method
IKtMDsrCaptureSite See Also

The function will not return until this pattern is done executing. If a pattern has not been initiated or if it has already completed, the function will return immediately.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function WaitForAcquisitionComplete ( _
    ByVal  MaximumSeconds As Double  _
) As KtMDsrPatternSiteExecutionStateEnum
C#
public KtMDsrPatternSiteExecutionStateEnum  WaitForAcquisitionComplete(
    double  MaximumSeconds
)
Visual C++
HRESULT WaitForAcquisitionComplete(
    double  MaximumSeconds
    KtMDsrPatternSiteExecutionStateEnum*  retval
);

Parameters

MaximumSeconds

Maximum number of seconds to wait.

Return Value

ExecutionStateEnum indicating the current state of the CaputureSite.

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrCaptureSite Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCaptureSites..::.Name Property
IKtMDsrCaptureSites See Also

Returns the name of the activated site at the specified index. This is useful along with Count to identify all of the currently active capture sites.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name( _
    ByVal  Index As Integer  _
) As String
C#
public string  get_Name(
    int  Index
)
Visual C++
HRESULT get_Name(
    long  Index,
    BSTR*  val
);

Parameters

Index

One-based index into the collection of CaptureSites.

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.
For more information on the dynamic repeated capability Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrCaptureSites Interface
Keysight.KtMDsr.Interop Namespace


RequestedResultCount Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCaptureSites..::.RequestedResultCount Property
IKtMDsrCaptureSites See Also

Number of Results per channel to be collected.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property RequestedResultCount As Integer
C#
public int  RequestedResultCount { get; set; }
Visual C++
HRESULT get_RequestedResultCount(
    long*  val
);
HRESULT put_RequestedResultCount(
    long  val
);

Remarks

If an error occurs during data collection, it is possible for less than the requested number of results to be recorded. For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrCaptureSites Interface
Keysight.KtMDsr.Interop Namespace


TriggerMode Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCaptureSites..::.TriggerMode Property
IKtMDsrCaptureSites See Also

Sets the Trigger Mode. The trigger mode determines if execution of the pattern begins immediately when initiated or if the execution waits for a trigger event before executing.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property TriggerMode As KtMDsrPatternSitesTriggerModeEnum
C#
public KtMDsrPatternSitesTriggerModeEnum  TriggerMode { get; set; }
Visual C++
HRESULT get_TriggerMode(
    KtMDsrPatternSitesTriggerModeEnum*  val
);
HRESULT put_TriggerMode(
    KtMDsrPatternSitesTriggerModeEnum  val
);

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrCaptureSites Interface
Keysight.KtMDsr.Interop Namespace


TriggerSource Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCaptureSites..::.TriggerSource Property
IKtMDsrCaptureSites See Also

Gets or sets the trigger source for this pattern. String format is: SoftwareTrigger<0-15>.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property TriggerSource As String
C#
public string  TriggerSource { get; set; }
Visual C++
HRESULT get_TriggerSource(
    BSTR*  val
);
HRESULT put_TriggerSource(
    BSTR  val
);

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.
For details on generating software triggers, see Generate Software Events.

The table below shows the relationship between Software Triggers, TriggerSource strings, and the EventBits to set when calling GenerateSoftwareEvents. Multiple bits may be set to generate multiple software triggers.

Software trigger | TriggerSource string | Set EventBits to this value when calling GenerateSoftwareEvents
Software0 | "SoftwareTrigger0" | 1
Software1 | "SoftwareTrigger1" | 2
Software2 | "SoftwareTrigger2" | 4
Software3 | "SoftwareTrigger3" | 8
Software4 | "SoftwareTrigger4" | 16
Software5 | "SoftwareTrigger5" | 32
Software6 | "SoftwareTrigger6" | 64
Software7 | "SoftwareTrigger7" | 128
Software8 | "SoftwareTrigger8" | 256
Software9 | "SoftwareTrigger9" | 512
Software10 | "SoftwareTrigger10" | 1024
Software11 | "SoftwareTrigger11" | 2048
Software12 | "SoftwareTrigger12" | 4096
Software13 | "SoftwareTrigger13" | 8192
Software14 | "SoftwareTrigger14" | 16384
Software15 | "SoftwareTrigger15" | 32768

Allowed Values

"SoftwareTrigger0", "SoftwareTrigger1", "SoftwareTrigger2", "SoftwareTrigger3", "SoftwareTrigger4", "SoftwareTrigger5", "SoftwareTrigger6", "SoftwareTrigger7", "SoftwareTrigger8", "SoftwareTrigger9", "SoftwareTrigger10", "SoftwareTrigger11", "SoftwareTrigger12", "SoftwareTrigger13", "SoftwareTrigger14", "SoftwareTrigger15", "External1", "External2", "GPIO1", "GPIO2", "PXI_TRIG0", "PXI_TRIG1", "PXI_TRIG2", "PXI_TRIG3", "PXI_TRIG4", "PXI_TRIG5", "PXI_TRIG6", "PXI_TRIG7", "PXI_STAR", "PXIe_DSTARB"

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrCaptureSites Interface
Keysight.KtMDsr.Interop Namespace


Channels Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr..::.Channels Property
IKtMDsr See Also

Pointer to the IKtMDsrChannels interface. The Channels interface is used to control settings associated with specific channels, independent of its use for PPMU or patterns.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Channels As IKtMDsrChannels
C#
public IKtMDsrChannels  Channels { get; }
Visual C++
HRESULT get_Channels(
    IKtMDsrChannels**  val
);

Remarks

For more information on the Channels interface, see the Channels Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsr Interface
Keysight.KtMDsr.Interop Namespace


ClampVoltagePpmuEnable Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrChannels..::.ClampVoltagePpmuEnable Method
IKtMDsrChannels See Also

Specifies whether the voltage clamps are active when the DSR is in PPMU force current mode. (Note: Voltage clamps are never active when the PPMU is forcing a voltage.)

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub ClampVoltagePpmuEnable ( _
    ByVal  Channels As Integer()   _
    ByVal  Enable As Boolean  _
)
C#
public void  ClampVoltagePpmuEnable(
    int[]   Channels,
    bool  Enable
)
Visual C++
HRESULT ClampVoltagePpmuEnable(
    SAFEARRAY**  Channels,
    VARIANT_BOOL  Enable
);

Parameters

Channels

Array containing the list of channels to modify.

Enable

Enables or disables PPMU on the specified channels. True enables; False disables.

Remarks

This setting determines if the DSR should enable the clamps when the PPMU is forcing a current. The clamps are never active when the PPMU is forcing a voltage.

Setting and clearing the ClampVoltagePpmuEnable has no effect on the settings of the clamp voltages.

For more information on the voltage clamps and when they are active, see: ClampVoltages
For more information on the Channels interface, see the Channels Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrChannels Interface
Keysight.KtMDsr.Interop Namespace


ClampVoltages Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrChannels..::.ClampVoltages Method
IKtMDsrChannels See Also

Sets the protection voltages to which inputs are clamped when the clamps are active.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub ClampVoltages ( _
    ByVal  Channels As Integer()   _
    ByVal  MinimumVoltage As Double  _
    ByVal  MaximumVoltage As Double  _
)
C#
public void  ClampVoltages(
    int[]   Channels,
    double  MinimumVoltage,
    double  MaximumVoltage
)
Visual C++
HRESULT ClampVoltages(
    SAFEARRAY**  Channels,
    double  MinimumVoltage,
    double  MaximumVoltage
);

Parameters

Channels

Array containing the list of channels to modify.

MinimumVoltage

Minimum clamp voltage. Must be between -2 and 6.2 Volts.

MaximumVoltage

Maximum clamp voltage. Must be between -1.2 and 7 Volts.

Remarks

The specified clamp voltages are active in two situations:

  • When the DSR is sourcing a digital signal via the PatternSite or the StaticSite
  • When the DSR is in PPMU mode, and the PPMU is forcing a current, the clamps are enabled or disabled using the ClampVoltagePpmuEnable function

At other times, the clamps are inactive. This includes:

  • When the pattern, capture, or static sites are sensing an input
  • When the PPMU is forcing a voltage
  • When the channels are disabled
  • When the DSR is forcing a voltage from an active pattern site or static site

Setting the clamp voltages does not change the setting of ClampVoltagePpmuEnable.

For more information on the Channels interface, see the Channels Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrChannels Interface
Keysight.KtMDsr.Interop Namespace


LineCompensation Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrChannels..::.LineCompensation Method
IKtMDsrChannels See Also

Compensates for transmission line effects. The degree can be set from 0 to 7.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub LineCompensation ( _
    ByVal  Channel As Integer()   _
    ByVal  DriveCompensation As Integer  _
    ByVal  ReceiveCompensation As Integer  _
)
C#
public void  LineCompensation(
    int[]   Channel,
    int  DriveCompensation,
    int  ReceiveCompensation
)
Visual C++
HRESULT LineCompensation(
    SAFEARRAY**  Channel,
    long  DriveCompensation,
    long  ReceiveCompensation
);

Parameters

Channel

Array containing the list of channels to modify.

DriveCompensation

An integer value indicating the degree of compensation (from 0 to 7).

ReceiveCompensation

An integer value indicating the degree of compensation (from 0 to 7).

Remarks

The LineCompensation settings are used to adjust the product input and output impedances to match the lines being driven.

The default value of zero presents a termination as close to purely resistive as possible. Increasing the value to 7 can be used to compensate for line impedances.

For more information on the Channels interface, see the Channels Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrChannels Interface
Keysight.KtMDsr.Interop Namespace


MeasureAndApplyResponseDelayCompensation Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrChannels..::.MeasureAndApplyResponseDelayCompensation Method
IKtMDsrChannels See Also

Measures the cable delay of an unterminated cable along with delays internal to the DSR and stores the compensation values into Channels Response Delay Compensation.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub MeasureAndApplyResponseDelayCompensation ( _
)
C#
public void  MeasureAndApplyResponseDelayCompensation(
)
Visual C++
HRESULT MeasureAndApplyResponseDelayCompensation(
);

Remarks

This measurement requires that the cable be unterminated. After the delay compensation is calculated, the results are written to the Channels Response Delay Compensation.

This measurement includes internal DSR delays and delays through the cable. This is the appropriate value to enter into the ResponseDelayCompensation setting.

The measurement does not include any delays introduced using the Stimulus Delay.

Additional delays beyond those measured for the cable can be added to the measured values in the response delay compensation. For instance, if there is an additional delay of 1.4 ns due to propagation from the end of the cable through the fixture to the actual DUT, it is appropriate to read back the value measured for the response delay compensation by this function, add 1.4 ns to it, then store it as the response delay compensation.

If one or more channels of the cable is terminated, then the cable will appear to be infinitely long. This is not treated as a measurement error, and the cable delay for that channel is set to 0.

It is appropriate to use this method to characterize various cables that extract the values from the driver using QueryResponseDelayCompensation. Subsequently, when using a particular cable, those values can be stored.

For more information on the Channels interface, see the Channels Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrChannels Interface
Keysight.KtMDsr.Interop Namespace


QueryClampVoltage Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrChannels..::.QueryClampVoltage Method
IKtMDsrChannels See Also

Queries the voltages to which the inputs clamps are configured.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub QueryClampVoltage ( _
    ByVal  Channel As Integer  _
    ByRef  MinimumVoltage As Double  _
    ByRef  MaximumVoltage As Double  _
)
C#
public void  QueryClampVoltage(
    int  Channel,
    ref double  MinimumVoltage,
    ref double  MaximumVoltage
)
Visual C++
HRESULT QueryClampVoltage(
    long  Channel,
    double*  MinimumVoltage,
    double*  MaximumVoltage
);

Parameters

Channel

Channel number to query.

MinimumVoltage

Voltage clamp minimum level set for the specified channel.

MaximumVoltage

Voltage clamp maximum level set for the specified channel.

Remarks

For more information on the Channels interface, see the Channels Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrChannels Interface
Keysight.KtMDsr.Interop Namespace


QueryClampVoltagePpmuEnable Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrChannels..::.QueryClampVoltagePpmuEnable Method
IKtMDsrChannels See Also

Queries whether the voltage clamps are enabled when producing current for the specified channel of the PPMU.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function QueryClampVoltagePpmuEnable ( _
    ByVal  Channel As Integer  _
) As Boolean
C#
public bool  QueryClampVoltagePpmuEnable(
    int  Channel
)
Visual C++
HRESULT QueryClampVoltagePpmuEnable(
    long  Channel
    VARIANT_BOOL*  retval
);

Parameters

Channel

Channel number to query.

Return Value

The state of the PPMU Clamp Enable on the specified channel.

Remarks

For more information on the Channels interface, see the Channels Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrChannels Interface
Keysight.KtMDsr.Interop Namespace


QueryLineCompensation Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrChannels..::.QueryLineCompensation Method
IKtMDsrChannels See Also

Queries the line compensation settings for the specified channel.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub QueryLineCompensation ( _
    ByVal  Channel As Integer  _
    ByRef  DriveCompensation As Integer  _
    ByRef  ReceiveCompensation As Integer  _
)
C#
public void  QueryLineCompensation(
    int  Channel,
    ref int  DriveCompensation,
    ref int  ReceiveCompensation
)
Visual C++
HRESULT QueryLineCompensation(
    long  Channel,
    long*  DriveCompensation,
    long*  ReceiveCompensation
);

Parameters

Channel

Channel number to query.

DriveCompensation

Returns the value specified for DriveCompensation on the specified channel.

ReceiveCompensation

Returns the value specified for ReceiveCompensation on the specified channel.

Remarks

For more information on the Channels interface, see the Channels Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrChannels Interface
Keysight.KtMDsr.Interop Namespace


QueryRemoteSenseEnable Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrChannels..::.QueryRemoteSenseEnable Method
IKtMDsrChannels See Also

Queries whether remote sensing is enabled on the specified channel.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function QueryRemoteSenseEnable ( _
    ByVal  Channel As Integer  _
) As Boolean
C#
public bool  QueryRemoteSenseEnable(
    int  Channel
)
Visual C++
HRESULT QueryRemoteSenseEnable(
    long  Channel
    VARIANT_BOOL*  retval
);

Parameters

Channel

Channel number to query.

Return Value

The state of RemoteSenseEnable on the specified channel.

Remarks

For more information on the Channels interface, see the Channels Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrChannels Interface
Keysight.KtMDsr.Interop Namespace


QueryResponseDelayCompensation Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrChannels..::.QueryResponseDelayCompensation Method
IKtMDsrChannels See Also

Queries the response delay compensation for the specified channel.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function QueryResponseDelayCompensation ( _
    ByVal  Channel As Integer  _
) As Double
C#
public double  QueryResponseDelayCompensation(
    int  Channel
)
Visual C++
HRESULT QueryResponseDelayCompensation(
    long  Channel
    double*  retval
);

Parameters

Channel

Channel number to query.

Return Value

The ResponseDelayCompensation, in seconds, on the specified channel.

Remarks

For more information on the Channels interface, see Channels Overview.
See also Channels.ResponseDelayCompensation.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrChannels Interface
Keysight.KtMDsr.Interop Namespace


QueryStimulusDelay Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrChannels..::.QueryStimulusDelay Method
IKtMDsrChannels See Also

Queries the stimulus delay for the specified channel.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function QueryStimulusDelay ( _
    ByVal  Channel As Integer  _
) As Double
C#
public double  QueryStimulusDelay(
    int  Channel
)
Visual C++
HRESULT QueryStimulusDelay(
    long  Channel
    double*  retval
);

Parameters

Channel

Channel number to query.

Return Value

The StimulusDelay, in seconds, on the specified channel.

Remarks

The StimulusDelay is a channel-specific delay introduced at the output of the DSR. The primary use of this is to align the arrival of signals at the DUT.

For more information, see the Channels Overview and Channels.StimulusDelay.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrChannels Interface
Keysight.KtMDsr.Interop Namespace


RemoteSenseEnable Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrChannels..::.RemoteSenseEnable Method
IKtMDsrChannels See Also

Controls whether stimulus and measurements use the same physical conductors from the DSR.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub RemoteSenseEnable ( _
    ByVal  Channels As Integer()   _
    ByVal  Enable As Boolean  _
)
C#
public void  RemoteSenseEnable(
    int[]   Channels,
    bool  Enable
)
Visual C++
HRESULT RemoteSenseEnable(
    SAFEARRAY**  Channels,
    VARIANT_BOOL  Enable
);

Parameters

Channels

Array containing the list of channels to modify.

Enable

Enables or disables remote sense lines on the specified channels. True enables; False disables.

Remarks

RemoteSenseEnable controls how the PPMU senses signals.

If remote sense is enabled, the signal is sensed via the PPMU sense lines on the DIO connector.

If remote sense is disabled, the signal is sensed via the channel lines that are also used to stimulate the DUT.

For more information on the Channels interface, see the Channels Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrChannels Interface
Keysight.KtMDsr.Interop Namespace


ResponseDelayCompensation Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrChannels..::.ResponseDelayCompensation Method
IKtMDsrChannels See Also

Sets a channel-specific response delay compensation. The delay time is set to the round-trip time for a simultaneous event to begin at the DSR output, go out to the DUT, and the response to arrive back at the DSR.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub ResponseDelayCompensation ( _
    ByVal  Channels As Integer()   _
    ByVal  Delay As Double  _
)
C#
public void  ResponseDelayCompensation(
    int[]   Channels,
    double  Delay
)
Visual C++
HRESULT ResponseDelayCompensation(
    SAFEARRAY**  Channels,
    double  Delay
);

Parameters

Channels

Array containing the list of channels to modify.

Delay

The delay in seconds. The resolution of the delay is the EdgePlacementResolution or 100 picoseconds, whichever is higher.

Remarks

The response delay compensation compensates for delays external to the DSR which affect the arrival of responses back at the DSR. Thus, the specified delay compensation time is equal to the amount of time it takes a response to arrive at the DSR module relative to when stimulus events are emitted by the DSR.

For EdgePlacementResolution less than or equal to 1.3ns, the resolution is 24 picoseconds. For EdgePlacementResolution greater than 1.3ns, the resolution is the EdgePlacementResolution.

Stimulus delays are not incorporated in the response delay compensation. That is, the response delay compensation is the compensation for delays a signal encounters traveling from the DSR to the DUT and back, not including any delay programmed with stimulus delay.

For instance, if equal stimulus delays and response delay compensations are programmed, the net impact is that the stimulus and response remain aligned as they were with no delays, however the comparisons performed by the DSR occur later in time.

The DSR has an internal delay of approximately 10ns. This time must be included in the response delay compensation that is programmed. Use MeasureAndApplyResponseDelayCompensation to determine the total compensation required for a given cable, including internal delays.

Example

If a stimulus takes 5 nanoseconds to reach the DUT, and an additional 5 nanoseconds to return to the DSR, the ResponseDelayCompensation should be set to 10 nanoseconds.

In this example, if one signal followed a shorter path so it arrived at the DUT after 4.9ns. Setting a stimulus delay of 100 picoseconds would cause all the stimulus signals to arrive at the DUT simultaneously. The ResponseDelayCompensation would still be set to 10 nanoseconds so that responses are processed at the DSR 10ns after the stimulus is produced.

However, if one signal took 100 picoseconds longer to return to the DSR, then increasing the ResponseDelayCompensation by 100 picoseconds to 10.1 nanoseconds would then realign the signals for response processing.

For more information on the Channels interface, see the Channels Overview.
See also Channels.QueryResponseDelayCompensation.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrChannels Interface
Keysight.KtMDsr.Interop Namespace


StimulusDelay Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrChannels..::.StimulusDelay Method
IKtMDsrChannels See Also

Sets a channel-specific delay in the output. This delay is relative to the start trigger. Use StimulusDelay to adjust the channels with respect to each other to ensure signals arrive simultaneously at the DUT.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub StimulusDelay ( _
    ByVal  Channels As Integer()   _
    ByVal  Delay As Double  _
)
C#
public void  StimulusDelay(
    int[]   Channels,
    double  Delay
)
Visual C++
HRESULT StimulusDelay(
    SAFEARRAY**  Channels,
    double  Delay
);

Parameters

Channels

Array containing the list of channels to modify.

Delay

The delay in seconds. The resolution of the delay is the EdgePlacementResolution or 100 picoseconds, whichever is higher.

Remarks

The StimulusDelay is used to compensate for variations in timing between channels. It can also be used to introduce a delay between the receipt of a trigger and the pattern being produced.

For EdgePlacementResolution less than or equal to 1.3ns, the resolution is 24 picoseconds. For EdgePlacementResolution greater than 1.3ns, the resolution is the EdgePlacementResolution.

The minimum value of StimulusDelay is zero and the maximum value is the EdgePlacementResolution multiplied by 250.

For more information on the Channels interface, see the Channels Overview.
See also Channels.QueryStimulusDelay.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrChannels Interface
Keysight.KtMDsr.Interop Namespace


Channels2 Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr2..::.Channels2 Property
IKtMDsr2 See Also

Pointer to the IKtMDsrChannels interface. The Channels interface is used to control settings associated with specific channels, independent of its use for PPMU or patterns.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Channels2 As IKtMDsrChannels2
C#
public IKtMDsrChannels2  Channels2 { get; }
Visual C++
HRESULT get_Channels2(
    IKtMDsrChannels2**  val
);

Remarks

For more information on the Channels interface, see the Channels Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsr2 Interface
Keysight.KtMDsr.Interop Namespace


LoadResponseDelayCompensation Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrChannels2..::.LoadResponseDelayCompensation Method
IKtMDsrChannels2 See Also

Load previously stored ResponseDelayCompensation values

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub LoadResponseDelayCompensation ( _
    ByVal  FileName As String  _
)
C#
public void  LoadResponseDelayCompensation(
    string  FileName
)
Visual C++
HRESULT LoadResponseDelayCompensation(
    BSTR  FileName
);

Parameters

FileName

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrChannels2 Interface
Keysight.KtMDsr.Interop Namespace


MeasureLeakage Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrChannels2..::.MeasureLeakage Method
IKtMDsrChannels2 See Also

A measurement to calculate the leakage on specificed channels in order to null them out during PatternSite execution.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub MeasureLeakage ( _
    ByVal  Channels As Integer()   _
    ByVal  TestVoltage As Double  _
    ByVal  SettlingDelay As Double  _
)
C#
public void  MeasureLeakage(
    int[]   Channels,
    double  TestVoltage,
    double  SettlingDelay
)
Visual C++
HRESULT MeasureLeakage(
    SAFEARRAY**  Channels,
    double  TestVoltage,
    double  SettlingDelay
);

Parameters

Channels

Channel numbers to meaure leakage on

TestVoltage

Voltage level to minimize leakage at.

SettlingDelay

Delay in seconds for measurement. Based on cable length.

Remarks

This measured leakage compensation value will be automatically applied when running a PatternSite on all Signals defined as Outs that also do not have VIT or VCOM DcLevels defined. If the Signal is defined as an In or InOut, or if VIT or VCOM DcLevels are defined, the PatternSite will still execute, but the low leakge setting will be ignored.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrChannels2 Interface
Keysight.KtMDsr.Interop Namespace


StoreResponseDelayCompensation Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrChannels2..::.StoreResponseDelayCompensation Method
IKtMDsrChannels2 See Also

Store all current ResponseDelayCompenstion values to a file.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub StoreResponseDelayCompensation ( _
    ByVal  FileName As String  _
)
C#
public void  StoreResponseDelayCompensation(
    string  FileName
)
Visual C++
HRESULT StoreResponseDelayCompensation(
    BSTR  FileName
);

Parameters

FileName

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrChannels2 Interface
Keysight.KtMDsr.Interop Namespace


Close Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriver..::.Close Method
IIviDriver See Also

Closes the session to the module. The module hardware and software resources used by the driver are released. Driver methods and properties that access the instrument are not accessible after Close is called.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Sub Close ( _
)
C#
public void  Close(
)
Visual C++
HRESULT Close(
);

Requirements

Supported Models

All supported

See Also

Reference

IIviDriver Interface
Ivi.Driver.Interop Namespace


DcLevels Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr..::.DcLevels Property
IKtMDsr See Also

Pointer to the IKtMDsrDcLevels interface. This interface is used to configure amplitudes of the digital outputs and threshholds used for the digital inputs.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property DcLevels As IKtMDsrDcLevels
C#
public IKtMDsrDcLevels  DcLevels { get; }
Visual C++
HRESULT get_DcLevels(
    IKtMDsrDcLevels**  val
);

Remarks

DcLevels is one of the STIL Components. As with all STIL components, they can be created using the IVI API, or by loading a file in one of the file formats supported by the DSR software.

For more information on the DcLevels interface, see the DcLevels Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsr Interface
Keysight.KtMDsr.Interop Namespace


Add Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrDcLevels..::.Add Method
IKtMDsrDcLevels See Also

Adds a DcLevel with the specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Add ( _
    ByVal  Name As String  _
)
C#
public void  Add(
    string  Name
)
Visual C++
HRESULT Add(
    BSTR  Name
);

Parameters

Name

Name of the DCLevels.

Remarks

For more information on the DcLevels interface, see the DcLevels Overview.
For more information on the dynamic repeated capability Add function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrDcLevels Interface
Keysight.KtMDsr.Interop Namespace


Count Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrDcLevels..::.Count Property
IKtMDsrDcLevels See Also

Returns the number of DcLevel blocks defined.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Count As Integer
C#
public int  Count { get; }
Visual C++
HRESULT get_Count(
    long*  val
);

Remarks

For more information on the DcLevels interface, see the DcLevels Overview.
For more information on the dynamic repeated capability Count attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrDcLevels Interface
Keysight.KtMDsr.Interop Namespace


Item Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrDcLevels..::.Item Property
IKtMDsrDcLevels See Also

Returns the DcLevel block with the specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Item( _
    ByVal  Name As String  _
) As IKtMDsrDcLevel
C#
public IKtMDsrDcLevel  get_Item(
    string  Name
)
Visual C++
HRESULT get_Item(
    BSTR  Name,
    IKtMDsrDcLevel**  val
);

Parameters

Name

The name of a DcLevel block.For valid values, see the DcLevel repeated capability.

Remarks

For more information on the DcLevels interface, see the DcLevels Overview.
For more information on the dynamic repeated capability Item function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrDcLevels Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrDcLevel..::.Name Property
IKtMDsrDcLevel See Also

The name of the current DcLevels block.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name As String
C#
public string  Name { get; }
Visual C++
HRESULT get_Name(
    BSTR*  val
);

Remarks

This is useful when a reference to this block is acquired using the Item function and there is a subsequent need to determine which block this is.

For more information on the DcLevels interface, see the DcLevels Overview.
For more information on using the dynamic repeated capability Item.Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrDcLevel Interface
Keysight.KtMDsr.Interop Namespace


QueryDcLevels Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrDcLevel..::.QueryDcLevels Method
IKtMDsrDcLevel See Also

Gets all the DcLevel values for a Signal. If the DcLevel was created from STIL or if it was altered using SetDcLevels, the logic family value will return custom.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub QueryDcLevels ( _
    ByVal  Signal As String  _
    ByRef  VOL As Double  _
    ByRef  VOH As Double  _
    ByRef  VHYST As Double  _
    ByRef  VIL As Double  _
    ByRef  VIH As Double  _
    ByRef  VIT As Double  _
    ByRef  VCOM As Double  _
    ByRef  IOL As Double  _
    ByRef  IOH As Double  _
    ByRef  VHH As Double  _
    ByRef  LogicFamily As KtMDsrDcLevelsLogicFamilyEnum  _
)
C#
public void  QueryDcLevels(
    string  Signal,
    ref double  VOL,
    ref double  VOH,
    ref double  VHYST,
    ref double  VIL,
    ref double  VIH,
    ref double  VIT,
    ref double  VCOM,
    ref double  IOL,
    ref double  IOH,
    ref double  VHH,
    ref KtMDsrDcLevelsLogicFamilyEnum  LogicFamily
)
Visual C++
HRESULT QueryDcLevels(
    BSTR  Signal,
    double*  VOL,
    double*  VOH,
    double*  VHYST,
    double*  VIL,
    double*  VIH,
    double*  VIT,
    double*  VCOM,
    double*  IOL,
    double*  IOH,
    double*  VHH,
    KtMDsrDcLevelsLogicFamilyEnum*  LogicFamily
);

Parameters

Signal

The name of the Signal to query.

VOL

DUT Output low threshold.

VOH

DUT Output high threshold.

VHYST

Hysteresis applied to the DUT output.

VIL

DUT low voltage input.

VIH

DUT High voltage input.

VIT

Module sourced termination voltage for 50 Ohm input termination.

VCOM

Input commutation voltage for the active load.

IOL

Active load low current forced by the DSR active load when the input is below the commutation voltage.

IOH

Active load high current forced by the DSR active load when the input is above the commutation voltage.

VHH

Voltage forced by the DSR on the high voltage pin when high voltage is active.

LogicFamily

Logic family. Will return custom if not configured by specifying the logic family.

Remarks

For more information on the DcLevels interface, see the DcLevels Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrDcLevel Interface
Keysight.KtMDsr.Interop Namespace


SetDcLevel Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrDcLevel..::.SetDcLevel Method
IKtMDsrDcLevel See Also

Sets an individual DcLevel value for all of the Signals in the SignalExpression. Calling this function will set the Logic Family to custom.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub SetDcLevel ( _
    ByVal  SignalExpression As String  _
    ByVal  DcLevelEnum As KtMDsrDcLevelEnum  _
    ByVal  Value As Double  _
)
C#
public void  SetDcLevel(
    string  SignalExpression,
    KtMDsrDcLevelEnum  DcLevelEnum,
    double  Value
)
Visual C++
HRESULT SetDcLevel(
    BSTR  SignalExpression,
    KtMDsrDcLevelEnum  DcLevelEnum,
    double  Value
);

Parameters

SignalExpression

Signal Expression specifying the signals to which the DcLevel is applied.

DcLevelEnum

Specifies the DcLevel to set.

Value

Double specifying the DcLevel value.

Remarks

For more information on the DcLevels interface, including limits, see the DcLevels Overview.
For general information on using signal expressions, see SignalExpressions.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrDcLevel Interface
Keysight.KtMDsr.Interop Namespace


SetDcLevels Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrDcLevel..::.SetDcLevels Method
IKtMDsrDcLevel See Also

Sets all the DcLevel values for all the Signals in the SignalExpression. Calling this function will set the Logic Family to custom.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub SetDcLevels ( _
    ByVal  SignalExpression As String  _
    ByVal  VOL As Double  _
    ByVal  VOH As Double  _
    ByVal  VHYST As Double  _
    ByVal  VIL As Double  _
    ByVal  VIH As Double  _
    ByVal  VIT As Double  _
    ByVal  VCOM As Double  _
    ByVal  IOL As Double  _
    ByVal  IOH As Double  _
    ByVal  VHH As Double  _
)
C#
public void  SetDcLevels(
    string  SignalExpression,
    double  VOL,
    double  VOH,
    double  VHYST,
    double  VIL,
    double  VIH,
    double  VIT,
    double  VCOM,
    double  IOL,
    double  IOH,
    double  VHH
)
Visual C++
HRESULT SetDcLevels(
    BSTR  SignalExpression,
    double  VOL,
    double  VOH,
    double  VHYST,
    double  VIL,
    double  VIH,
    double  VIT,
    double  VCOM,
    double  IOL,
    double  IOH,
    double  VHH
);

Parameters

SignalExpression

Signal Expression specifying the signals to which the DcLevels are applied.

VOL

DUT output low threshold.

VOH

DUT output high threshold.

VHYST

Hysteresis applied to the DUT output low and high thresholds, VOL and VOH. This is the peak-to-peak hysteresis voltage. Inputs are coerced to 0, 50 mV or 100 mV.

VIL

DUT low voltage input. This is the voltage produced by the DSR for a 0.

VIH

DUT high voltage input. This is the voltage produced by the DSR for a 1.

VIT

Module sourced termination voltage for 50 Ohm input termination. Setting this to a value other than NaN turns on the 50 Ohm load.

VCOM

Active load commutation voltage; the voltage at which the load switches from sinking current to sourcing current. It is used with IOH and IOL to configure the active load.

IOL

This is the current output by the active load when the input voltage is under the commutation voltage (VCOM). It is used with IOH and VCOM to configure the active load.

IOH

This is the current output by the active load when the input voltage is over the commutation voltage (VCOM). It is used with IOL and VCOM to configure the active load.

VHH

Voltage forced by the DSR on the high voltage pin when high voltage is active.

Remarks

Sets every DcLevel to the specified value for all of the signals indicated by the SignalExpression.

  • Note that values associated with only one type of termination can be specified. That is, Vit for 50 Ohm termination or Vcom/Ioh/Iol for the active load.
  • If using the active load, all three values (Vcom, Iol, and Ioh) must be specified.
  • If you do not wish to enable the 50 Ohm termination or active load, set it to NaN (Not a Number).
  • It is an error to specify Vhh for channels other than the high voltage channels. When programming the high-speed channels, set Vhh to NaN (Not a Number).
For more information on the DcLevels interface, see the DcLevels Overview.
For general information on using signal expressions, see SignalExpressions.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrDcLevel Interface
Keysight.KtMDsr.Interop Namespace


SetLogicFamily Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrDcLevel..::.SetLogicFamily Method
IKtMDsrDcLevel See Also

Sets the Logic Family for all the Signals in the SignalExpression using one of the LogicFamiliesEnum presettings. All DcLevel values are written.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub SetLogicFamily ( _
    ByVal  SignalExpression As String  _
    ByVal  LogicFamily As KtMDsrDcLevelsLogicFamilyEnum  _
)
C#
public void  SetLogicFamily(
    string  SignalExpression,
    KtMDsrDcLevelsLogicFamilyEnum  LogicFamily
)
Visual C++
HRESULT SetLogicFamily(
    BSTR  SignalExpression,
    KtMDsrDcLevelsLogicFamilyEnum  LogicFamily
);

Parameters

SignalExpression

Signal Expression to which to apply Logic Family settings.

LogicFamily

Logic Family to apply to DcLevels.

Remarks

This sets the DC Levels for the specified signal expression to conventional values for common logic families.
It is acceptable to modify any of the settings made for a logic family using SetDcLevel.
The termination is high impedance for all logic families.

For more information on the DcLevels interface, see the DcLevels Overview.
For more information on logic families, see Logic families.
For general information on using signal expressions, see SignalExpressions.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrDcLevel Interface
Keysight.KtMDsr.Interop Namespace


Signals Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrDcLevel..::.Signals Property
IKtMDsrDcLevel See Also

Gets a comma-separated list of Signals for which levels have been defined for this DCLevels block.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Signals As String
C#
public string  Signals { get; }
Visual C++
HRESULT get_Signals(
    BSTR*  val
);

Remarks

For more information on the DcLevels interface, see the DcLevels Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrDcLevel Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrDcLevels..::.Name Property
IKtMDsrDcLevels See Also

Returns the DcLevel name for the specified index.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name( _
    ByVal  Index As Integer  _
) As String
C#
public string  get_Name(
    int  Index
)
Visual C++
HRESULT get_Name(
    long  Index,
    BSTR*  val
);

Parameters

Index

One-based index into the collection of DcLevels.

Remarks

For more information on the DcLevels interface, see the DcLevels Overview.
For more information on the dynamic repeated capability Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrDcLevels Interface
Keysight.KtMDsr.Interop Namespace


Remove Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrDcLevels..::.Remove Method
IKtMDsrDcLevels See Also

Removes the DcLevel block with the specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Remove ( _
    ByVal  Name As String  _
)
C#
public void  Remove(
    string  Name
)
Visual C++
HRESULT Remove(
    BSTR  Name
);

Parameters

Name

Name of DCLevels to be removed

Remarks

For more information on the DcLevels interface, see the DcLevels Overview.
For more information on the dynamic repeated capability Remove function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrDcLevels Interface
Keysight.KtMDsr.Interop Namespace


DriverOperation Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriver..::.DriverOperation Property
IIviDriver See Also

Pointer to the IIviDriverOperation interface. The IIviDriverOperation interface contains methods and properties that manage the operation of the driver.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public ReadOnly Property DriverOperation As IIviDriverOperation
C#
public IIviDriverOperation  DriverOperation { get; }
Visual C++
HRESULT get_DriverOperation(
    IIviDriverOperation**  val
);

Remarks

The DriverOperations interface is defined by the IVI Foundation. Several of the attributed and functions defined are not relevant for the KtMDsr.

For information on the IVI standard see the IVI Foundation web site.

Requirements

Supported Models

All supported

See Also

Reference

IIviDriver Interface
Ivi.Driver.Interop Namespace


Cache Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverOperation..::.Cache Property
IIviDriverOperation See Also

This IVI standard attribute has no effect on the KtMDsr driver.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Property Cache As Boolean
C#
public bool  Cache { get; set; }
Visual C++
HRESULT get_Cache(
    VARIANT_BOOL*  val
);
HRESULT put_Cache(
    VARIANT_BOOL  val
);

Remarks

The IVI DriverOperation includes this attribute to control if instrument settings are cached by the driver to avoid unnecessary IO to the remote instruments.

The KtMDsr PXIe driver directly manages all of the instrument settings. The driver caches most instrument settings. This is intrinsic in the operation of the driver and is not controlled by this standard IVI attribute.

For information on the IVI standard see the IVI Foundation web site.

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverOperation Interface
Ivi.Driver.Interop Namespace


ClearInterchangeWarnings Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverOperation..::.ClearInterchangeWarnings Method
IIviDriverOperation See Also

This is an optional IVI-standard method for managing the reset values of instrument attributes. This capability is not implemented by the KtMDsr.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Sub ClearInterchangeWarnings ( _
)
C#
public void  ClearInterchangeWarnings(
)
Visual C++
HRESULT ClearInterchangeWarnings(
);

Remarks

The IVI-COM driver always returns the Function Not Supported error.

This function is not available via the IVI-C interface.

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverOperation Interface
Ivi.Driver.Interop Namespace


DriverSetup Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverOperation..::.DriverSetup Property
IIviDriverOperation See Also

Returns the driver setup string that the user specified in the IVI configuration store when the instrument driver session was initialized or passed in the OptionString parameter of the Initialize function.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public ReadOnly Property DriverSetup As String
C#
public string  DriverSetup { get; }
Visual C++
HRESULT get_DriverSetup(
    BSTR*  val
);

Remarks

The DriverSetup string can be used to specify initial driver setup or special driver options. It can be specified in the IVI Configuration Store or provided when the Initialize method is called to begin the operation of the driver.

Refer to the Initialize method for the syntax of this string and how to set it programmatically.

Refer to Section 6.14, Initialize, for the restrictions on the format of the driver setup string. The string that this attribute returns does not have a predefined maximum length.

For information on the IVI standard see the IVI Foundation web site.

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverOperation Interface
Ivi.Driver.Interop Namespace


GetNextCoercionRecord Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverOperation..::.GetNextCoercionRecord Method
IIviDriverOperation See Also

This is an optional IVI-standard method. It interrogates how settings have been rounded or coerced before applying them to the hardware. This is not implemented by the KtMDsr.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Function GetNextCoercionRecord ( _
) As String
C#
public string  GetNextCoercionRecord(
)
Visual C++
HRESULT GetNextCoercionRecord(
    BSTR*  retval
);

Return Value

Always returns the Function Not Supported error.

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverOperation Interface
Ivi.Driver.Interop Namespace


GetNextInterchangeWarning Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverOperation..::.GetNextInterchangeWarning Method
IIviDriverOperation See Also

This is an optional IVI-standard query. This is not implemented by the KtMDsr. It flags warnings when measurements are made when certain settings have not been altered from there default values.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Function GetNextInterchangeWarning ( _
) As String
C#
public string  GetNextInterchangeWarning(
)
Visual C++
HRESULT GetNextInterchangeWarning(
    BSTR*  retval
);

Return Value

Returns the Function Not Supported error.

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverOperation Interface
Ivi.Driver.Interop Namespace


InterchangeCheck Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverOperation..::.InterchangeCheck Property
IIviDriverOperation See Also

This is an optional IVI-standard attribute and is not implemented by the KtMDsr. It flags warnings when measurements are made when certain settings have not been altered from their default values.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Property InterchangeCheck As Boolean
C#
public bool  InterchangeCheck { get; set; }
Visual C++
HRESULT get_InterchangeCheck(
    VARIANT_BOOL*  val
);
HRESULT put_InterchangeCheck(
    VARIANT_BOOL  val
);

Remarks

Since this is not implemented, setting it to False is a valid operation.

If this is set to True, an error is generated indicating an invalid parameter setting.

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverOperation Interface
Ivi.Driver.Interop Namespace


InvalidateAllAttributes Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverOperation..::.InvalidateAllAttributes Method
IIviDriverOperation See Also

This IVI-standard function invalidates all of the driver's cached values. The KtMDsr driver always manages its state cache internally; therefore, this function performs no operations and returns Success.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Sub InvalidateAllAttributes ( _
)
C#
public void  InvalidateAllAttributes(
)
Visual C++
HRESULT InvalidateAllAttributes(
);

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverOperation Interface
Ivi.Driver.Interop Namespace


IoResourceDescriptor Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverOperation..::.IoResourceDescriptor Property
IIviDriverOperation See Also

The resource descriptor specifies the connection to module. It may be specified in the Configuration Store or passed in the ResourceName parameter of the Initialize function. It is null if the driver is not initialized.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public ReadOnly Property IoResourceDescriptor As String
C#
public string  IoResourceDescriptor { get; }
Visual C++
HRESULT get_IoResourceDescriptor(
    BSTR*  val
);

Remarks

Refer to the Initialize method for the syntax of this string and how to set it programmatically.

Refer to Section 6.14, Initialize, for the restrictions on the format of the driver setup string. The string that this attribute returns does not have a predefined maximum length.

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverOperation Interface
Ivi.Driver.Interop Namespace


LogicalName Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverOperation..::.LogicalName Property
IIviDriverOperation See Also

The Logical Name identifies a driver session in the Configuration Store. If Logical Name is not empty, the driver was initialized from information in the driver session. If empty, the driver was initialized without using the Configuration Store.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public ReadOnly Property LogicalName As String
C#
public string  LogicalName { get; }
Visual C++
HRESULT get_LogicalName(
    BSTR*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverOperation Interface
Ivi.Driver.Interop Namespace


QueryInstrumentStatus Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverOperation..::.QueryInstrumentStatus Property
IIviDriverOperation See Also

This is an IVI-standard method used to query a remote instrument at the end of each method or property that performs I/O to the instrument. This is not implemented in the KtMDsr.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Property QueryInstrumentStatus As Boolean
C#
public bool  QueryInstrumentStatus { get; set; }
Visual C++
HRESULT get_QueryInstrumentStatus(
    VARIANT_BOOL*  val
);
HRESULT put_QueryInstrumentStatus(
    VARIANT_BOOL  val
);

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverOperation Interface
Ivi.Driver.Interop Namespace


RangeCheck Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverOperation..::.RangeCheck Property
IIviDriverOperation See Also

Drivers may choose to always validate some property/parameter values, never validate others, and optionally validate others, to avoid sending invalid commands to the instrument. If True, the driver performs optional validations.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Property RangeCheck As Boolean
C#
public bool  RangeCheck { get; set; }
Visual C++
HRESULT get_RangeCheck(
    VARIANT_BOOL*  val
);
HRESULT put_RangeCheck(
    VARIANT_BOOL  val
);

Remarks

Regardless of the value the user sets this attribute to, the IVI driver is not required to duplicate all range checking operations that the System Module firmware performs. However, the KtMDsr driver performs most range checking regardless of the value of this attribute

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverOperation Interface
Ivi.Driver.Interop Namespace


RecordCoercions Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverOperation..::.RecordCoercions Property
IIviDriverOperation See Also

This is an optional IVI-standard method. This is not implemented by the KtMDsr. It controls the logging of settings that have been rounded or coerced before applying them to the hardware.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Property RecordCoercions As Boolean
C#
public bool  RecordCoercions { get; set; }
Visual C++
HRESULT get_RecordCoercions(
    VARIANT_BOOL*  val
);
HRESULT put_RecordCoercions(
    VARIANT_BOOL  val
);

Remarks

The KtMDsr driver does not record coercions. Therefore setting this value to false succeeds.

If thie value is set to true, the KtMDsr reports an error.

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverOperation Interface
Ivi.Driver.Interop Namespace


ResetInterchangeCheck Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverOperation..::.ResetInterchangeCheck Method
IIviDriverOperation See Also

This is an optional IVI-standard function. This is not implemented by the KtMDsr. It controls warnings when measurements are initiated while certain settings have not been altered from their default values.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Sub ResetInterchangeCheck ( _
)
C#
public void  ResetInterchangeCheck(
)
Visual C++
HRESULT ResetInterchangeCheck(
);

Remarks

Calling this produces a Function Not Supported error.

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverOperation Interface
Ivi.Driver.Interop Namespace


Simulate Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverOperation..::.Simulate Property
IIviDriverOperation See Also

If True, the driver does not perform I/O to the instrument, but returns simulated values for output parameters and results.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Property Simulate As Boolean
C#
public bool  Simulate { get; set; }
Visual C++
HRESULT get_Simulate(
    VARIANT_BOOL*  val
);
HRESULT put_Simulate(
    VARIANT_BOOL  val
);

Remarks

This cannot be changed after initializing the driver. To set use "Simulate=true" in OptionString parameter of the Initialize method.

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverOperation Interface
Ivi.Driver.Interop Namespace


Identity Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriver..::.Identity Property
IIviDriver See Also

Pointer to the IIviDriverIdentity interface which provides attributes that identify this version of the driver and the instrument to which it is connected. All attributes are read-only.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public ReadOnly Property Identity As IIviDriverIdentity
C#
public IIviDriverIdentity  Identity { get; }
Visual C++
HRESULT get_Identity(
    IIviDriverIdentity**  val
);

Remarks

The Identity interface is defined by the IVI Foundation. The attributes defined are useful for interrogating details about the driver, instrument vendor, and the versions of various standards to which the driver complies.

Several of the methods are associated with the driver's compliance to class specifications. Since the IVI Foundation has not defined class specifications relative to digital stimulus/response (DSR) instruments, these attributes are not relevant. However, these methods are included in the implementation since various IVI tools are permitted to query them. These are:

  • GroupCapabilities
  • SpecificationMajorVersion
  • SpecificationMinorVersion

For information on the IVI standard see the IVI Foundation web site.

Requirements

Supported Models

All supported

See Also

Reference

IIviDriver Interface
Ivi.Driver.Interop Namespace


Description Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviComponentIdentity..::.Description Property
IIviComponentIdentity See Also

Returns "IVI Driver for the KtMDsr Digital Stimulus Response module"; if compiled for 64-bit, the description is followed by a trailing substring, "[Compiled for 64-bit.]"

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public ReadOnly Property Description As String
C#
public string  Description { get; }
Visual C++
HRESULT get_Description(
    BSTR*  val
);

Remarks

The KtMDsr driver returns "IVI Driver for the KtMDsr Digital Stimulus Response module".

If this is a 64-bit component, the description includes the trailing substring, "[Compiled for 64-bit.]".

Requirements

Supported Models

All supported

See Also

Reference

IIviComponentIdentity Interface
Ivi.Driver.Interop Namespace


GroupCapabilities Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverIdentity..::.GroupCapabilities Property
IIviDriverIdentity See Also

An IVI-specified attribute used to describe the class compliance. The IVI Foundation has not defined a class relevant to the DSR; therefore, this returns an empty string.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public ReadOnly Property GroupCapabilities As String
C#
public string  GroupCapabilities { get; }
Visual C++
HRESULT get_GroupCapabilities(
    BSTR*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverIdentity Interface
Ivi.Driver.Interop Namespace


Identifier Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverIdentity..::.Identifier Property
IIviDriverIdentity See Also

Identifies the instrument driver. Returns: "KtMDsr"

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public ReadOnly Property Identifier As String
C#
public string  Identifier { get; }
Visual C++
HRESULT get_Identifier(
    BSTR*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverIdentity Interface
Ivi.Driver.Interop Namespace


InstrumentFirmwareRevision Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverIdentity..::.InstrumentFirmwareRevision Property
IIviDriverIdentity See Also

The firmware revision loaded onto the module. The string is of the form <Major>.<Minor>.<Build>.<Patch>.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public ReadOnly Property InstrumentFirmwareRevision As String
C#
public string  InstrumentFirmwareRevision { get; }
Visual C++
HRESULT get_InstrumentFirmwareRevision(
    BSTR*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverIdentity Interface
Ivi.Driver.Interop Namespace


InstrumentManufacturer Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverIdentity..::.InstrumentManufacturer Property
IIviDriverIdentity See Also

Returns the instrument manufacturer, "Keysight Technologies".

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public ReadOnly Property InstrumentManufacturer As String
C#
public string  InstrumentManufacturer { get; }
Visual C++
HRESULT get_InstrumentManufacturer(
    BSTR*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverIdentity Interface
Ivi.Driver.Interop Namespace


InstrumentModel Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverIdentity..::.InstrumentModel Property
IIviDriverIdentity See Also

The model number of the instrument. Returns "M9195A".

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public ReadOnly Property InstrumentModel As String
C#
public string  InstrumentModel { get; }
Visual C++
HRESULT get_InstrumentModel(
    BSTR*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverIdentity Interface
Ivi.Driver.Interop Namespace


Revision Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviComponentIdentity..::.Revision Property
IIviComponentIdentity See Also

The revision of this KtMDsr driver. The string is of the form <Major>.<Minor>.<Build>.<Patch>.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public ReadOnly Property Revision As String
C#
public string  Revision { get; }
Visual C++
HRESULT get_Revision(
    BSTR*  val
);

Remarks

The revision is in the form: <Major>.<Minor>.<Build>.<Patch>

Where:
  • Major represents a major revision. Changes to the major revision may not be code compatible with previous versions.
  • Minor represents a minor revision. Changes to minor versions may add functionality or fix flaws, but are code compatible with previous versions.
  • Build is used to ensure that a unique revision string can be produced for each revision. It is included as the third field for tools that support only the first three revision fields.
  • Patch is used for bug fixes to a particular minor revision.

Requirements

Supported Models

All supported

See Also

Reference

IIviComponentIdentity Interface
Ivi.Driver.Interop Namespace


SpecificationMajorVersion Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverIdentity..::.SpecificationMajorVersion Property
IIviDriverIdentity See Also

An IVI-specified attribute used to describe the class compliance. The IVI Foundation has not defined a class relevant to the DSR; therefore, this returns zero.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public ReadOnly Property SpecificationMajorVersion As Integer
C#
public int  SpecificationMajorVersion { get; }
Visual C++
HRESULT get_SpecificationMajorVersion(
    long*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverIdentity Interface
Ivi.Driver.Interop Namespace


SpecificationMinorVersion Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverIdentity..::.SpecificationMinorVersion Property
IIviDriverIdentity See Also

An IVI-specified attribute used to describe the class compliance. The IVI Foundation has not defined a class relevant to the DSR; therefore, this returns zero.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public ReadOnly Property SpecificationMinorVersion As Integer
C#
public int  SpecificationMinorVersion { get; }
Visual C++
HRESULT get_SpecificationMinorVersion(
    long*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverIdentity Interface
Ivi.Driver.Interop Namespace


SupportedInstrumentModels Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverIdentity..::.SupportedInstrumentModels Property
IIviDriverIdentity See Also

A comma-separated list of instrument models that the IVI specific driver can control. Returns "M9195A".

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public ReadOnly Property SupportedInstrumentModels As String
C#
public string  SupportedInstrumentModels { get; }
Visual C++
HRESULT get_SupportedInstrumentModels(
    BSTR*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverIdentity Interface
Ivi.Driver.Interop Namespace


Vendor Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviComponentIdentity..::.Vendor Property
IIviComponentIdentity See Also

The name of the vendor that supplies the implementing component. Returns "Keysight Technologies".

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public ReadOnly Property Vendor As String
C#
public string  Vendor { get; }
Visual C++
HRESULT get_Vendor(
    BSTR*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IIviComponentIdentity Interface
Ivi.Driver.Interop Namespace


Initialize Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriver..::.Initialize Method
IIviDriver See Also

Opens a session with from one to twelve DSR modules. Performs a Reset and optionally queries the instrument to validate the model. After initialization, the DSR module(s) are accessible by the driver methods and properties.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Sub Initialize ( _
    ByVal  ResourceName As String  _
    ByVal  IdQuery As Boolean  _
    ByVal  Reset As Boolean  _
    ByVal  OptionString As String  _
)
C#
public void  Initialize(
    string  ResourceName,
    bool  IdQuery,
    bool  Reset,
    string  OptionString
)
Visual C++
HRESULT Initialize(
    BSTR  ResourceName,
    VARIANT_BOOL  IdQuery,
    VARIANT_BOOL  Reset,
    BSTR  OptionString
);

Parameters

ResourceName

An IVI logical name or a VISA resource descriptor that identifies the address of the instrument.

IdQuery

If this is enabled, the driver will query the instrument model and compare it with a list of instrument models that are supported by the driver. If the model is not supported, Initialize will fail with the E_IVI_ID_QUERY_FAILED error code.

Reset

This parameter is ignored, as the DSR is always reset upon initialization.

OptionString

The OptionString parameter can be used to set various initial values and modes of the driver. Notably, simulation can be enabled with the string "Simulate=True".

Remarks

With the 2.0 driver, support for multiple modules has been added. Multiple modules are specified by providing, in the ResourceName parameter, a semicolon-separated list of the VISA resource descriptor for each module. The module associated with the first VISA resource descriptor will be the primary module, the remaining modules will be secondary modules.

For more information on multi-module support, see Multi-module Operation.

For detailed information on the Initialize parameters, see: Initializing the IVI-COM Driver

Requirements

Supported Models

All supported

See Also

Reference

IIviDriver Interface
Ivi.Driver.Interop Namespace


Initialized Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriver..::.Initialized Property
IIviDriver See Also

True between the time of a successful call to the Initialize function and a successful call to Close function. False at all other times.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public ReadOnly Property Initialized As Boolean
C#
public bool  Initialized { get; }
Visual C++
HRESULT get_Initialized(
    VARIANT_BOOL*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IIviDriver Interface
Ivi.Driver.Interop Namespace


Instrument Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr..::.Instrument Property
IKtMDsr See Also

Pointer to the IKtMDsrInstrument interface. This interface contains settings that impact the entire instrument and are not scoped to specific channels or sites.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Instrument As IKtMDsrInstrument
C#
public IKtMDsrInstrument  Instrument { get; }
Visual C++
HRESULT get_Instrument(
    IKtMDsrInstrument**  val
);

Remarks

The Instrument interface contains general methods that are scoped to the entire instrument.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsr Interface
Keysight.KtMDsr.Interop Namespace


AutomaticCorrectionsExecute Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrInstrument..::.AutomaticCorrectionsExecute Method
IKtMDsrInstrument See Also

Runs an algorithm which automatically calculates corrections for the instrument. Before calling this function, any external fixtures (inputs to the instrument) must be disconnected from the instrument.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub AutomaticCorrectionsExecute ( _
    ByVal  AverageMode As KtMDsrPpmuSiteAverageModeEnum  _
)
C#
public void  AutomaticCorrectionsExecute(
    KtMDsrPpmuSiteAverageModeEnum  AverageMode
)
Visual C++
HRESULT AutomaticCorrectionsExecute(
    KtMDsrPpmuSiteAverageModeEnum  AverageMode
);

Parameters

AverageMode

Average64, Window50Hz or Window60Hz. None is not supported.

Remarks

All inputs must be disconnected from the instrument before performing automatic corrections.

If the instrument is more than 5 degrees Celsius from the temperature where automatic corrections were last calculated, measurement values from the PPMU may not be within specifications.

To determine whether the current temperature is within 5 degrees Celsius of the temperature of the last automatic correction, call AutomaticCorrectionsNeeded.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrInstrument Interface
Keysight.KtMDsr.Interop Namespace


AutomaticCorrectionsNeeded Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrInstrument..::.AutomaticCorrectionsNeeded Property
IKtMDsrInstrument See Also

Returns True if the module requires that AutomaticCorrections be performed to guarantee specifications. This occurs if the current module temperature has deviated by more than 5 degrees C from the temperature at which the current corrections were made.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property AutomaticCorrectionsNeeded As Boolean
C#
public bool  AutomaticCorrectionsNeeded { get; }
Visual C++
HRESULT get_AutomaticCorrectionsNeeded(
    VARIANT_BOOL*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrInstrument Interface
Keysight.KtMDsr.Interop Namespace


AvailableVersions Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrInstrument..::.AvailableVersions Method
IKtMDsrInstrument See Also

Returns a comma-delimited string specifying previous software revisions of the product. Any of the revisions returned by this method can be used in a call to the DowngradeFirmware method.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub AvailableVersions ( _
    ByRef  AvailableVersions As String  _
)
C#
public void  AvailableVersions(
    ref string  AvailableVersions
)
Visual C++
HRESULT AvailableVersions(
    BSTR*  AvailableVersions
);

Parameters

AvailableVersions

A comma-delimited list specifying all previous product software revisions.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrInstrument Interface
Keysight.KtMDsr.Interop Namespace


ClearCache Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrInstrument..::.ClearCache Method
IKtMDsrInstrument See Also

Clears all downloaded patterns in the cache. There must not be any active patterns or capture sites.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub ClearCache ( _
)
C#
public void  ClearCache(
)
Visual C++
HRESULT ClearCache(
);

Remarks

This function will fail if any pattern or capture site is currently active.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrInstrument Interface
Keysight.KtMDsr.Interop Namespace


ConfigureMemory Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrInstrument..::.ConfigureMemory Method
IKtMDsrInstrument See Also

Configures how memory is allocated between storing compiled patterns and results. The memory size is specified for pattern compilation; the return value is the amount of memory available for results.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub ConfigureMemory ( _
    ByVal  PatternCacheSize As Integer  _
    ByRef  ResultSize As Integer  _
)
C#
public void  ConfigureMemory(
    int  PatternCacheSize,
    ref int  ResultSize
)
Visual C++
HRESULT ConfigureMemory(
    long  PatternCacheSize,
    long*  ResultSize
);

Parameters

PatternCacheSize

Specifies the amount of memory, in bytes, for compiled pattern storage (cache).

ResultSize

Returns the amount of memory, in bytes, available for result storage.

Remarks

Configures the memory split between the pattern cache and result storage.

The CacheSize specifies the total memory available for patterns across all banks. This memory stores both patterns that are automatically stored in the cache when they are activated (using PatternSites.Activate), and patterns that are stored to cache using Patternsites.DownloadPatternToCache.

To determine the size of a compiled pattern, use the ListCache function.

Results are packed into memory in response words. Each response word contains up to 24 consecutive response vectors, that is, data from up to 24 consecutive clock cycles. If the clock cycles generating response data are not within 24-cycles of each other, a full response word is required for each response element.

When the DSR module is configured to run four separate 4-channel banks, the response word from each bank is 64 bytes. When the DSR module is configured to run a single 16-channel bank, each response word is 256 bytes.

Configure Memory will clear any patterns in the cache. All pattern sites must be inactivated before calling this function. A total of approximately 2GBytes of memory is available. By default, the CacheSize is approximately 1.9 GBytes, and the Response size is approximately 100 Mbytes.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrInstrument Interface
Keysight.KtMDsr.Interop Namespace


DowngradeFirmware Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrInstrument..::.DowngradeFirmware Method
IKtMDsrInstrument See Also

Downgrades the instrument firmware to the firmware used with an earlier version of the product software.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub DowngradeFirmware ( _
    ByVal  Revision As String  _
)
C#
public void  DowngradeFirmware(
    string  Revision
)
Visual C++
HRESULT DowngradeFirmware(
    BSTR  Revision
);

Parameters

Revision

Specifies the revision of an earlier product software release. The firmware that was part of that earlier product software release will be loaded onto the product FPGAs. If this is the first release of the product software, this function will do nothing.

Remarks

Once the firmware downgrade is complete, the DSR module will not work with this version of the software until the firmware is upgraded back to the current version.

Use the DSR soft front panel (SFP) to perform an upgrade.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrInstrument Interface
Keysight.KtMDsr.Interop Namespace


Identify Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrInstrument..::.Identify Property
IKtMDsrInstrument See Also

If True, this attribute causes an indicator LED on the front panel to flash. This assists in identifying the module being programmed. The special indication persists as long as the Boolean is True.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property Identify As Boolean
C#
public bool  Identify { get; set; }
Visual C++
HRESULT get_Identify(
    VARIANT_BOOL*  val
);
HRESULT put_Identify(
    VARIANT_BOOL  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrInstrument Interface
Keysight.KtMDsr.Interop Namespace


PatternCacheSize Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrInstrument..::.PatternCacheSize Property
IKtMDsrInstrument See Also

Gets the current pattern cache size that was set with ConfigureMemory.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property PatternCacheSize As Integer
C#
public int  PatternCacheSize { get; }
Visual C++
HRESULT get_PatternCacheSize(
    long*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrInstrument Interface
Keysight.KtMDsr.Interop Namespace


QueryAuxiliaryOutputControl Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrInstrument..::.QueryAuxiliaryOutputControl Method
IKtMDsrInstrument See Also

Queries whether the specified auxiliary, open drain output pin on the module is currently grounded or in a high impedance state.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function QueryAuxiliaryOutputControl ( _
    ByVal  Pin As Integer  _
) As KtMDsrInstrumentAuxiliaryOutputControlEnum
C#
public KtMDsrInstrumentAuxiliaryOutputControlEnum  QueryAuxiliaryOutputControl(
    int  Pin
)
Visual C++
HRESULT QueryAuxiliaryOutputControl(
    long  Pin
    KtMDsrInstrumentAuxiliaryOutputControlEnum*  retval
);

Parameters

Pin

Pin number to query. This is one of the four auxiliary, open drain output pins on the module. The pins are numbered 0-3.

Return Value

Current state of the Auxiliary pin.

Remarks

1 indicates the pin is set to high impedance state. 0 indicates the pin is set to ground.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrInstrument Interface
Keysight.KtMDsr.Interop Namespace


ReferenceClock Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrInstrument..::.ReferenceClock Property
IKtMDsrInstrument See Also

Pointer to the IKtMDsrInstrumentReferenceClock interface. This interface controls the source of the reference clock.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property ReferenceClock As IKtMDsrInstrumentReferenceClock
C#
public IKtMDsrInstrumentReferenceClock  ReferenceClock { get; }
Visual C++
HRESULT get_ReferenceClock(
    IKtMDsrInstrumentReferenceClock**  val
);

Remarks

The functions and attributes in the ReferenceClock interface control and evaluate the status of the frequency reference provided to the instrument.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrInstrument Interface
Keysight.KtMDsr.Interop Namespace


Configure Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrInstrumentReferenceClock..::.Configure Method
IKtMDsrInstrumentReferenceClock See Also

This function specifies the reference clock source and frequency. The clock source can be selected from a system timing module, the DSR front panel, and the chassis backplane. The clock frequency can be either 10 MHz or 100 MHz, depending on the source.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Configure ( _
    ByVal  Source As KtMDsrInstrumentReferenceClockSourceEnum  _
    ByVal  Frequency As Double  _
)
C#
public void  Configure(
    KtMDsrInstrumentReferenceClockSourceEnum  Source,
    double  Frequency
)
Visual C++
HRESULT Configure(
    KtMDsrInstrumentReferenceClockSourceEnum  Source,
    double  Frequency
);

Parameters

Source

Clock source to be used.

Frequency

Configures the reference frequency provided to the instrument.

Remarks

The three selectable DSR reference clock sources are shown in the table below along with the supported frequencies of the clock sources.

Source | Frequency (must be entered in Hz)
PXIe_DSTARA | 10 MHz or 100 MHz
Clock In connector | 10 MHz or 100 MHz
PXIe_CLK100 | 100 MHz

The reference clocks are sourced as follows:

  • PXIe_DSTARA � This clock is generated by a system timing module, if present, and can be either 10 MHz or 100 MHz. In the Keysight M9018A chassis, the system timing module is installed in slot 10. System timing modules are available from 3rd parties, refer to their documentation for information on how to generate the PXIe_DSTARA clock.
  • Clock In connector � This connector is on the DSR front panel, and can be used to connect either a 10 MHz or 100 MHz clock.
  • PXIe_CLK100 � This clock is available on the chassis backplane and is fixed at 100 MHz. This clock is selected by default whenever the driver is Initialized.

All reference clock sources must be within +/- 40 PPM of their target frequency, either 10 MHz or 100 MHz.

As shown in the Syntax section above, enums are used to specify the clock source. The clock frequency is specified in Hz, and must either be 1E7 (10 MHz) or 1E8 (100 MHz), or equivalent notations.

After configuring the clock, checking of the LostLock attribute is recommended. LostLock will be False if locking occurred on the selected reference clock. In order to provide sufficient time for locking to occur on the selected clock, .5 seconds should be allowed between selecting a new clock and checking the LostLock attribute.

As described on the LostLock property page, anytime this property is read, it should be read twice in succession. The first read will clear out any history of a previously lost lock while the second read will provide the actual LostLock status.

NOTE: Care should be taken to avoid selecting an unavailable clock source. Selecting, for example, the front panel Clk In source when there is no clock present on the Clk In connector will render the DSR unable to generate patterns. The DSR will likewise be unable to generate patterns if the clock frequency is outside of the +/- 40 PPM frequency range. As mentioned above, the LostLock attribute can be checked to determine if locking has failed to occur (LostLock will be True if locking has failed).

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrInstrumentReferenceClock Interface
Keysight.KtMDsr.Interop Namespace


Frequency Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrInstrumentReferenceClock..::.Frequency Property
IKtMDsrInstrumentReferenceClock See Also

This attribute returns the frequency, in Hz, specified with Configure.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Frequency As Double
C#
public double  Frequency { get; }
Visual C++
HRESULT get_Frequency(
    double*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrInstrumentReferenceClock Interface
Keysight.KtMDsr.Interop Namespace


LostLock Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrInstrumentReferenceClock..::.LostLock Property
IKtMDsrInstrumentReferenceClock See Also

True indicates that the reference clock PLL has lost lock since it was last tested.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property LostLock As Boolean
C#
public bool  LostLock { get; }
Visual C++
HRESULT get_LostLock(
    VARIANT_BOOL*  val
);

Remarks

This attribute is cleared whenever it is read; therefore, it is True when the reference clock has lost lock since it was last tested.

To determine if the current frequency source is stable and locked, this attribute must be read twice since the first read could indicate that lock had been previously lost at some earlier time.

This attribute is automatically cleared before a pattern is executed, and tested at the end of execution to ensure that lock was not lost during execution.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrInstrumentReferenceClock Interface
Keysight.KtMDsr.Interop Namespace


Source Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrInstrumentReferenceClock..::.Source Property
IKtMDsrInstrumentReferenceClock See Also

This attribute returns the reference frequency source specified with Configure.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Source As KtMDsrInstrumentReferenceClockSourceEnum
C#
public KtMDsrInstrumentReferenceClockSourceEnum  Source { get; }
Visual C++
HRESULT get_Source(
    KtMDsrInstrumentReferenceClockSourceEnum*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrInstrumentReferenceClock Interface
Keysight.KtMDsr.Interop Namespace


RemainingCache Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrInstrument..::.RemainingCache Property
IKtMDsrInstrument See Also

Calculates and returns the amount of cache memory remaining and available for compiled patterns.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property RemainingCache As Integer
C#
public int  RemainingCache { get; }
Visual C++
HRESULT get_RemainingCache(
    long*  val
);

Remarks

RemainingCache differs from CacheSize in that RemainingCache returns the amount of memory remaining and not currently in use.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrInstrument Interface
Keysight.KtMDsr.Interop Namespace


RemoveAllDynamicItems Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrInstrument..::.RemoveAllDynamicItems Method
IKtMDsrInstrument See Also

Removes all of the STIL components, and inactivates any active sites on the instrument.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub RemoveAllDynamicItems ( _
)
C#
public void  RemoveAllDynamicItems(
)
Visual C++
HRESULT RemoveAllDynamicItems(
);

Remarks

For more information about STIL components or active sites, see:

STIL Components

Active Sites

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrInstrument Interface
Keysight.KtMDsr.Interop Namespace


ResultSize Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrInstrument..::.ResultSize Property
IKtMDsrInstrument See Also

Result size as determined by ConfigureMemory.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property ResultSize As Integer
C#
public int  ResultSize { get; }
Visual C++
HRESULT get_ResultSize(
    long*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrInstrument Interface
Keysight.KtMDsr.Interop Namespace


SetAuxiliaryOutputControl Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrInstrument..::.SetAuxiliaryOutputControl Method
IKtMDsrInstrument See Also

Writes the logical value to one of the four auxiliary, open drain output pins on the module. The pins are numbered 0-3. Writing 1 sets the pin to its high impedance state. Writing zero sets the pin to ground.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub SetAuxiliaryOutputControl ( _
    ByVal  Pin As Integer  _
    ByVal  Value As KtMDsrInstrumentAuxiliaryOutputControlEnum  _
)
C#
public void  SetAuxiliaryOutputControl(
    int  Pin,
    KtMDsrInstrumentAuxiliaryOutputControlEnum  Value
)
Visual C++
HRESULT SetAuxiliaryOutputControl(
    long  Pin,
    KtMDsrInstrumentAuxiliaryOutputControlEnum  Value
);

Parameters

Pin

Pin number to set. This is one of the four auxiliary, open drain output pins on the module, numbered 0-3.

Value

Logical value to write to the pin.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrInstrument Interface
Keysight.KtMDsr.Interop Namespace


Slot Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrInstrument..::.Slot Property
IKtMDsrInstrument See Also

The chassis slot number that the module occupies.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Slot As Integer
C#
public int  Slot { get; }
Visual C++
HRESULT get_Slot(
    long*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrInstrument Interface
Keysight.KtMDsr.Interop Namespace


Temperature Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrInstrument..::.Temperature Property
IKtMDsrInstrument See Also

Return the module temperature in degrees Celsius.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Temperature As Double
C#
public double  Temperature { get; }
Visual C++
HRESULT get_Temperature(
    double*  val
);

Remarks

Note:

  • Temperatures should not be read while executing a List.
  • Reading board temperatures is time consuming, and should be used sparingly.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrInstrument Interface
Keysight.KtMDsr.Interop Namespace


MacroDefs Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr..::.MacroDefs Property
IKtMDsr See Also

Pointer to the IKtMDsrMacroDefs interface. This interface is used to specify the pattern that is used to define macros.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property MacroDefs As IKtMDsrMacroDefs
C#
public IKtMDsrMacroDefs  MacroDefs { get; }
Visual C++
HRESULT get_MacroDefs(
    IKtMDsrMacroDefs**  val
);

Remarks

MacroDefs is one of the STIL Components. As with all STIL components, they can be created using the IVI API, or by loading a file in one of the file formats supported by the DSR software.

For more information on the MacroDef interface, see the MacroDef Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsr Interface
Keysight.KtMDsr.Interop Namespace


Add Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrMacroDefs..::.Add Method
IKtMDsrMacroDefs See Also

Adds a MacroDef block of the specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Add ( _
    ByVal  Name As String  _
)
C#
public void  Add(
    string  Name
)
Visual C++
HRESULT Add(
    BSTR  Name
);

Parameters

Name

Name of MacroDef

Remarks

For more information on the MacroDef interface, see the MacroDef Overview.
For more information on the dynamic repeated capability Add function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrMacroDefs Interface
Keysight.KtMDsr.Interop Namespace


Count Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrMacroDefs..::.Count Property
IKtMDsrMacroDefs See Also

Returns the number of MacroDef blocks defined.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Count As Integer
C#
public int  Count { get; }
Visual C++
HRESULT get_Count(
    long*  val
);

Remarks

For more information on the MacroDef interface, see the MacroDef Overview.
For more information on the dynamic repeated capability Count attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrMacroDefs Interface
Keysight.KtMDsr.Interop Namespace


Item Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrMacroDefs..::.Item Property
IKtMDsrMacroDefs See Also

Returns the MacroDef block with the specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Item( _
    ByVal  Name As String  _
) As IKtMDsrMacroDef
C#
public IKtMDsrMacroDef  get_Item(
    string  Name
)
Visual C++
HRESULT get_Item(
    BSTR  Name,
    IKtMDsrMacroDef**  val
);

Parameters

Name

The name of a MacroDef block.For valid values, see the MacroDef repeated capability.

Remarks

For more information on the MacroDef interface, see the MacroDef Overview.
For more information on the dynamic repeated capability Item function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrMacroDefs Interface
Keysight.KtMDsr.Interop Namespace


DefineMacro Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrMacroDef..::.DefineMacro Method
IKtMDsrMacroDef See Also

Defines the patterns to be used as macros.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub DefineMacro ( _
    ByVal  MacroNames As String  _
    ByVal  Patterns As String  _
)
C#
public void  DefineMacro(
    string  MacroNames,
    string  Patterns
)
Visual C++
HRESULT DefineMacro(
    BSTR  MacroNames,
    BSTR  Patterns
);

Parameters

MacroNames

Comma-separated list of macro names.

Patterns

Comma-separated list of Pattern names to be used as macros.

Remarks

DefineMacro designates one or more patterns to be used as macros. A pattern designated as a macro can be executed from another pattern by including a line that calls it in the invoking pattern.

Macros are invoked using the Macro line type from the API, or the appropriate language syntax from one of the pattern files.

The MacroNames are assigned to the Patterns at the same position in the comma-separated list. For instance, if the MacroNames are "Able, Boy, Cast" and the pattern block names are "Alfa, Bravo, Charlie", then invoking macro Boy, would execute the pattern defined in pattern block Bravo.

For more information on the MacroDef interface, see the MacroDef Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrMacroDef Interface
Keysight.KtMDsr.Interop Namespace


Macros Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrMacroDef..::.Macros Property
IKtMDsrMacroDef See Also

Returns a comma-separated list of Macros defined in this MacroDef.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Macros As String
C#
public string  Macros { get; }
Visual C++
HRESULT get_Macros(
    BSTR*  val
);

Remarks

For more information on the MacroDef interface, see the MacroDef Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrMacroDef Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrMacroDef..::.Name Property
IKtMDsrMacroDef See Also

The name of the current MacroDef block.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name As String
C#
public string  Name { get; }
Visual C++
HRESULT get_Name(
    BSTR*  val
);

Remarks

This is useful when a reference to this block is acquired using the Item function and there is a subsequent need to determine the block name.

For more information on the MacroDef interface, see the MacroDef Overview.
For more information on the dynamic repeated capability Item.Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrMacroDef Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrMacroDefs..::.Name Property
IKtMDsrMacroDefs See Also

Returns the MacroDef name for the specified index.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name( _
    ByVal  Index As Integer  _
) As String
C#
public string  get_Name(
    int  Index
)
Visual C++
HRESULT get_Name(
    long  Index,
    BSTR*  val
);

Parameters

Index

One-based index into the collection of MacroDefs.

Remarks

For more information on the MacroDef interface, see the MacroDef Overview.
For more information on the dynamic repeated capability Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrMacroDefs Interface
Keysight.KtMDsr.Interop Namespace


Remove Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrMacroDefs..::.Remove Method
IKtMDsrMacroDefs See Also

Removes the MacroDef block with the specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Remove ( _
    ByVal  Name As String  _
)
C#
public void  Remove(
    string  Name
)
Visual C++
HRESULT Remove(
    BSTR  Name
);

Parameters

Name

Name of MacroDef to remove

Remarks

For more information on the MacroDef interface, see the MacroDef Overview.
For more information on the dynamic repeated capability Remove function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrMacroDefs Interface
Keysight.KtMDsr.Interop Namespace


Modules Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr2..::.Modules Property
IKtMDsr2 See Also

Pointer to the IKtMDsrModules interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Modules As IKtMDsrModules
C#
public IKtMDsrModules  Modules { get; }
Visual C++
HRESULT get_Modules(
    IKtMDsrModules**  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsr2 Interface
Keysight.KtMDsr.Interop Namespace


Count Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModules..::.Count Property
IKtMDsrModules See Also

Returns the number of modules.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Count As Integer
C#
public int  Count { get; }
Visual C++
HRESULT get_Count(
    long*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrModules Interface
Keysight.KtMDsr.Interop Namespace


Item Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModules..::.Item Property
IKtMDsrModules See Also

Pointer to the IKtMDsrModule interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Item( _
    ByVal  Name As String  _
) As IKtMDsrModule
C#
public IKtMDsrModule  get_Item(
    string  Name
)
Visual C++
HRESULT get_Item(
    BSTR  Name,
    IKtMDsrModule**  val
);

Parameters

Name

The name of a module. It may be either a name returned by the Name property or a name mapped to a particular repeated capability in the session in the configuration store.For valid values, see the Module repeated capability.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrModules Interface
Keysight.KtMDsr.Interop Namespace


Calibration Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModule..::.Calibration Property
IKtMDsrModule See Also

Pointer to the IKtMDsrModuleCalibration interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Calibration As IKtMDsrModuleCalibration
C#
public IKtMDsrModuleCalibration  Calibration { get; }
Visual C++
HRESULT get_Calibration(
    IKtMDsrModuleCalibration**  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrModule Interface
Keysight.KtMDsr.Interop Namespace


AdjustmentInformation Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModuleCalibration..::.AdjustmentInformation Property
IKtMDsrModuleCalibration See Also

Read Only - A multi-line list of calibration adjustment information. Each system with this module that a system calibration has been performed with will generate a line that includes the calibration date and instrument identifier.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property AdjustmentInformation As String
C#
public string  AdjustmentInformation { get; }
Visual C++
HRESULT get_AdjustmentInformation(
    BSTR*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrModuleCalibration Interface
Keysight.KtMDsr.Interop Namespace


DueDate Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModuleCalibration..::.DueDate Property
IKtMDsrModuleCalibration See Also

Read Only - The computed date of the next required module calibration date. If the module is not subject to periodic calibration, this returns "n/a". If the module has not been calibrated, this returns "unknown". If the module is calibrated, this returns a date formatted for the current locale.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property DueDate As String
C#
public string  DueDate { get; }
Visual C++
HRESULT get_DueDate(
    BSTR*  val
);

Remarks

DueDate depends on

  • The module having module verification date (not all modules do)
  • User specified settings EnablePeriodicCal and ModuleCalInterval

The value of Modules.Item.Calibration.DueDate (MODULES_CALIBRATION_DUE_DATE) will affect the values of Calibration.DueDate (CALIBRATION_DUE_DATE)and Calibration.Status (CALIBRATION_STATUS) see those properties for more details.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrModuleCalibration Interface
Keysight.KtMDsr.Interop Namespace


Status Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModuleCalibration..::.Status Property
IKtMDsrModuleCalibration See Also

Read Only - This property indicates the calibration status of the module. The status is determined by comparing the (module calibration due date - cal due reminder value) to the current date.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Status As KtMDsrCalibrationStatusEnum
C#
public KtMDsrCalibrationStatusEnum  Status { get; }
Visual C++
HRESULT get_Status(
    KtMDsrCalibrationStatusEnum*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrModuleCalibration Interface
Keysight.KtMDsr.Interop Namespace


VerificationInformation Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModuleCalibration..::.VerificationInformation Property
IKtMDsrModuleCalibration See Also

Read Only - A multi-line list of calibration verification information. Each system that the module calibration has been verified with will generate a line that includes the calibration date and instrument identifier.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property VerificationInformation As String
C#
public string  VerificationInformation { get; }
Visual C++
HRESULT get_VerificationInformation(
    BSTR*  val
);

Remarks

The instrument identifier is a 10 character hash code followed by each module's model and serial number.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrModuleCalibration Interface
Keysight.KtMDsr.Interop Namespace


Identify Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModule..::.Identify Property
IKtMDsrModule See Also

Flashes the light on the front of the module.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property Identify As Boolean
C#
public bool  Identify { get; set; }
Visual C++
HRESULT get_Identify(
    VARIANT_BOOL*  val
);
HRESULT put_Identify(
    VARIANT_BOOL  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrModule Interface
Keysight.KtMDsr.Interop Namespace


Nonvolatile Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModule..::.Nonvolatile Property
IKtMDsrModule See Also

Pointer to the IKtMDsrModuleNonvolatile interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Nonvolatile As IKtMDsrModuleNonvolatile
C#
public IKtMDsrModuleNonvolatile  Nonvolatile { get; }
Visual C++
HRESULT get_Nonvolatile(
    IKtMDsrModuleNonvolatile**  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrModule Interface
Keysight.KtMDsr.Interop Namespace


AssetNumber Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModuleNonvolatile..::.AssetNumber Property
IKtMDsrModuleNonvolatile See Also

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property AssetNumber As String
C#
public string  AssetNumber { get; set; }
Visual C++
HRESULT get_AssetNumber(
    BSTR*  val
);
HRESULT put_AssetNumber(
    BSTR  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrModuleNonvolatile Interface
Keysight.KtMDsr.Interop Namespace


CalDueReminder Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModuleNonvolatile..::.CalDueReminder Property
IKtMDsrModuleNonvolatile See Also

The "reminder" period, in days, prior to any calibration due. Range 0..1000 days. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property CalDueReminder As Integer
C#
public int  CalDueReminder { get; set; }
Visual C++
HRESULT get_CalDueReminder(
    long*  val
);
HRESULT put_CalDueReminder(
    long  val
);

Remarks

If this value has never been set, the value is 30 days. This value is not affected by Reset or power cycle.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrModuleNonvolatile Interface
Keysight.KtMDsr.Interop Namespace


Clear Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModuleNonvolatile..::.Clear Method
IKtMDsrModuleNonvolatile See Also

Clears/discards any changes to cached values and resets cached values to the current nonvolatile settings.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Clear ( _
)
C#
public void  Clear(
)
Visual C++
HRESULT Clear(
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrModuleNonvolatile Interface
Keysight.KtMDsr.Interop Namespace


EnableInstrumentCalWarnings Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModuleNonvolatile..::.EnableInstrumentCalWarnings Property
IKtMDsrModuleNonvolatile See Also

Enable/disable of instrument cal checks/warnings. If this value is true and module calibration date + ModuleCalInterval is close or past, then a warning will be generated. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property EnableInstrumentCalWarnings As Boolean
C#
public bool  EnableInstrumentCalWarnings { get; set; }
Visual C++
HRESULT get_EnableInstrumentCalWarnings(
    VARIANT_BOOL*  val
);
HRESULT put_EnableInstrumentCalWarnings(
    VARIANT_BOOL  val
);

Remarks

If this value has never been set, the value is false. This value is not affected by Reset or power cycle.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrModuleNonvolatile Interface
Keysight.KtMDsr.Interop Namespace


EnableModuleCalWarnings Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModuleNonvolatile..::.EnableModuleCalWarnings Property
IKtMDsrModuleNonvolatile See Also

Enable/disable of module cal checks/warnings. If this value is true and module calibration date + ModuleCalInterval is close or past, then a warning will be generated. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property EnableModuleCalWarnings As Boolean
C#
public bool  EnableModuleCalWarnings { get; set; }
Visual C++
HRESULT get_EnableModuleCalWarnings(
    VARIANT_BOOL*  val
);
HRESULT put_EnableModuleCalWarnings(
    VARIANT_BOOL  val
);

Remarks

If this value has never been set, the value is false. This value is not affected by Reset or power cycle.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrModuleNonvolatile Interface
Keysight.KtMDsr.Interop Namespace


EnablePeriodicCal Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModuleNonvolatile..::.EnablePeriodicCal Property
IKtMDsrModuleNonvolatile See Also

Enable/disable of "subject to periodic cal". If this value is false, no checks of cal dates/intervals should be done and the SFP should display "Not subject to periodic cal". Setting this property caches the value in memory. To persist it use System Nonvolatile Write.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property EnablePeriodicCal As Boolean
C#
public bool  EnablePeriodicCal { get; set; }
Visual C++
HRESULT get_EnablePeriodicCal(
    VARIANT_BOOL*  val
);
HRESULT put_EnablePeriodicCal(
    VARIANT_BOOL  val
);

Remarks

If this value has never been set, the value is false. This value is not affected by Reset or power cycle.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrModuleNonvolatile Interface
Keysight.KtMDsr.Interop Namespace


InstrumentCalInterval Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModuleNonvolatile..::.InstrumentCalInterval Property
IKtMDsrModuleNonvolatile See Also

The instrument (multi-module) calibration interval in days. Range 1..10000 days. Checks for "cal due" are based on the instrument's calibration date (set by Keysight manufacturing/service) + InstrumentCalInterval. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property InstrumentCalInterval As Integer
C#
public int  InstrumentCalInterval { get; set; }
Visual C++
HRESULT get_InstrumentCalInterval(
    long*  val
);
HRESULT put_InstrumentCalInterval(
    long  val
);

Remarks

If this value has never been set, the value is 365 days. This value is not affected by Reset or power cycle.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrModuleNonvolatile Interface
Keysight.KtMDsr.Interop Namespace


ModuleCalInterval Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModuleNonvolatile..::.ModuleCalInterval Property
IKtMDsrModuleNonvolatile See Also

The module calibration interval in days. Range 1..10000 days. Checks for "cal due" are based on the module's calibration date (set by Keysight manufacturing/service) + ModuleCalInterval. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property ModuleCalInterval As Integer
C#
public int  ModuleCalInterval { get; set; }
Visual C++
HRESULT get_ModuleCalInterval(
    long*  val
);
HRESULT put_ModuleCalInterval(
    long  val
);

Remarks

If this value has never been set, the value is 365 days. This value is not affected by Reset or power cycle.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrModuleNonvolatile Interface
Keysight.KtMDsr.Interop Namespace


Passphrase Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModuleNonvolatile..::.Passphrase Property
IKtMDsrModuleNonvolatile See Also

A passphrase used to protect various values in Nonvolatile (see below). Passphrase must be provided to Write if any of these values have changed. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property Passphrase As String
C#
public string  Passphrase { get; set; }
Visual C++
HRESULT get_Passphrase(
    BSTR*  val
);
HRESULT put_Passphrase(
    BSTR  val
);

Remarks

If this value has never been set, the value is "" (empty string). This value is not affected by Reset or power cycle. The values protected by Passphrase are

  • EnablePeriodicCalChecks
  • EnableModuleCalWarnings
  • EnableInstrumentCalWarnings
  • ModuleCalInterval
  • InstrumentCalInterval
  • Passphrase
If the passphrase has been forgotten, it can be reset programmatically using Modules.Item.Nonvolatile.Clear() OldPassphrase = Modules.Item.Nonvolatile.Passphrase Modules.Item.Nonvolatile.Passphrase = NewPassphrase Modules.Item.Nonvolatile.Write( OldPassphrase )

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrModuleNonvolatile Interface
Keysight.KtMDsr.Interop Namespace


SystemIdentification Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModuleNonvolatile..::.SystemIdentification Property
IKtMDsrModuleNonvolatile See Also

A persistent arbitrary string with a maximum length of 32 characters nominally intended to provide a user customizable method to distinguish modules. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property SystemIdentification As String
C#
public string  SystemIdentification { get; set; }
Visual C++
HRESULT get_SystemIdentification(
    BSTR*  val
);
HRESULT put_SystemIdentification(
    BSTR  val
);

Remarks

If this value has never been set, the value is "" (empty string). This value is not affected by Reset or power cycle.

This value is unused by the IVI driver.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrModuleNonvolatile Interface
Keysight.KtMDsr.Interop Namespace


Write Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModuleNonvolatile..::.Write Method
IKtMDsrModuleNonvolatile See Also

Writes all cached values from the System.Nonvolatile.Item interface to nonvolatile memory. If certain values have changed (see below) the current Passphrase must be supplied to Write.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Write ( _
    ByVal  Passphrase As String  _
)
C#
public void  Write(
    string  Passphrase
)
Visual C++
HRESULT Write(
    BSTR  Passphrase
);

Parameters

Passphrase

Passphrase used to protect certain values in Nonvolatile. If none of these values have changed, this parameter is ignored.

Remarks

Please note that the physical hardware supports a limited number of write cycles so the number of changes to Nonvolatile properties and calls to Write should be minimized. If any of the following values have changed, the current Passphrase value must be specified. The values protected by Passphrase are

  • EnablePeriodicCalChecks
  • EnableModuleCalWarnings
  • EnableInstrumentCalWarnings
  • ModuleCalInterval
  • InstrumentCalInterval
  • Passphrase

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrModuleNonvolatile Interface
Keysight.KtMDsr.Interop Namespace


Options Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModule..::.Options Property
IKtMDsrModule See Also

Read Only - A comma separated list of the options installed in the module.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Options As String
C#
public string  Options { get; }
Visual C++
HRESULT get_Options(
    BSTR*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrModule Interface
Keysight.KtMDsr.Interop Namespace


SerialNumber Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModule..::.SerialNumber Property
IKtMDsrModule See Also

Read Only - Serial number of the module.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property SerialNumber As String
C#
public string  SerialNumber { get; }
Visual C++
HRESULT get_SerialNumber(
    BSTR*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrModule Interface
Keysight.KtMDsr.Interop Namespace


Slot Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModule..::.Slot Property
IKtMDsrModule See Also

Read Only - The chassis slot the module occupies.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Slot As Integer
C#
public int  Slot { get; }
Visual C++
HRESULT get_Slot(
    long*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrModule Interface
Keysight.KtMDsr.Interop Namespace


Temperature Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModule..::.Temperature Property
IKtMDsrModule See Also

Read Only - Returns the module temperature in degrees Celsius.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Temperature As Double
C#
public double  Temperature { get; }
Visual C++
HRESULT get_Temperature(
    double*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrModule Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModules..::.Name Property
IKtMDsrModules See Also

Returns the module name for a given index.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name( _
    ByVal  Index As Integer  _
) As String
C#
public string  get_Name(
    int  Index
)
Visual C++
HRESULT get_Name(
    long  Index,
    BSTR*  val
);

Parameters

Index

One based index into the collection of modules.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrModules Interface
Keysight.KtMDsr.Interop Namespace


PatternBursts Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr..::.PatternBursts Property
IKtMDsr See Also

Pointer to the IKtMDsrPatternBursts interface. The PatternBursts interface defines the sequence of Patterns that are executed by a PatternExec; it also defines the MacroDefs blocks to use when compiling the Patterns.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property PatternBursts As IKtMDsrPatternBursts
C#
public IKtMDsrPatternBursts  PatternBursts { get; }
Visual C++
HRESULT get_PatternBursts(
    IKtMDsrPatternBursts**  val
);

Remarks

See PatternBurst Overview, STIL Components and Dynamic Repeated Capabilities for more information.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsr Interface
Keysight.KtMDsr.Interop Namespace


Add Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternBursts..::.Add Method
IKtMDsrPatternBursts See Also

Adds a PatternBurst block of the specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Add ( _
    ByVal  Name As String  _
)
C#
public void  Add(
    string  Name
)
Visual C++
HRESULT Add(
    BSTR  Name
);

Parameters

Name

Name of PatternBurst

Remarks

For more information on the PatternBurst interface, see the PatternBurst Overview.
For more information on the dynamic repeated capability Add function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternBursts Interface
Keysight.KtMDsr.Interop Namespace


Count Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternBursts..::.Count Property
IKtMDsrPatternBursts See Also

Returns the number of PatternBurst blocks defined.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Count As Integer
C#
public int  Count { get; }
Visual C++
HRESULT get_Count(
    long*  val
);

Remarks

For more information on the PatternBurst interface, see the PatternBurst Overview.
For more information on the dynamic repeated capability Count attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternBursts Interface
Keysight.KtMDsr.Interop Namespace


Item Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternBursts..::.Item Property
IKtMDsrPatternBursts See Also

Returns the PatternBlock block with the specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Item( _
    ByVal  Name As String  _
) As IKtMDsrPatternBurst
C#
public IKtMDsrPatternBurst  get_Item(
    string  Name
)
Visual C++
HRESULT get_Item(
    BSTR  Name,
    IKtMDsrPatternBurst**  val
);

Parameters

Name

The name of a PatternBurst block.For valid values, see the PatternBurst repeated capability.

Remarks

For more information on the PatternBurst interface, see the PatternBurst Overview.
For more information on the dynamic repeated capability Item function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternBursts Interface
Keysight.KtMDsr.Interop Namespace


MacroDefs Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternBurst..::.MacroDefs Property
IKtMDsrPatternBurst See Also

Name of the MacroDefs block to use when compiling the macro definitions in this PatternBurst.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property MacroDefs As String
C#
public string  MacroDefs { get; set; }
Visual C++
HRESULT get_MacroDefs(
    BSTR*  val
);
HRESULT put_MacroDefs(
    BSTR  val
);

Remarks

All macros used in the Patterns and PatternBursts for this PatternBurst must be defined in the MacroDef block provided.
For more information on the PatternBurst interface, see the PatternBurst Overview.
For more information on Macro definitions, see the MacroDef Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternBurst Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternBurst..::.Name Property
IKtMDsrPatternBurst See Also

The Name of the current PatternBurst block.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name As String
C#
public string  Name { get; }
Visual C++
HRESULT get_Name(
    BSTR*  val
);

Remarks

This is useful when a reference to this block is acquired using the Item function and there is a subsequent need to determine the block name.

For more information on the PatternBurst interface, see the PatternBurst Overview.
For more information on the dynamic repeated capability Item.Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternBurst Interface
Keysight.KtMDsr.Interop Namespace


Patterns Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternBurst..::.Patterns Property
IKtMDsrPatternBurst See Also

Comma-separated list of Pattern blocks or other PatternBursts to execute when this Pattern Burst is executed. The patterns are executed in the order specified and any macros are compiled using the MacroDefs block in this PatternBurst.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property Patterns As String
C#
public string  Patterns { get; set; }
Visual C++
HRESULT get_Patterns(
    BSTR*  val
);
HRESULT put_Patterns(
    BSTR  val
);

Remarks

The block references in the comma-separated strings can be either the names of Pattern blocks or of PatternBurst blocks.

The Pattern blocks are executed in the order in which they appear in the string. The same Pattern block can be referenced multiple times.

Blocks do not need to be defined before they are referenced.

For more information on the PatternBurst interface, see the PatternBurst Overview.
For more information on the Patterns block, see the Patterns Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternBurst Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternBursts..::.Name Property
IKtMDsrPatternBursts See Also

Returns the PatternBurst name for the specified index.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name( _
    ByVal  Index As Integer  _
) As String
C#
public string  get_Name(
    int  Index
)
Visual C++
HRESULT get_Name(
    long  Index,
    BSTR*  val
);

Parameters

Index

One-based index into the collection of patternbursts.

Remarks

For more information on the PatternBurst interface, see the PatternBurst Overview.
For more information on the dynamic repeated capability Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternBursts Interface
Keysight.KtMDsr.Interop Namespace


Remove Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternBursts..::.Remove Method
IKtMDsrPatternBursts See Also

Removes the PatternBurst block with the specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Remove ( _
    ByVal  Name As String  _
)
C#
public void  Remove(
    string  Name
)
Visual C++
HRESULT Remove(
    BSTR  Name
);

Parameters

Name

Name of PatternBurst

Remarks

For more information on the PatternBurst interface, see the PatternBurst Overview.
For more information on the dynamic repeated capability Remove function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternBursts Interface
Keysight.KtMDsr.Interop Namespace


PatternExecs Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr..::.PatternExecs Property
IKtMDsr See Also

Pointer to the IKtMDsrPatternExecs interface. The PatternExecs interface defines the block that contains everything necessary to execute a pattern. This is made up of a PatternBurst and DcLevels block.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property PatternExecs As IKtMDsrPatternExecs
C#
public IKtMDsrPatternExecs  PatternExecs { get; }
Visual C++
HRESULT get_PatternExecs(
    IKtMDsrPatternExecs**  val
);

Remarks

See PatternExec Overview and STIL Components for more information.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsr Interface
Keysight.KtMDsr.Interop Namespace


Add Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternExecs..::.Add Method
IKtMDsrPatternExecs See Also

Adds a PatternExec block of the specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Add ( _
    ByVal  Name As String  _
)
C#
public void  Add(
    string  Name
)
Visual C++
HRESULT Add(
    BSTR  Name
);

Parameters

Name

Name of PatternExec

Remarks

For more information on the PatternExec interface, see the PatternExec Overview.
For more information on the dynamic repeated capability Add function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternExecs Interface
Keysight.KtMDsr.Interop Namespace


Count Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternExecs..::.Count Property
IKtMDsrPatternExecs See Also

Returns the number of PatternExec blocks defined.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Count As Integer
C#
public int  Count { get; }
Visual C++
HRESULT get_Count(
    long*  val
);

Remarks

For more information on the PatternExec interface, see the PatternExec Overview.
For more information on the dynamic repeated capability Count attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternExecs Interface
Keysight.KtMDsr.Interop Namespace


Item Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternExecs..::.Item Property
IKtMDsrPatternExecs See Also

Returns the PatternExec block with the specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Item( _
    ByVal  Name As String  _
) As IKtMDsrPatternExec
C#
public IKtMDsrPatternExec  get_Item(
    string  Name
)
Visual C++
HRESULT get_Item(
    BSTR  Name,
    IKtMDsrPatternExec**  val
);

Parameters

Name

The name of a PatternExec block.For valid values, see the PatternExec repeated capability.

Remarks

For more information on the PatternExec interface, see the PatternExec Overview.
For more information on the dynamic repeated capability Item function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternExecs Interface
Keysight.KtMDsr.Interop Namespace


DcLevels Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternExec..::.DcLevels Property
IKtMDsrPatternExec See Also

DcLevels block to be used by the PatternExec.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property DcLevels As String
C#
public string  DcLevels { get; set; }
Visual C++
HRESULT get_DcLevels(
    BSTR*  val
);
HRESULT put_DcLevels(
    BSTR  val
);

Remarks

For more information on the PatternExec interface, see the PatternExec Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternExec Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternExec..::.Name Property
IKtMDsrPatternExec See Also

The Name of the current PatternExec block.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name As String
C#
public string  Name { get; }
Visual C++
HRESULT get_Name(
    BSTR*  val
);

Remarks

This is useful when a reference to this block is acquired using the Item function and there is a subsequent need to determine the block name.

For more information on the PatternExec interface, see the PatternExec Overview.
For more information on the dynamic repeated capability Item.Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternExec Interface
Keysight.KtMDsr.Interop Namespace


PatternBurst Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternExec..::.PatternBurst Property
IKtMDsrPatternExec See Also

PatternBurst block to be used by the PatternExec.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property PatternBurst As String
C#
public string  PatternBurst { get; set; }
Visual C++
HRESULT get_PatternBurst(
    BSTR*  val
);
HRESULT put_PatternBurst(
    BSTR  val
);

Remarks

For more information on the PatternExec interface, see the PatternExec Overview.
For more information on the PatternBurst interface, see the PatternBurst Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternExec Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternExecs..::.Name Property
IKtMDsrPatternExecs See Also

Returns the PatternExec name for the specified index.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name( _
    ByVal  Index As Integer  _
) As String
C#
public string  get_Name(
    int  Index
)
Visual C++
HRESULT get_Name(
    long  Index,
    BSTR*  val
);

Parameters

Index

One-based index into the collection of patternexecs.

Remarks

For more information on the PatternExec interface, see the PatternExec Overview.
For more information on the dynamic repeated capability Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternExecs Interface
Keysight.KtMDsr.Interop Namespace


Remove Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternExecs..::.Remove Method
IKtMDsrPatternExecs See Also

Removes the PatternExec block with the specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Remove ( _
    ByVal  Name As String  _
)
C#
public void  Remove(
    string  Name
)
Visual C++
HRESULT Remove(
    BSTR  Name
);

Parameters

Name

Name of PatternExec

Remarks

For more information on the PatternExec interface, see the PatternExec Overview.
For more information on the dynamic repeated capability Remove function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternExecs Interface
Keysight.KtMDsr.Interop Namespace


PatternFile Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr..::.PatternFile Property
IKtMDsr See Also

Pointer to the IKtMDsrPatternFile interface. The PatternFile interface is used to load patterns that are defined in external files, either in STIL, OpenXML, or the KtMDsr Bulk Data format, and to store loaded data to a STIL file.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property PatternFile As IKtMDsrPatternFile
C#
public IKtMDsrPatternFile  PatternFile { get; }
Visual C++
HRESULT get_PatternFile(
    IKtMDsrPatternFile**  val
);

Remarks

For more information on the PatternFile interface, see the PatternFile Overview.
For information on specific file formats, see OpenXML file format, STIL file format, and Bulk Data file format.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsr Interface
Keysight.KtMDsr.Interop Namespace


ErrorCount Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternFile..::.ErrorCount Property
IKtMDsrPatternFile See Also

Returns the number of parsing errors from the last Load. The OpenXML and BulkData parsers may return multiple errros. The STIL parser terminates on the first error, so it always returns 0 or 1 for STIL. Use GetNextError to read the errors.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property ErrorCount As Integer
C#
public int  ErrorCount { get; }
Visual C++
HRESULT get_ErrorCount(
    long*  val
);

Remarks

ErrorCount is reset when a new file is parsed, so it represents only the errors from the most recent Load or LoadAndUpdateXml operation.

ErrorCount is decremented for each error read back with GetNextError.

For more information on the PatternFile interface, see the PatternFile Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternFile Interface
Keysight.KtMDsr.Interop Namespace


GetNextError Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternFile..::.GetNextError Method
IKtMDsrPatternFile See Also

Returns the next parsing error. If there are no errors, returns "No Error."

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function GetNextError ( _
) As String
C#
public string  GetNextError(
)
Visual C++
HRESULT GetNextError(
    BSTR*  retval
);

Return Value

Remarks

Decrements the ErrorCount property for each error it returns.

For more information on the PatternFile interface, see the PatternFile Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternFile Interface
Keysight.KtMDsr.Interop Namespace


Load Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternFile..::.Load Method
IKtMDsrPatternFile See Also

This function loads a STIL, OpenXml, or bulk data file and creates objects based on the content of the file. If an element is loaded and there is already one by that name in the same namespace, the new element will replace the original one.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Load ( _
    ByVal  FileName As String  _
    ByVal  NameSpace As String  _
)
C#
public void  Load(
    string  FileName,
    string  NameSpace
)
Visual C++
HRESULT Load(
    BSTR  FileName,
    BSTR  NameSpace
);

Parameters

FileName

The file, including an optional path to load.

NameSpace

Namespace to load the STIL components into. Use "" for the global namespace. Only supported when loading .stil files

Remarks

The specified file is loaded into the DSR STIL components.

If the file suffix is ".stil", the file is parsed as STIL. If the file suffix is ".xlsx", the file is read as an OpenXML file with the DSR defined STIL data. Otherwise, the file is read as an ASCII text file that contains bulk pattern data in the DSR defined format.

If the file is in Bulk Data file format, the file must include a row that defines the Signals to which the waveform characters are to be applied, as described in the bulk data file overview. The name of the generated pattern block is the base portion of the file name. For instance, a file named "patternfile.txt" would produce a pattern block named "patternfile".

If an OpenXML file is loaded that does not contain either a PatternExec or a PatternBurst, they are created automatically for that file. If additional OpenXML files are loaded simultaneously, the names of the generated blocks may collide with the names created for the original file. Therefore, to load multiple OpenXML files simultaneously, you should include a definition of the PatternExec and PatternBurst.

Duplicate block names may appear within the pattern file. If they do, they replace existing block names.

NameSpace notes

  • To support managing multiple unrelated patterns in memory at the same time, the DSR supports a NameSpace. The symbols that are used are uniquely qualified with the NameSpace so that the same symbol can be used in multiple pattern files with distinct meanings.
  • Signals are an exception, and are always in the Default NameSpace.
  • When a file is loaded, all the symbols defined, except for Signals, are placed into the designated NameSpace. In addition, all symbols referenced, except for Signals, are referenced within the designated NameSpace.
  • To reference symbols from the API that are within a NameSpace, precede the symbol name with the NameSpace name and an exclamation mark (1). For instance, "MyNameSpace!WaveformTable1".
  • If the NameSpace is null, all symbols are put into the default NameSpace.
  • Multiple files may be loaded into the same NameSpace.

For more information on the PatternFile interface, see the PatternFile Overview.
For information on using dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information on specific file formats, see OpenXML file format, STIL file format, and Bulk Data file format.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternFile Interface
Keysight.KtMDsr.Interop Namespace


LoadAndUpdateOpenXml Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternFile..::.LoadAndUpdateOpenXml Method
IKtMDsrPatternFile See Also

This function loads an OpenXml file and creates STIL components based on the content of the file. The STIL components created are dependent on the file contents. Syntax errors are written to a new sheet in the original OpenXml file.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub LoadAndUpdateOpenXml ( _
    ByVal  FileName As String  _
    ByVal  Namespace As String  _
)
C#
public void  LoadAndUpdateOpenXml(
    string  FileName,
    string  Namespace
)
Visual C++
HRESULT LoadAndUpdateOpenXml(
    BSTR  FileName,
    BSTR  Namespace
);

Parameters

FileName

The file, including an optional path to load.

Namespace

For future use: Namespace to load the STIL components into. Use "" for the global namespace.

Remarks

This function works just like Load except that the file must be an OpenXML file (suffix .xlsx). If the file is loaded with this function, and the file has syntax errors, a sheet will be added to the file that contains the syntax errors found in the file. Note that this requires writing to the file.

For more information on the PatternFile interface, see the PatternFile Overview.
For information on using dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information on the OpenXML (spreadsheet) file format, see OpenXML file format.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternFile Interface
Keysight.KtMDsr.Interop Namespace


LoadBulkData Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternFile..::.LoadBulkData Method
IKtMDsrPatternFile See Also

Loads the data file into a pattern of a specified name using the bulk data format.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub LoadBulkData ( _
    ByVal  FileName As String  _
    ByVal  PatternName As String  _
    ByVal  HeaderOverride As String  _
    ByVal  WaveformTableName As String  _
)
C#
public void  LoadBulkData(
    string  FileName,
    string  PatternName,
    string  HeaderOverride,
    string  WaveformTableName
)
Visual C++
HRESULT LoadBulkData(
    BSTR  FileName,
    BSTR  PatternName,
    BSTR  HeaderOverride,
    BSTR  WaveformTableName
);

Parameters

FileName

The file to be loaded, including an optional path.

PatternName

Name of the generated Pattern block. If null or a null string, the Pattern block name is the basename of the filename.

HeaderOverride

A header that overrides any header line defined in the file. Optional when header line is defined within the file. Required if header line is not defined in file. Syntax for this parameter is same as when header line is defined within a file.

WaveformTableName

Waveform table to apply to the pattern. If null or a null string, the waveform table name must be specified in the file.

Remarks

Loads bulk data using a flexible file format. The file is read using the following rules:

  • Comments are designated with a hash (#) or double slash (//). Comments extend to the end of line. Blank lines are also treated as comments.
  • The first non-comment line of the file may be a header that indicates the syntax of the file. The header line begins with "[" and ends with "]". If the header begins with the word "Index," a numeric Index is parsed on each data line. If the header has the word "WaveformTable", then a WaveformTable is parsed on each line. Finally, the header has a list of signals, indicating the order and signal name to associate with each position in the data lines.
  • If no header line is present, the file is assumed to contain only bulk data with an unchanging waveform table and signals as provided via the API.
  • Data lines are parsed based on the header line. Individual waveform characters may be separated by comma or space or may be grouped together.
  • A hyphen (-) can be used in place of a waveform character. This indicates that the previous waveform character on that signal should be repeated. In STIL this is indicated by leaving the waveform character unspecified, but it must be explicit in bulk data.

Generally, values provided by the API override any values appear in the file. For instance, if the signal list is provided in the API, any signals appears on the header line are ignored.

The following are typical examples:

# This file includes a header showing indexes and waveform table

[ Index WaveformTable Signal1 Signal2 Signal3 Clock ]
  0     One           0       1       1       T
  1                   0       1       1       T  #waveform table defaults to previous line
  2                   1       0       0       T  #
  3                   1       0       1       T  #separators are ignored between characters

The following example shows a more terse description. When using this syntax, the waveform table must be specified in the function invocation and the indexes are automatically generated, counting from 0.

# this datafile only defines file includes a header showing indexes and waveform table

  [ Signal1 Signal2 Signal3 Clock ]
    0       1       1       T
    0       1       1       T
    0       0       0       T
    0       0       1       T

The final example is the most dense, but has exactly the same meaning as the previous one, except the signal list must be provided via the API (and the comment has been left out).

    011T
    011-
    100-
    101-

For more information on the PatternFile interface, see the PatternFile Overview.
For information on using dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For specific information on bulk data files, see Bulk Data file format.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternFile Interface
Keysight.KtMDsr.Interop Namespace


LoadBulkDataDeferred Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternFile..::.LoadBulkDataDeferred Method
IKtMDsrPatternFile See Also

Loads a Pattern directly into on board memory.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub LoadBulkDataDeferred ( _
    ByVal  FileName As String  _
    ByVal  PatternName As String  _
    ByVal  HeaderOverride As String  _
    ByVal  WaveformTableName As String  _
    ByVal  MaximumVectorCount As Integer  _
)
C#
public void  LoadBulkDataDeferred(
    string  FileName,
    string  PatternName,
    string  HeaderOverride,
    string  WaveformTableName,
    int  MaximumVectorCount
)
Visual C++
HRESULT LoadBulkDataDeferred(
    BSTR  FileName,
    BSTR  PatternName,
    BSTR  HeaderOverride,
    BSTR  WaveformTableName,
    long  MaximumVectorCount
);

Parameters

FileName

The file to be loaded, including an optional path.

PatternName

Name of the generated Pattern block. If null or a null string, the Pattern block name is the basename of the filename.

HeaderOverride

A header that overrides any header line defined in the file. Optional when header line is defined within the file. Required if header line is not defined in file. Syntax for this parameter is same as when header line is defined within a file.

WaveformTableName

Waveform table to apply to the pattern. If null or a null string, the waveform table name must be specified in the file.

MaximumVectorCount

Maximum vector count to aid in module memory allocation. For more information on module memory configuration, refer to Instrument > ConfigureMemory in the DSR Help file.

Remarks

For more information on the PatternFile interface, see the PatternFile Overview.
For information on using dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For specific information on bulk data files, see Bulk Data file format.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternFile Interface
Keysight.KtMDsr.Interop Namespace


StoreStil Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternFile..::.StoreStil Method
IKtMDsrPatternFile See Also

Stores all components loaded to a STIL file. Note that it does not preserve comments or annotations from the original file.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub StoreStil ( _
    ByVal  FileName As String  _
)
C#
public void  StoreStil(
    string  FileName
)
Visual C++
HRESULT StoreStil(
    BSTR  FileName
);

Parameters

FileName

The file name in which to store the STIL file. Includes an optional path.

Remarks

This method stores all of the STIL components currently defined, to a file.

The generated file will typically not have the same syntax as a STIL input file. For instance, an input file might define SignalGroups and then use those SignalGroups in the definition of the pattern and waveform tables. However, this function will output all of the current settings for each signal, without clumping them by SignalGroups. Therefore, the generated file does not provide a useful human-readable format. It does provide a robust record of the configuration of the DSR.

Loading a file generated from StoreStil returns the pattern definition memory of the DSR to the state it was in when StoreStil was called.

For more information on the PatternFile interface, see the PatternFile Overview.
See STIL Components for more information on how to use the STIL Components.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternFile Interface
Keysight.KtMDsr.Interop Namespace


Patterns Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr..::.Patterns Property
IKtMDsr See Also

Pointer to the IKtMDsrPatterns interface. The Pattern interface is used to define the series of data values that are produced or expected by the DSR.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Patterns As IKtMDsrPatterns
C#
public IKtMDsrPatterns  Patterns { get; }
Visual C++
HRESULT get_Patterns(
    IKtMDsrPatterns**  val
);

Remarks

For more information on the Patterns interface, see the Patterns Overview.
For more information on pattern files, see the PatternFile Overview.
For information on using dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For specific information on using STIL files, see STIL file format.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsr Interface
Keysight.KtMDsr.Interop Namespace


Add Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatterns..::.Add Method
IKtMDsrPatterns See Also

Adds a Pattern block of the specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Add ( _
    ByVal  Name As String  _
)
C#
public void  Add(
    string  Name
)
Visual C++
HRESULT Add(
    BSTR  Name
);

Parameters

Name

Name of Pattern

Remarks

For more information on the Patterns interface, see the Patterns Overview.
For more information on the dynamic repeated capability Add function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatterns Interface
Keysight.KtMDsr.Interop Namespace


Count Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatterns..::.Count Property
IKtMDsrPatterns See Also

Returns the number of Pattern blocks defined.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Count As Integer
C#
public int  Count { get; }
Visual C++
HRESULT get_Count(
    long*  val
);

Remarks

For more information on the Patterns interface, see the Patterns Overview.
For more information on the dynamic repeated capability Count attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatterns Interface
Keysight.KtMDsr.Interop Namespace


Item Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatterns..::.Item Property
IKtMDsrPatterns See Also

Returns the Pattern block with the specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Item( _
    ByVal  Name As String  _
) As IKtMDsrPattern
C#
public IKtMDsrPattern  get_Item(
    string  Name
)
Visual C++
HRESULT get_Item(
    BSTR  Name,
    IKtMDsrPattern**  val
);

Parameters

Name

The name of a Pattern block.For valid values, see the Pattern repeated capability.

Remarks

For more information on the Patterns interface, see the Patterns Overview.
For more information on the dynamic repeated capability Item function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatterns Interface
Keysight.KtMDsr.Interop Namespace


CrossReference Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPattern..::.CrossReference Method
IKtMDsrPattern See Also

Places a CrossReference instruction in the pattern at the specified Index. CrossReferences are used to relate the result from the pattern execution to a specific line in the pattern. The Reference string parameter can also be used in marker generation.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub CrossReference ( _
    ByVal  Index As Integer  _
    ByVal  Reference As String  _
)
C#
public void  CrossReference(
    int  Index,
    string  Reference
)
Visual C++
HRESULT CrossReference(
    long  Index,
    BSTR  Reference
);

Parameters

Index

The index within the pattern where the CrossReference instruction will be inserted.

Reference

This string will appear in the Result line information. For marker generation, this string can be either "Marker1", "Marker2", or "Marker3". See the section "Triggers and Markers" for information on how this string is used in marker generation.

Remarks

When the CrossReference instruction is executed, it sets a tag that is incorporated in the response data. Each recorded response includes the most recently executed tag, and the number of vectors executed since the tag. This information simplifies identifying where in the source pattern a certain result was generated, as the location of result data is identified both in terms of the vector position within the pattern, and also relative to the most recently executed CrossReference instruction.

The Reference string is also used in marker generation. When this string is set to "Marker0", "Marker1", or "Marker2", it causes a reference to their associated properties, either Marker0Destination, Marker1Destination, or Marker2Destination, respectively. These properties specify what marker signal will be used to generate the marker. See Triggers and Markers for more information.

Note that, when the Reference string is set to "Marker0", "Marker1", or "Marker2", the DSR will perform two operations: (1) Insert the string in the results data as with any Reference string and (2) the DSR will generate a marker when the CrossReference instruction is executed.

If a Reference string has a value other than "Marker0", "Marker1", or "Marker2", only the insertion of the string in the results data will be performed, and no marker will be generated.

The CrossReference instruction executes in zero time and it does not impact the stimulus data in any way.

This is the same functionality provided by the STIL X statement.

For more information on the Patterns interface, see the Patterns Overview.

For information on the response data format, and how the CrossReference is incorporated in the results, see PatternSites FetchLineInformation.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPattern Interface
Keysight.KtMDsr.Interop Namespace


DeleteElementAtIndex Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPattern..::.DeleteElementAtIndex Method
IKtMDsrPattern See Also

Deletes the Pattern element at the specified Index.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub DeleteElementAtIndex ( _
    ByVal  Index As Integer  _
)
C#
public void  DeleteElementAtIndex(
    int  Index
)
Visual C++
HRESULT DeleteElementAtIndex(
    long  Index
);

Parameters

Index

The Index in the pattern of the element to be deleted.

Remarks

For more information on the Patterns interface, see the Patterns Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPattern Interface
Keysight.KtMDsr.Interop Namespace


GoTo Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPattern..::.GoTo Method
IKtMDsrPattern See Also

Places a GoTo instruction in the pattern at the specified Index. GoTo causes execution to transfer to the specified label within this pattern.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub GoTo ( _
    ByVal  Index As Integer  _
    ByVal  DestinationLabel As String  _
)
C#
public void  GoTo(
    int  Index,
    string  DestinationLabel
)
Visual C++
HRESULT GoTo(
    long  Index,
    BSTR  DestinationLabel
);

Parameters

Index

The Index where the GoTo statement is placed.

DestinationLabel

The label to which the GoTo statement will transfer execution.

Remarks

GoTo takes zero time to execute.

The destination may be in a different pattern, but it must be within the same PatternBurst.

For more information on the Patterns interface, see the Patterns Overview.
For more information on the PatternBurst interface, see the PatternBurst Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPattern Interface
Keysight.KtMDsr.Interop Namespace


HighestPatternIndex Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPattern..::.HighestPatternIndex Property
IKtMDsrPattern See Also

The highest pattern index currently defined. For best efficiency, the next pattern element should be defined at this index+1.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property HighestPatternIndex As Integer
C#
public int  HighestPatternIndex { get; }
Visual C++
HRESULT get_HighestPatternIndex(
    long*  val
);

Remarks

For more information on the Patterns interface, see the Patterns Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPattern Interface
Keysight.KtMDsr.Interop Namespace


LabelElement Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPattern..::.LabelElement Method
IKtMDsrPattern See Also

Inserts a label on the vector at the specified Index. The index must identify a vector. Labels are used to identify destinations for GoTo statements and to identify locations in a compiled pattern for PatternSite functions that modify the pattern.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub LabelElement ( _
    ByVal  Index As Integer  _
    ByVal  Label As String  _
)
C#
public void  LabelElement(
    int  Index,
    string  Label
)
Visual C++
HRESULT LabelElement(
    long  Index,
    BSTR  Label
);

Parameters

Index

Index of the vector; specifies where the Label is to be applied. A Vector must already be defined at this index.

Label

String used to identify this Label.

Remarks

Labels are useful to establishing GoTo destinations and to identify a location to modify in the compiled pattern.

The index must identify an existing vector.

Functions that modify a compiled pattern are: PatternSite SetDcLevel, PatternSite SetSignal, PatternSite SetWaveformTable, and PatternSite SetVector.

For more information on the Patterns interface, see the Patterns Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPattern Interface
Keysight.KtMDsr.Interop Namespace


Loop Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPattern..::.Loop Method
IKtMDsrPattern See Also

Places an Loop instruction in the pattern at the specified Index. Loop causes a sequence of instructions to be executed the specified number of times.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Loop ( _
    ByVal  Index As Integer  _
    ByVal  FinalIndex As Integer  _
    ByVal  LoopCount As Integer  _
)
C#
public void  Loop(
    int  Index,
    int  FinalIndex,
    int  LoopCount
)
Visual C++
HRESULT Loop(
    long  Index,
    long  FinalIndex,
    long  LoopCount
);

Parameters

Index

The Index assigned to the Loop statement. The first instruction in the loop is the instruction with the next highest index.

FinalIndex

The Index of the last instruction in the loop.

LoopCount

The numbers of times the loop will execute. 0 means the loop should execute indefinitely.

Remarks

The loop executes instructions from the next highest index after "Index" to "FinalIndex" (inclusive).

A loop count of 0 indicates that the loop should execute indefinitely.

If the FinalIndex precedes the Index, an error is generated (only forward loops are supported).

For more information on the Patterns interface, see the Patterns Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPattern Interface
Keysight.KtMDsr.Interop Namespace


Macro Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPattern..::.Macro Method
IKtMDsrPattern See Also

Places a Macro invocation in the pattern at the specified Index. Macro invocation takes no time.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Macro ( _
    ByVal  Index As Integer  _
    ByVal  MacroName As String  _
)
C#
public void  Macro(
    int  Index,
    string  MacroName
)
Visual C++
HRESULT Macro(
    long  Index,
    BSTR  MacroName
);

Parameters

Index

The Index assigned to the Macro instruction.

MacroName

The name of the Macro to execute.

Remarks

The Macro function provides a simple way to execute macros that do not have any parameters.

The Macro invocation takes no time to execute, so the first Vector of the Macro executes immediately after the previous Vector.

For more information on the Patterns interface, see the Patterns Overview.
For more information on Macros, see the MacroDef Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPattern Interface
Keysight.KtMDsr.Interop Namespace


MacroWithSubstitution Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPattern..::.MacroWithSubstitution Method
IKtMDsrPattern See Also

Inserts a Macro expansion at this point, with STIL style parameter substitution.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub MacroWithSubstitution ( _
    ByVal  Index As Integer  _
    ByVal  MacroName As String  _
    ByVal  SignalExpression As String  _
    ByVal  WaveformCharacters As String  _
)
C#
public void  MacroWithSubstitution(
    int  Index,
    string  MacroName,
    string  SignalExpression,
    string  WaveformCharacters
)
Visual C++
HRESULT MacroWithSubstitution(
    long  Index,
    BSTR  MacroName,
    BSTR  SignalExpression,
    BSTR  WaveformCharacters
);

Parameters

Index

The Index assigned to the Macro instruction.

MacroName

The name of the Macro to execute.

SignalExpression

Comma-separated list of signals which the macro parameters are applied to.

WaveformCharacters

Comma-separated list of waveform character sequences to be used in parameter substitution on the signals specified in the SignalExpressions parameter.

Remarks

Invokes a Macro at this line in the program, specifying parameters. The parameters are waveform characters that are filled into the macro in place of the wildcard characters percent (%) and (#).

If signal within the pattern contains the percent (%) character for a given signal, the waveform character associated with that signal in the macro invocation is used in the pattern. Using this mechanism, each signal can have a single waveform character replaced by the value specified in the invocation.

If the pattern contains the hash (#) character, the invocation is permitted to have a string of waveform characters defined for each signal. Each time the hash character is encountered in the macro definition, another character is consumed from the input string and used for the corresponding signal.

The hash (#) character can also be used in the special instruction Shift. The Shift instruction will continue to execute consuming an input waveform character on each execution until the parameter string is entirely consumed.

For more information on the Patterns interface, see the Patterns Overview.
For more information on Macros, see the MacroDef Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPattern Interface
Keysight.KtMDsr.Interop Namespace


MatchLoop Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPattern..::.MatchLoop Method
IKtMDsrPattern See Also

The loop defined by Index and FinalIndex is executed until each Compare operation in the loop returns true or the LoopCount (if non-zero) is exceeded.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub MatchLoop ( _
    ByVal  Index As Integer  _
    ByVal  FinalIndex As Integer  _
    ByVal  LoopCount As Integer  _
)
C#
public void  MatchLoop(
    int  Index,
    int  FinalIndex,
    int  LoopCount
)
Visual C++
HRESULT MatchLoop(
    long  Index,
    long  FinalIndex,
    long  LoopCount
);

Parameters

Index

The Index assigned to the MatchLoop instruction. The first instruction in the loop is the instruction with the next highest index.

FinalIndex

The Index of the last instruction to be included in the loop.

LoopCount

Specifies a maximum number of times the loop should execute. 0 indicates the should execute until the match condition is satisfied, that is, it sets the number of times the loop should execute to infinity.

Remarks

The sequence of instructions in the defined loop are executed until an execution of the entire loop completes with each compare operation passing.

The LoopCount provides a timeout to permit the loop to exit if the DUT never passes. Execution controls are provided to determine if execution should continue on a timeout or stop execution with an error. See PatternSite ConditionalLoopFailureMode for information on how to configure this behavior.

For a compare operation to enable the loop to exit, there must be sufficient time between the compare and the end of the loop for the sequencer to exit the loop. If there is not enough time, the loop will continue to execute. Once the loop executes with all compares passing, it will exit. However, the loop will only exit from the end of the loop. That is, the loop is always entirely executed before it exits, it will never exit from the middle of the loop.

There are two components that contribute to the amount of time between the last successful compare in the loop and when the loop ultimately exits.

  • Delays internal to the implementation of the DSR. These are approximately 38 times the edge placement resolution.
  • Delays in the test system that result in the DUT response not arriving at the DSR until sometime after the corresponding stimulus. The DSR compensates for these delays using ResponseDelayCompensation, however the loop cannot exit till the responses arrive so the stimulus defined in the MatchLoop continues to repeat.

In summary, the last vector containing a compare in the MatchLoop establishes when the loop will exit. The loop will exit on the final instruction of the loop when that instruction executes after:

Loop Exit Time >= 38*EdgePlacementResolution+ResponseDelayCompensation

It is possible for an additional pass through the loop to be taken. See PatternSite ConditionalLoopSuccessMode for information on how to configure this behavior.

If the loop does not contain any Compare operations, it will pass on the first execution.

If the maximum count is reached in the Pattern Exec, the ExecutionState will always return the state "Error," with the specific error: "Conditional Loop Count Exceeded."

For more information on the Patterns interface, see the Patterns Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPattern Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPattern..::.Name Property
IKtMDsrPattern See Also

The Name of this Pattern block.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name As String
C#
public string  Name { get; }
Visual C++
HRESULT get_Name(
    BSTR*  val
);

Remarks

This is useful when a reference to this block is acquired using the Item function and there is a subsequent need to determine which block this is.

For more information on the Patterns interface, see the Patterns Overview.
For more information on the dynamic repeated capability Item.Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPattern Interface
Keysight.KtMDsr.Interop Namespace


PatternLength Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPattern..::.PatternLength Property
IKtMDsrPattern See Also

The current length of the pattern. First index is 1. Note that when loading a file, this is the highest element position in the pattern.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property PatternLength As Integer
C#
public int  PatternLength { get; }
Visual C++
HRESULT get_PatternLength(
    long*  val
);

Remarks

When loading a pattern from STIL, indexes are assigned sequentially so this is the Pattern Element count.

For more information on the Patterns interface, see the Patterns Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPattern Interface
Keysight.KtMDsr.Interop Namespace


QueryLineType Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPattern..::.QueryLineType Method
IKtMDsrPattern See Also

Returns information about the pattern element at the given index. This is used to read a pattern that has been defined.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub QueryLineType ( _
    ByVal  Index As Integer  _
    ByRef  Label As String  _
    ByRef  LineType As KtMDsrPatternLineTypeEnum  _
    ByRef  FinalIndex As Integer  _
    ByRef  MaximumCount As Integer  _
    ByRef  Reference As String  _
)
C#
public void  QueryLineType(
    int  Index,
    ref string  Label,
    ref KtMDsrPatternLineTypeEnum  LineType,
    ref int  FinalIndex,
    ref int  MaximumCount,
    ref string  Reference
)
Visual C++
HRESULT QueryLineType(
    long  Index,
    BSTR*  Label,
    KtMDsrPatternLineTypeEnum*  LineType,
    long*  FinalIndex,
    long*  MaximumCount,
    BSTR*  Reference
);

Parameters

Index

The index of the pattern element queried.

Label

The label assigned to the specified pattern index. Null if not defined.

LineType

The type of pattern element at the specified index.

FinalIndex

A pattern index used to provide information about the line at the specified index. For loop operations, the FinalIndex is the final index included in the loop operation.

MaximumCount

A numeric parameter used to provide information about the line at the specified index. The MaximumCount is the loop count specified with the loop.

Reference

If the LineType is a Macro invocation or a GoTo, the Reference returns the destination label; for any other LineType, the Reference returns null.

Remarks

The QueryLineType instruction returns parameters that entirely describe the pattern index queried.

The Label always returns any label that is on the line being queried. The use of the other response parameters to this function varies slightly with the type of line being queried. Their usage is as follows:

LineType | FinalIndex | MaximumCount | Reference
MatchLoop | FinalIndex | MaximumCount | null string
Vector | Same as Index | 1 | null string
Loop | FinalIndex | LoopCount | null string
GoTo | Index | 1 | Destination label
Blank (no line defined) | Same as Index | 1 | null string
WatchLoop | FinalIndex | MaximumCount | Trigger
Shift | FinalIndex | 1 | null string
Macro | Same as Index | 1 | Destination label

For more information on the Patterns interface, see the Patterns Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPattern Interface
Keysight.KtMDsr.Interop Namespace


QueryVector Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPattern..::.QueryVector Method
IKtMDsrPattern See Also

Provides a way to read back the pattern information for lines that are Vectors. Returns an error if a Vector is not defined at this Index (for instance, if it is outside of the pattern range, or if this Index contains a control instruction).

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub QueryVector ( _
    ByVal  Index As Integer  _
    ByVal  Signal As String  _
    ByRef  WaveformCharacter As String  _
    ByRef  WaveformTable As String  _
    ByRef  Label As String  _
)
C#
public void  QueryVector(
    int  Index,
    string  Signal,
    ref string  WaveformCharacter,
    ref string  WaveformTable,
    ref string  Label
)
Visual C++
HRESULT QueryVector(
    long  Index,
    BSTR  Signal,
    BSTR*  WaveformCharacter,
    BSTR*  WaveformTable,
    BSTR*  Label
);

Parameters

Index

The index of the pattern element queried.

Signal

The signal being queried.

WaveformCharacter

The waveform character defined for the specified signal at the specified index.

WaveformTable

The waveform table at the specified index.

Label

The label defined at the specified index. Null if not defined.

Remarks

If the specified signal is not defined at this Index, a hyphen (-) is returned.

If the signal is not specified at this index when executing the pattern, the DSR will repeat the waveform character from the previous index.

For more information on the Patterns interface, see the Patterns Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPattern Interface
Keysight.KtMDsr.Interop Namespace


Shift Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPattern..::.Shift Method
IKtMDsrPattern See Also

Adds a Shift block to a Macro. If this pattern is executed directly (instead of being used as a macro), this will generate an error upon compilation.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Shift ( _
    ByVal  Index As Integer  _
    ByVal  FinalIndex As Integer  _
)
C#
public void  Shift(
    int  Index,
    int  FinalIndex
)
Visual C++
HRESULT Shift(
    long  Index,
    long  FinalIndex
);

Parameters

Index

The Index assigned to the Shift instruction.

FinalIndex

The Index of the last instruction to be included in the shift.

Remarks

The Shift block identies a sequence of Vectors which contains at least one hash (#) style parameter. The macro invocation provides a string of waveform characters to substitute for the hash (#) character. The block specified in the shift is repeated, consuming characters from the macro invocation string until the entire string is consumed.

For instance, if the shift block included a single signal parameter with a single hash (#) character, and the invocation has a string with 12 characters, the Shift block would be executed 12 times, once with the waveform character set to each of the 12 input characters.

For more information on the Patterns interface, see the Patterns Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPattern Interface
Keysight.KtMDsr.Interop Namespace


Signals Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPattern..::.Signals Property
IKtMDsrPattern See Also

Returns a comma-separated list of all signals in this pattern.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Signals As String
C#
public string  Signals { get; }
Visual C++
HRESULT get_Signals(
    BSTR*  val
);

Remarks

For more information on the Patterns interface, see the Patterns Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPattern Interface
Keysight.KtMDsr.Interop Namespace


Vector Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPattern..::.Vector Method
IKtMDsrPattern See Also

Specifies the waveform characters for the specified signals at the specified index. This function may be called multiple times for a single index, providing definitions for various signals with each call.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Vector ( _
    ByVal  Index As Integer  _
    ByVal  SignalExpression As String  _
    ByVal  WaveformCharacters As String  _
    ByVal  WaveformTable As String  _
)
C#
public void  Vector(
    int  Index,
    string  SignalExpression,
    string  WaveformCharacters,
    string  WaveformTable
)
Visual C++
HRESULT Vector(
    long  Index,
    BSTR  SignalExpression,
    BSTR  WaveformCharacters,
    BSTR  WaveformTable
);

Parameters

Index

The index to add this signal definition to.

SignalExpression

The signals that are defined by the string of waveform characters. This is a signal reference expression.

WaveformCharacters

The waveform characters to assign to the specified signals. There must be one and only one waveform character for each signal specified.

WaveformTable

The waveform table for this vector. A single waveform table is used for all of the signals at this vector.

Remarks

Specifies the waveform character to be output on the signals at a given vector number.

A given vector within the pattern may need to specify the signal values for several different signals. This can be done by specifying all of the signals in the SignalExpression and the corresponding characters in the WaveformCharacters parameter. This can also be done by calling the Vector function for the signals separately or in arbitrary combinations.

This function may be used to modify a vector that was loaded from a STIL file or from a bulk data file.

Multiple Vector calls that specify the same Index each specify the waveform table. The WaveformTable specified in the last call to Vector is used.

If this vector is contained in a macro pattern, then the vector can contain hash (#) or percent (%) characters which will be converted to waveform characters when the macro is invoked.

For more information on the Patterns interface, see the Patterns Overview.
For general information about Signal Expressions, see Signal Expressions

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPattern Interface
Keysight.KtMDsr.Interop Namespace


WatchLoop Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPattern..::.WatchLoop Method
IKtMDsrPattern See Also

Adds a WatchLoop block to a pattern. The DSR will execute the WatchLoop repeatedly until the specified Trigger is received. The only instructions that can be within a WatchLoop are Vectors.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub WatchLoop ( _
    ByVal  Index As Integer  _
    ByVal  FinalIndex As Integer  _
    ByVal  MaximumLoopCount As Integer  _
    ByVal  Trigger As String  _
)
C#
public void  WatchLoop(
    int  Index,
    int  FinalIndex,
    int  MaximumLoopCount,
    string  Trigger
)
Visual C++
HRESULT WatchLoop(
    long  Index,
    long  FinalIndex,
    long  MaximumLoopCount,
    BSTR  Trigger
);

Parameters

Index

The Index assigned to the WatchLoop instruction. The first instruction in the loop is the instruction with the next highest index.

FinalIndex

The Index of the last vector in the loop.

MaximumLoopCount

Specifies a maximum number of loops to dwell in the loop waiting for the trigger. 0 indicates to dwell indefinitely.

Trigger

The event which will cause the WatchLoop to exit.

Remarks

The sequence of instructions in the loop are executed until the event designated by Trigger occurs.

The LoopCount provides a timeout to permit the loop to exit if the trigger never arrives. Execution controls are provided to determine if execution should continue on a timeout or stop execution with an error. See PatternSite ConditionalLoopFailureMode for information on how to configure this behavior.

If the trigger occurs near the end of the loop, the loop may execute an extra time after a successful pass through the loop has completed.

If the maximum count is reached in the Pattern Exec, the ExecutionState will always return the state "Error," with the specific error: "Conditional Loop Count Exceeded."

For more information on the Patterns interface, see the Patterns Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPattern Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatterns..::.Name Property
IKtMDsrPatterns See Also

Returns the Pattern name for the specified index.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name( _
    ByVal  Index As Integer  _
) As String
C#
public string  get_Name(
    int  Index
)
Visual C++
HRESULT get_Name(
    long  Index,
    BSTR*  val
);

Parameters

Index

One-based index into the collection of patterns.

Remarks

For more information on the Patterns interface, see the Patterns Overview.
For more information on the dynamic repeated capability Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatterns Interface
Keysight.KtMDsr.Interop Namespace


Remove Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatterns..::.Remove Method
IKtMDsrPatterns See Also

Removes the Pattern block with the specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Remove ( _
    ByVal  Name As String  _
)
C#
public void  Remove(
    string  Name
)
Visual C++
HRESULT Remove(
    BSTR  Name
);

Parameters

Name

Name of Pattern

Remarks

For more information on the Patterns interface, see the Patterns Overview.
For more information on the dynamic repeated capability Remove function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatterns Interface
Keysight.KtMDsr.Interop Namespace


PatternSites Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr..::.PatternSites Property
IKtMDsr See Also

Pointer to the IKtMDsrPatternSites interface. The PatternSites interface controls the execution of defined patterns.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property PatternSites As IKtMDsrPatternSites
C#
public IKtMDsrPatternSites  PatternSites { get; }
Visual C++
HRESULT get_PatternSites(
    IKtMDsrPatternSites**  val
);

Remarks

PatternSites operates the pattern execution hardware on a specified site. The pattern definition includes symbolic signals and triggers; the site maps those signals and triggers to physical DSR channels and trigger sources. Once the pattern is activated, the PatternSite functions and attributes control the execution of the pattern on the DSR hardware.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsr Interface
Keysight.KtMDsr.Interop Namespace


Activate Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSites..::.Activate Method
IKtMDsrPatternSites See Also

Activates a site for pattern operations using the specified PatternExec and with the specified EdgePlacementResolution. The pattern is compiled and downloaded to the pattern cache.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Activate ( _
    ByVal  Site As String  _
    ByVal  PatternExec As String  _
    ByVal  EdgePlacementResolutionAuto As Boolean  _
    ByVal  EdgePlacementResolution As Double  _
)
C#
public void  Activate(
    string  Site,
    string  PatternExec,
    bool  EdgePlacementResolutionAuto,
    double  EdgePlacementResolution
)
Visual C++
HRESULT Activate(
    BSTR  Site,
    BSTR  PatternExec,
    VARIANT_BOOL  EdgePlacementResolutionAuto,
    double  EdgePlacementResolution
);

Parameters

Site

Name of Site block to be activated.

PatternExec

Name of the PatternExec block that defines the pattern, DcLevels, and WaveformTables to execute.

EdgePlacementResolutionAuto

Indicates if the KtMDsr driver should select the EdgePlacementResolution or if the EdgePlacementResolution parameter will specify the value. True indicates the driver should select the value, in which case the EdgePlacementResolution parameter is ignored.

EdgePlacementResolution

Specifies the edge placement resolution (when EdgePlacementResolutionAuto is False). Sets the finest resolution available when selecting pattern timing parameters. Range is 1 ns to 100 ns. This resolution determines how the times specified are rounded to values produced.

Remarks

Reserves the channels for exclusive use by the specified site and compiles the PatternExec for use on the specified channels using the EdgePlacementResolution.

Note that the PatternExec block refers to the necessary DcLevels, MacroDefs and a PatternBurst which contains one or more pattern blocks; this information is compiled to produce the pattern.

The pattern information is compiled and downloaded to the pattern cache; it is removed when the site is inactivated.

For more information on the PatternSites interface, see the PatternSites Overview.
For more information on the dynamic repeated capability Activate function, see Dynamic Repeated Capabilities.
For information about how the EdgePlacementResolution parameter is used, see Edge Placement Resolution.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSites Interface
Keysight.KtMDsr.Interop Namespace


ActivateFromCache Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSites..::.ActivateFromCache Method
IKtMDsrPatternSites See Also

Activates a previously-compiled PatternSite that has been saved in cache.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub ActivateFromCache ( _
    ByVal  CacheName As String  _
)
C#
public void  ActivateFromCache(
    string  CacheName
)
Visual C++
HRESULT ActivateFromCache(
    BSTR  CacheName
);

Parameters

CacheName

Name of the compiled pattern in cache.

Remarks

Reserve the channels for exclusive use by the specified site and activates the compiled PatternExec for use on the specified channels.

The compiled pattern includes all the PatternExec and Site information that was in the original pattern. The site name for the activated pattern is the CacheName.

When a pattern is activated using ActivateFromCache, the pattern remains in cache, even after it is later inactivated. In contrast, when a pattern is activated with Activate, a subsequent Inactivate will delete the pattern from cache.

Note that the compiled pattern has information about the entire PatternExec and the site incorporated into it, so a pattern must be compiled for every site on which it will be used.

For more information on the PatternSites interface, see the PatternSites Overview.
For information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information about how the EdgePlacementResolution parameter is used, see Edge Placement Resolution.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSites Interface
Keysight.KtMDsr.Interop Namespace


ActivatePattern Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSites..::.ActivatePattern Method
IKtMDsrPatternSites See Also

Activates a site for pattern operations. Parameters specify the site, pattern, waveform table, DcLevels, and EdgePlacementResolution. The pattern is compiled and downloaded to the pattern cache.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub ActivatePattern ( _
    ByVal  Site As String  _
    ByVal  Pattern As String  _
    ByVal  DcLevels As String  _
    ByVal  EdgePlacementResolutionAuto As Boolean  _
    ByVal  EdgePlacementResolution As Double  _
)
C#
public void  ActivatePattern(
    string  Site,
    string  Pattern,
    string  DcLevels,
    bool  EdgePlacementResolutionAuto,
    double  EdgePlacementResolution
)
Visual C++
HRESULT ActivatePattern(
    BSTR  Site,
    BSTR  Pattern,
    BSTR  DcLevels,
    VARIANT_BOOL  EdgePlacementResolutionAuto,
    double  EdgePlacementResolution
);

Parameters

Site

Name of Site block to be activated.

Pattern

Name of the Pattern block that will be executed.

DcLevels

Name of the DcLevels block that will be applied to the signals.

EdgePlacementResolutionAuto

If True, the KtMDsr driver will automatically select the edge placement resolution (in which case the EdgePlacementResolution parameter is ignored). If False, the resolution is set by the EdgePlacementResolution parameter.

EdgePlacementResolution

Specifies the edge placement resolution (when EdgePlacementResolutionAuto is False). Sets the finest resolution available when selecting pattern timing parameters. Range is 1 ns to 100 ns. This resolution determines how the times specified are rounded to values produced.

Remarks

ActivatePattern reserves the channels for exclusive use by the specified site and compiles the pattern and DcLevels for use on the specified channels using the edge placement resolution.

To activate a pattern that uses multiple patterns or macros, use Activate. This requires creating a PatternBurst and PatternExec.

The pattern information is compiled and downloaded to the pattern cache; it is removed when the site is inactivated.

For more information on the PatternSites interface, see the PatternSites Overview.
For information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information about how the EdgePlacementResolution parameter is used, see Edge Placement Resolution.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSites Interface
Keysight.KtMDsr.Interop Namespace


CompilePattern Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSites..::.CompilePattern Method
IKtMDsrPatternSites See Also

Compiles the pattern components for the specified site and saves the compiled pattern to the specified destination (either a file or cache). The name will be used to refer to the site when it is later activated from cache.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub CompilePattern ( _
    ByVal  Site As String  _
    ByVal  Pattern As String  _
    ByVal  DcLevels As String  _
    ByVal  EdgePlacementResolutionAuto As Boolean  _
    ByVal  EdgePlacementResolution As Double  _
    ByVal  Destination As KtMDsrPatternSiteSaveDestinationEnum  _
    ByVal  Name As String  _
)
C#
public void  CompilePattern(
    string  Site,
    string  Pattern,
    string  DcLevels,
    bool  EdgePlacementResolutionAuto,
    double  EdgePlacementResolution,
    KtMDsrPatternSiteSaveDestinationEnum  Destination,
    string  Name
)
Visual C++
HRESULT CompilePattern(
    BSTR  Site,
    BSTR  Pattern,
    BSTR  DcLevels,
    VARIANT_BOOL  EdgePlacementResolutionAuto,
    double  EdgePlacementResolution,
    KtMDsrPatternSiteSaveDestinationEnum  Destination,
    BSTR  Name
);

Parameters

Site

Name of Site block to compile.

Pattern

Name of the Pattern block that will be executed.

DcLevels

Name of the DcLevels block that will be applied to the signals.

EdgePlacementResolutionAuto

If True, the KtMDsr driver will automatically select the edge placement resolution (in which case the EdgePlacementResolution parameter is ignored). If False, the resolution is set by the EdgePlacementResolution parameter.

EdgePlacementResolution

Specifies the edge placement resolution (when EdgePlacementResolutionAuto is False). Sets the finest resolution available when selecting pattern timing parameters. Range is 1 ns to 100 ns. This resolution determines how the times specified are rounded to values produced.

Destination

Specifies whether the pattern should be saved to the file system or to cache.

Name

The name of the compiled pattern. This is either the file system name or the name in cache.

Remarks

Compiles the specified pattern for use on the specified site with the specified edge placement resolution. The compiled pattern is either placed in cache or saved to the file system.

The pattern is specified as a pattern block and the DcLevels to apply to the signal. To specify a pattern that uses macros or multiple patterns CompilePatternExec. This requires creating a PatternBurst and a PatternExec.

If the pattern is saved to the cache, it can be activated using the specifed Name. If the pattern is saved to the file system, the Name is the filename where the file is stored.

For more information on the PatternSites interface, see the PatternSites Overview.
For information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information about how the EdgePlacementResolution parameter is used, see Edge Placement Resolution.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSites Interface
Keysight.KtMDsr.Interop Namespace


CompilePatternExec Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSites..::.CompilePatternExec Method
IKtMDsrPatternSites See Also

Compiles the components into a PatternSite and saves it to the specified destination (either a file or cache). The name will be used to later reference the PatternSite.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub CompilePatternExec ( _
    ByVal  Site As String  _
    ByVal  PatternExec As String  _
    ByVal  EdgePlacementResolutionAuto As Boolean  _
    ByVal  EdgePlacementResolution As Double  _
    ByVal  Destination As KtMDsrPatternSiteSaveDestinationEnum  _
    ByVal  Name As String  _
)
C#
public void  CompilePatternExec(
    string  Site,
    string  PatternExec,
    bool  EdgePlacementResolutionAuto,
    double  EdgePlacementResolution,
    KtMDsrPatternSiteSaveDestinationEnum  Destination,
    string  Name
)
Visual C++
HRESULT CompilePatternExec(
    BSTR  Site,
    BSTR  PatternExec,
    VARIANT_BOOL  EdgePlacementResolutionAuto,
    double  EdgePlacementResolution,
    KtMDsrPatternSiteSaveDestinationEnum  Destination,
    BSTR  Name
);

Parameters

Site

Name of Site block to compile.

PatternExec

PatternExec to compile.

EdgePlacementResolutionAuto

If True, the KtMDsr driver will automatically select the edge placement resolution (in which case the EdgePlacementResolution parameter is ignored). If False, the resolution is set by the EdgePlacementResolution parameter.

EdgePlacementResolution

Specifies the edge placement resolution (when EdgePlacementResolutionAuto is False). Sets the finest resolution available when selecting pattern timing parameters. Range is 1 ns to 100 ns. This resolution determines how the times specified are rounded to values produced.

Destination

Specifies whether the pattern should be saved to the file system or to cache.

Name

The name of the compiled pattern. This is either the file system name or the name in cache.

Remarks

Compiles the specified pattern for use on the specified site with the specified edge placement resolution. The compiled pattern is either placed in cache or saved to the file system.

Note that the PatternExec block refers to the necessary DcLevels, MacroDefs, and a PatternBurst that contains one or more pattern blocks. This information is compiled to produce the pattern.

If the pattern is saved to the cache, it can be activated using the specifed Name. If the pattern is saved to the file system, the Name is the filename where the file is stored.

The compiler incorporates the site and PatternExec into the compiled pattern. Therefore, a pattern must be compiled for every site on which it will be used.

For more information on the PatternSites interface, see the PatternSites Overview.
For information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information about how the EdgePlacementResolution parameter is used, see Edge Placement Resolution.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSites Interface
Keysight.KtMDsr.Interop Namespace


ConditionalLoopFailureMode Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSites..::.ConditionalLoopFailureMode Property
IKtMDsrPatternSites See Also

Match loops and watch loops include a loop counter which, if expired, indicates that the loop has failed. This attribute selects what will happen when the loop counter expires (either stop execution or exit the loop and continue).

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property ConditionalLoopFailureMode As KtMDsrPatternSiteConditionalLoopFailureModeEnum
C#
public KtMDsrPatternSiteConditionalLoopFailureModeEnum  ConditionalLoopFailureMode { get; set; }
Visual C++
HRESULT get_ConditionalLoopFailureMode(
    KtMDsrPatternSiteConditionalLoopFailureModeEnum*  val
);
HRESULT put_ConditionalLoopFailureMode(
    KtMDsrPatternSiteConditionalLoopFailureModeEnum  val
);

Remarks

The following behaviors are supported on a MatchLoop or WatchLoop count reaching 0 (that is, the counter expiring) without the condition being satisfied:

ContinueOnFail | When the count is satisfied, the loop exits as if the match or watch condition had been satisfied.
StopOnFail | When the count is satisfied, pattern execution terminates (default).

This failure mode setting is compiled into the pattern. Therefore, when compiling to cache, this setting must be specified at the time the pattern is compiled.

For more information on the PatternSites interface, see the PatternSites Overview.
For information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information about how the EdgePlacementResolution parameter is used, see Edge Placement Resolution.
For conditional loops, see Patterns.MatchLoop and Patterns.WatchLoop.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSites Interface
Keysight.KtMDsr.Interop Namespace


ConditionalLoopSuccessMode Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSites..::.ConditionalLoopSuccessMode Property
IKtMDsrPatternSites See Also

Configures if the DSR will execute a MatchLoop at least one extra time after a successful loop, or if the MatchLoop will require no compares in the final few cycles of the loop.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property ConditionalLoopSuccessMode As KtMDsrPatternSiteConditionalLoopSuccessModeEnum
C#
public KtMDsrPatternSiteConditionalLoopSuccessModeEnum  ConditionalLoopSuccessMode { get; set; }
Visual C++
HRESULT get_ConditionalLoopSuccessMode(
    KtMDsrPatternSiteConditionalLoopSuccessModeEnum*  val
);
HRESULT put_ConditionalLoopSuccessMode(
    KtMDsrPatternSiteConditionalLoopSuccessModeEnum  val
);

Remarks

The DSR supports two different behaviors for successfully exiting MatchLoops.

As described in Patterns.MatchLoop, it takes several edge placement resolution times for the MatchLoop success to be determined. Once that success has been determined, the sequencer can optionally perform an additional loop before exiting.

NoCompare | The loop exits at the end of the first successful pass through the Matchloop. If there are compares too close to the end of the loop the MatchLoop will exit after the first pass through the loop.
ExtraLoop | Once the MatchLoop succeeds, one or more additional passes through the loop will be executed. Failed MatchLoops on the extra passes through the loop will not effect when the MatchLoop exits.

This success mode setting is compiled into the pattern. Therefore, when compiling to cache, this setting must be specified at the time the pattern is compiled.

For more information on the PatternSites interface, see the PatternSites Overview.
For information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information about how the EdgePlacementResolution parameter is used, see Edge Placement Resolution.
For conditional loops, see Patterns.MatchLoop and Patterns.WatchLoop.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSites Interface
Keysight.KtMDsr.Interop Namespace


Count Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSites..::.Count Property
IKtMDsrPatternSites See Also

Returns the number of currently active sites.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Count As Integer
C#
public int  Count { get; }
Visual C++
HRESULT get_Count(
    long*  val
);

Remarks

For more information on the PatternSites interface, see the PatternSites Overview.
For more information on dynamic repeated capabilities and the Count attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSites Interface
Keysight.KtMDsr.Interop Namespace


DownloadPatternToCache Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSites..::.DownloadPatternToCache Method
IKtMDsrPatternSites See Also

Downloads the compiled pattern from the file system to the cache and assigns a name, CacheName, to the compiled pattern.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub DownloadPatternToCache ( _
    ByVal  PatternFile As String  _
    ByVal  CacheName As String  _
)
C#
public void  DownloadPatternToCache(
    string  PatternFile,
    string  CacheName
)
Visual C++
HRESULT DownloadPatternToCache(
    BSTR  PatternFile,
    BSTR  CacheName
);

Parameters

PatternFile

FilePath of compiled pattern (which was previously created using CompilePattern).

CacheName

Name of the compiled pattern in the pattern cache. This name is used to activate the pattern.

Remarks

Downloads the compiled pattern to cache. No pattern-specific actions will take place until the compiled pattern is activated.

Note that the compiled pattern has information about the PatternExec and the site incorporated into it, so a pattern must be compiled for every site on which it will be used.

For more information on the PatternSites interface, see the PatternSites Overview.
For information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSites Interface
Keysight.KtMDsr.Interop Namespace


EndBehavior Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSites..::.EndBehavior Property
IKtMDsrPatternSites See Also

Sets the behavior of the signal lines upon completion of a pattern to either retain the last state of the signal lines from the last period or repeat the last waveform character of the last period.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property EndBehavior As KtMDsrPatternSitesEndBehaviorEnum
C#
public KtMDsrPatternSitesEndBehaviorEnum  EndBehavior { get; set; }
Visual C++
HRESULT get_EndBehavior(
    KtMDsrPatternSitesEndBehaviorEnum*  val
);
HRESULT put_EndBehavior(
    KtMDsrPatternSitesEndBehaviorEnum  val
);

Remarks

This capability is especially useful for applications where a clock signal needs to continue between pattern executions or while using the DSR in another way.

To generate a continuous clock, the last cycle of the pattern should specify unchanging values for signals that should remain at a fixed level. Clock signals should have a clock cycle defined that will continue to execute at the specified period until another pattern is initiated.

EndBehavior setting: | Specifies:
RepeatLastLevel | The last signal level of the last period will be retained on each signal.
RepeatLastWaveformCharacter | The last waveform character of the last period will be repeated until the channel is disabled or driven by some other operation.

For more information on the PatternSites interface, see the PatternSites Overview.
For information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSites Interface
Keysight.KtMDsr.Interop Namespace


ForceValidateEnable Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSites..::.ForceValidateEnable Property
IKtMDsrPatternSites See Also

If true, any WaveformTables compiled will perform force validation by adding a compare operation to validate a successful force on the last cycle of operations that include force operations.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property ForceValidateEnable As Boolean
C#
public bool  ForceValidateEnable { get; set; }
Visual C++
HRESULT get_ForceValidateEnable(
    VARIANT_BOOL*  val
);
HRESULT put_ForceValidateEnable(
    VARIANT_BOOL  val
);

Remarks

Force validation uses the DSR hardware to verify that forced outputs reach their designated level within the waveform period.

Force validation requires that the DcLevels defined for the pattern satisfactorily measure the forced signal. That is, if the the response thresholds (set with Vol, Voh) need to be set so that a properly settled stimulus (based on Vil and Vih) can be used to verify the levels.

Force validation works by introducing a compare operation into waveform characters that:

  • Are defined on InOut Signals
  • Have no defined compare operations
  • Have atleast two times the edge placement resolution between driving the output and the end of the cycle.

ForceValidate can be useful even if certain waveform characters within the pattern do not do the force validation.

ForceValidate can be disabled on a particular waveform character by specifying a CompareUnknown anywhere within the period.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSites Interface
Keysight.KtMDsr.Interop Namespace


Inactivate Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSites..::.Inactivate Method
IKtMDsrPatternSites See Also

Releases the resources associated with this site. The state of the individual channels is not changed (that is, the channels are not disabled).

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Inactivate ( _
    ByVal  SiteName As String  _
)
C#
public void  Inactivate(
    string  SiteName
)
Visual C++
HRESULT Inactivate(
    BSTR  SiteName
);

Parameters

SiteName

Name of site to inactivate.

Remarks

Channels will continue to output the level or waveform character specified in the EndCondition. This is not allow while a Pattern is Executing. To put the channels into a high impedance state, use InactivateAndDisable.

If transitioning between sites that change the direction of the signals on the channels, InactivateAndDisable should be used.

For more information on the PatternSites interface, see the PatternSites Overview.
For more information on the dynamic repeated capability Inactivate function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSites Interface
Keysight.KtMDsr.Interop Namespace


InactivateAndDisable Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSites..::.InactivateAndDisable Method
IKtMDsrPatternSites See Also

Releases the resources associated with this site. The individual channels are disabled.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub InactivateAndDisable ( _
    ByVal  SiteName As String  _
)
C#
public void  InactivateAndDisable(
    string  SiteName
)
Visual C++
HRESULT InactivateAndDisable(
    BSTR  SiteName
);

Parameters

SiteName

Name of site to inactivate.

Remarks

In addition to inactivating the site, this function also disables the channels. That is, the instrument will isolate itself from the DUT in a fashion that will minimize the possibility of the DUT or DSR being harmed.

If transitioning between sites that change the direction of the signals on the channels, InactivateAndDisable should be used.

For more information on the PatternSites interface, see the PatternSites Overview.
For more information on Inactivate and other dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSites Interface
Keysight.KtMDsr.Interop Namespace


Item Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSites..::.Item Property
IKtMDsrPatternSites See Also

Pointer to the IKtMDsrPatternSite interface. The PatternSite interface has operations to control the execution of compiled patterns.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Item( _
    ByVal  Name As String  _
) As IKtMDsrPatternSite
C#
public IKtMDsrPatternSite  get_Item(
    string  Name
)
Visual C++
HRESULT get_Item(
    BSTR  Name,
    IKtMDsrPatternSite**  val
);

Parameters

Name

The block name of the site to access. The site must have been activated for pattern operations.For valid values, see the PatternSite repeated capability.

Remarks

Returns the identified site that has been activated for pattern operations.

For more information on the PatternSites interface, see the PatternSites Overview.
For more information on the dynamic repeated capability Item function, see Dynamic Repeated Capabilities.
For general information about active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSites Interface
Keysight.KtMDsr.Interop Namespace


Abort Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite..::.Abort Method
IKtMDsrPatternSite See Also

Asynchronously stops the execution of a pattern. The pattern aborts and discards any intermediate results.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Abort ( _
)
C#
public void  Abort(
)
Visual C++
HRESULT Abort(
);

Remarks

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite Interface
Keysight.KtMDsr.Interop Namespace


EdgePlacementResolution Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite..::.EdgePlacementResolution Property
IKtMDsrPatternSite See Also

Returns the edge placement resolution that was used when this pattern was activated. If EdgePlacementResolutionAuto was True at the time of activation, the return value is the value selected by the DSR.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property EdgePlacementResolution As Double
C#
public double  EdgePlacementResolution { get; }
Visual C++
HRESULT get_EdgePlacementResolution(
    double*  val
);

Remarks

EdgePlacementResolution sets the finest resolution available for various pattern timing parameters. This value can be set independently of the actual timing values, and the MDsr software will generally select the closest possible value that is consistent with the specified resolution.

Setting the EdgePlacementResolution too small limits the ability of the DSR to produce long durations; setting the EdgePlacementResolution too large limits the ability of the DSR to accurately represent times.

For more information on the PatternSites interface, see the PatternSites Overview.
For detailed information on selecting the EdgePlacementResolution and its impact on various DSR settings, see Edge Placement Resolution. In addition, the Edge Placement Resolution Optimizer is a useful tool (in the DSR Soft Front Panel: Tools > Edge Placement Resolution Optimizer).

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite Interface
Keysight.KtMDsr.Interop Namespace


EdgePlacementResolutionAuto Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite..::.EdgePlacementResolutionAuto Property
IKtMDsrPatternSite See Also

Returns a Boolean that indicates whether this site was activated with EdgePlacementResolutionAuto.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property EdgePlacementResolutionAuto As Boolean
C#
public bool  EdgePlacementResolutionAuto { get; }
Visual C++
HRESULT get_EdgePlacementResolutionAuto(
    VARIANT_BOOL*  val
);

Remarks

For more information on the PatternSites interface, see the PatternSites Overview.
For detailed information on selecting the EdgePlacementResolution and its impact on various DSR settings, see Edge Placement Resolution. In addition, the Edge Placement Resolution Optimizer is a useful tool (in the DSR Soft Front Panel: Tools > Edge Placement Resolution Optimizer).

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite Interface
Keysight.KtMDsr.Interop Namespace


ExecutionErrors Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite..::.ExecutionErrors Property
IKtMDsrPatternSite See Also

Gets a comma-separated string containing errors that occurred during pattern execution. This should be consulted if the ExecutionResult returns an error.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property ExecutionErrors As String
C#
public string  ExecutionErrors { get; }
Visual C++
HRESULT get_ExecutionErrors(
    BSTR*  val
);

Remarks

The ExecutionErrors string indicates whether errors occurred during pattern execution. It is cleared by Initiate and updated to reflect any errors that occurred during pattern execution. If one or more errors occured during pattern execution, the string contains a comma-separated list of errors.

Error | Indicates
Reference Unlocked | The reference clock PLL was unlocked at some point between Initiate and the completion of pattern execution.
Pattern Error | The hardware detected an error at some point during pattern execution. This will occur if the pattern generation hardware is unable to produce the pattern, for instance, if loops in the pattern exceed required lengths.
Conditional Loop Count Exceeded | MatchLoop or WatchLoop exceeded the specified LoopCount parameter.
Overheated | The drivers in the pin electronics overheated during pattern execution.
None | No error

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite Interface
Keysight.KtMDsr.Interop Namespace


ExecutionResult Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite..::.ExecutionResult Property
IKtMDsrPatternSite See Also

Gets a Boolean that indicates whether there are any results logged from the previous pattern execution. True indicates there are results.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property ExecutionResult As Boolean
C#
public bool  ExecutionResult { get; }
Visual C++
HRESULT get_ExecutionResult(
    VARIANT_BOOL*  val
);

Remarks

ExecutionResult may be used to indicate whether a pattern has a failing compare when used with the WhatToLog property to log failing compares. In this configuration an ExecutionResult of true may be used to quickly identify a pattern execution that completed with failing compares. On the other hand, logging all compares cannot rely on ExecutionResult as a failing compare check mechanism.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite Interface
Keysight.KtMDsr.Interop Namespace


ExecutionState Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite..::.ExecutionState Property
IKtMDsrPatternSite See Also

Returns the state of the pattern execution hardware. Possible values are Stopped, Running, WaitingForTrigger, Complete, Aborted, and Error.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property ExecutionState As KtMDsrPatternSiteExecutionStateEnum
C#
public KtMDsrPatternSiteExecutionStateEnum  ExecutionState { get; }
Visual C++
HRESULT get_ExecutionState(
    KtMDsrPatternSiteExecutionStateEnum*  val
);

Remarks

Possible values for ExecutionState are:

Value | Indicates
Stopped | The pattern has not yet been initiated.
Executing | The pattern is currently running.
WaitingForTriggger | The pattern is waiting for a trigger. This could be waiting for a trigger to begin execution, or waiting for a trigger in a WatchLoop.
Complete | The pattern has completed execution without error.
Aborted | The pattern execution was aborted by the user.
Error | An error occurred during pattern execution. (Check ExecutionErrors.)
WaitingForMatchLoop | The pattern is waiting for a MatchLoop.
WatchingForTrigger0 WatchingForTrigger1 WatchingForTrigger2 WatchingForTrigger3 WatchingForTrigger4 WatchingForTrigger5 | Six values of WatchingForTrigger; these correspond to Trigger0 - Trigger 5, defined in the Site.

ExecutionState may be used to poll the DSR to determine whether a pattern has completed execution.

Use WaitForAcquisitionComplete to stop the execution of a client program until the pattern finishes executing.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite Interface
Keysight.KtMDsr.Interop Namespace


FetchLineInformation Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite..::.FetchLineInformation Method
IKtMDsrPatternSite See Also

Gets the information associated with the specified index in the result array.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub FetchLineInformation ( _
    ByVal  Index As Integer  _
    ByRef  Pattern As String  _
    ByRef  PatternIndex As Integer  _
    ByRef  CrossReference As String  _
    ByRef  CrossReferenceOffset As Integer  _
    ByRef  VectorNumber As Integer  _
    ByRef  Time As Double  _
)
C#
public void  FetchLineInformation(
    int  Index,
    ref string  Pattern,
    ref int  PatternIndex,
    ref string  CrossReference,
    ref int  CrossReferenceOffset,
    ref int  VectorNumber,
    ref double  Time
)
Visual C++
HRESULT FetchLineInformation(
    long  Index,
    BSTR*  Pattern,
    long*  PatternIndex,
    BSTR*  CrossReference,
    long*  CrossReferenceOffset,
    long*  VectorNumber,
    double*  Time
);

Parameters

Index

Index in the result array being queried.

Pattern

The pattern that produced the result at the specified index.

PatternIndex

The offset within the pattern that produced the result at the specified index, determined as the difference between the pattern index of the vector corresponding to the result element and the pattern index of the first line in the pattern definition.

CrossReference

The most recent CrossReference executed prior to the result at the specifed index.

CrossReferenceOffset

The number of vectors executed since the most recent cross reference. This is determined as the difference between the pattern index of the vector corresponding to the result element and the pattern index of the line tagged with the cross reference.

VectorNumber

The vector offset within the pattern that produced the result at the specified index. This is determined as the difference between the current vector corresponding to the result element and the first vector in the pattern definition.

Time

The number of seconds elapsed since the pattern began executing and the compare operation that produced the result at the specified index.

Remarks

This query is used to correlate the data in the result to the location in the pattern that produced this result.

The input to this function is the Index of a specific result in the result array.

The provided line information is independent of the type of fetch function called.

If fetch segment operations are used, the index in the response is offset by the specified Offset.

The outputs from this function (in the table below) provide information about the result.

Parameter | Contains
Pattern The specific pattern that generated the result (since the compiled pattern may be produced from a PatternBurst).

If the result line was from the expansion of a macro, the name of the invoking pattern and its line number precedes the macro name using the syntax: <pattern>(<line number>):<macro name>
PatternIndex The PatternIndex of the line that generated the response.
  • Patterns defined with OpenXML, BulkData, or the API include a pattern index that tags each line in the pattern definition.
  • Patterns defined in STIL have a PatternIndex automatically generated for them. The first line of the pattern is PatternIndex 0, and subsequent lines are numbered incrementally.
CrossReference The CrossReference is a tag explicitly inserted into the pattern definition to facilitate correlating response data to the pattern input.

If no CrossReferences have been executed, this parameter returns a null string.
VectorNumber | The vector offset within the pattern that produced the result at the specified index. This is determined as the difference between the current vector corresponding to the result element and the first vector in the pattern definition.
Time | The time, in seconds, from the beginning of pattern execution to the compare operation that logged the result.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite Interface
Keysight.KtMDsr.Interop Namespace


FetchResultByte Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite..::.FetchResultByte Method
IKtMDsrPatternSite See Also

Gets an array of results and returns them as bytes. The FetchResultByte function works for sites where all ordinals are less than 8 (0-7).

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function FetchResultByte ( _
) As Byte()
C#
public byte[]   FetchResultByte(
)
Visual C++
HRESULT FetchResultByte(
    SAFEARRAY**  retval
);

Return Value

Result data from the pattern execution.

Remarks

The site ordinals define which bit specific signals of the pattern occupy in the result.

If an ordinal is 8 or higher, this function generates an error.

Bits in the result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT input (Direction is In) are 0.

The result may contain all compares, only compares with failures, or the first failure, based on the setting of the WhatToLog attribute.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite Interface
Keysight.KtMDsr.Interop Namespace


FetchResultInt16 Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite..::.FetchResultInt16 Method
IKtMDsrPatternSite See Also

Gets results in an array of 16-bit integers. The FetchResultInt16 function works for sites with ordinals less than 16 (0-15).

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function FetchResultInt16 ( _
) As Short()
C#
public short[]   FetchResultInt16(
)
Visual C++
HRESULT FetchResultInt16(
    SAFEARRAY**  retval
);

Return Value

Result data from the pattern execution.

Remarks

The site ordinals define which bit specific signals of the pattern occupy in the result.

If an ordinal is 16 or higher, this function generates an error.

Bits in the result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT input (Direction is In) are 0.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite Interface
Keysight.KtMDsr.Interop Namespace


FetchResultSegmentByte Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite..::.FetchResultSegmentByte Method
IKtMDsrPatternSite See Also

Gets the specified segment of the result as an array of bytes. The FetchResultSegmentByte function works for sites with ordinals less than 8 (0-7).

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function FetchResultSegmentByte ( _
    ByVal  Offset As Integer  _
    ByVal  Count As Integer  _
) As Byte()
C#
public byte[]   FetchResultSegmentByte(
    int  Offset,
    int  Count
)
Visual C++
HRESULT FetchResultSegmentByte(
    long  Offset,
    long  Count
    SAFEARRAY**  retval
);

Parameters

Offset

The offset of the first element returned within the segment.

Count

The number of elements to return in the segment.

Return Value

Result data from the pattern execution.

Remarks

The site ordinals define which bit specific signals of the pattern occupy in the result.

If an ordinal is 8 or higher, this function generates an error.

Bits in the result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT input (Direction is In) are 0.

Result may contain all compares, only compares with failures, or the first failure, based on the setting of the WhatToLog attribute.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite Interface
Keysight.KtMDsr.Interop Namespace


FetchResultSegmentInt16 Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite..::.FetchResultSegmentInt16 Method
IKtMDsrPatternSite See Also

Returns the specified segment of the results as an array of 16-bit integers. The FetchResultSegmentInt16 function works for sites with ordinals less than 16 (0-15).

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function FetchResultSegmentInt16 ( _
    ByVal  Offset As Integer  _
    ByVal  Count As Integer  _
) As Short()
C#
public short[]   FetchResultSegmentInt16(
    int  Offset,
    int  Count
)
Visual C++
HRESULT FetchResultSegmentInt16(
    long  Offset,
    long  Count
    SAFEARRAY**  retval
);

Parameters

Offset

The offset of the first element returned within the segment.

Count

The number of elements to return in the segment.

Return Value

Result data from the pattern execution.

Remarks

The site ordinals define which bit specific signals of the pattern occupy in the result.

If an ordinal is 16 or higher, this function generates an error.

Bits in the result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT input (Direction is In) are 0.

Result may contain all compares, only compares with failures, or the first failure, based on the setting of the WhatToLog attribute.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite Interface
Keysight.KtMDsr.Interop Namespace


FetchTrinaryResult Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite..::.FetchTrinaryResult Method
IKtMDsrPatternSite See Also

Returns an array of captured results. The 32 bits for each element contain two bits for each ordinal (0 - 15); this indicates the actual state of the DUT response on logged compares.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function FetchTrinaryResult ( _
) As Integer()
C#
public int[]   FetchTrinaryResult(
)
Visual C++
HRESULT FetchTrinaryResult(
    SAFEARRAY**  retval
);

Return Value

Result data from the pattern execution.

Remarks

The ordinal is multiplied by 2, so that two bits are available for each signal/pin. The bit values are mapped as follows:

Value | Indicates
00 | No Compare or No failure
01 | Failed Low
02 | Failed, electrical state between high and low
03 | Failed High

Result may contain all compares, only compares with failures, or the first failure, based on the setting of the WhatToLog attribute.

If an ordinal is 16 or higher, this function generates an error.

Bits in the result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT input (Direction is In) are 0.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite Interface
Keysight.KtMDsr.Interop Namespace


FetchTrinaryResultSegment Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite..::.FetchTrinaryResultSegment Method
IKtMDsrPatternSite See Also

Returns an array of captured results. The 32 bits for each element contain two bits for each ordinal (0 - 15); this indicates the actual state of the DUT response on logged compares.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function FetchTrinaryResultSegment ( _
    ByVal  Offset As Integer  _
    ByVal  Count As Integer  _
) As Integer()
C#
public int[]   FetchTrinaryResultSegment(
    int  Offset,
    int  Count
)
Visual C++
HRESULT FetchTrinaryResultSegment(
    long  Offset,
    long  Count
    SAFEARRAY**  retval
);

Parameters

Offset

The offset of the first element returned within the segment.

Count

The number of elements to return in the segment.

Return Value

Result data from the pattern execution.

Remarks

The ordinal is multiplied by 2, so that two bits are available for each signal/pin. The bit values are mapped as follows:
Value | Indicates
00 | No Compare or No failure
01 | Failed Low
02 | Failed, electrical state between high and low
03 | Failed High

Result may contain all compares, only compares with failures, or the first failure, based on the setting of the WhatToLog attribute.

If an ordinal is 16 or higher, this function generates an error.

Bits in the result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT input (Direction is In) are 0.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite Interface
Keysight.KtMDsr.Interop Namespace


Initiate Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite..::.Initiate Method
IKtMDsrPatternSite See Also

Begin the execution of the pattern. If Trigger Mode is set to Immediate, the pattern will begin executing immediately. If Trigger Mode is set to Trigger, the hardware will fully initialize, then it will wait for a trigger event before proceeding.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Initiate ( _
)
C#
public void  Initiate(
)
Visual C++
HRESULT Initiate(
);

Remarks

For general information about working with patterns, including the sequence of operations from activation through execution, see the PatternSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite..::.Name Property
IKtMDsrPatternSite See Also

Gets the name of this pattern site.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name As String
C#
public string  Name { get; }
Visual C++
HRESULT get_Name(
    BSTR*  val
);

Remarks

The Name attribute is useful when a reference to this block is acquired using the Item function and there is a subsequent need to determine the block name.

For more information on the PatternSites interface, see the PatternSites Overview.
For more information on the dynamic repeated capability Item.Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite Interface
Keysight.KtMDsr.Interop Namespace


ReevaluateDcLevels Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite..::.ReevaluateDcLevels Method
IKtMDsrPatternSite See Also

Takes a list of variable expressions separated by semicolons (;), evaluates them, and then recalculates the DcLevels values based on the new values of the variables.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub ReevaluateDcLevels ( _
    ByVal  VariableExpressions As String  _
)
C#
public void  ReevaluateDcLevels(
    string  VariableExpressions
)
Visual C++
HRESULT ReevaluateDcLevels(
    BSTR  VariableExpressions
);

Parameters

VariableExpressions

String to evaluate, resulting in new variable values, and new calculations for DcLevels. Multiple variable assignments may be made by inserting semicolons between individual assignments.

Remarks

ReevaluateDcLevels provides a way to modify the DcLevels in a compiled pattern. This is especially useful for shmoo testing, which is testing where the same pattern needs to execute repeatedly while adjusting the timing, DcLevels settings, or both.

To use ReevaluateDcLevels, the pattern must be defined in STIL or OpenXML. When defined in STIL or OpenXML, the DcLevels may be defined with a string that is re-evaluated by ReevaluateDcLevels. By using variables in the string that defines a DcLevel, the value can be changed by simply changing the value of the variable.

For instance, if the STIL file defined a DC Level like this:

DCLevels DcLevelName {
    AllSignals { VIH '3+Overdrive'; VIL '0-Overdrive';}
}

Then a program similar to this could be used to determine errors as a function of increasing overdrive to the DUT:

       var Site = Driver.PatternSites.Item["MySite"];
for (var Overdrive=0,Overdrive>=1; Overdrive +=0.1) {
Site.ReevaluateDcLevels("Overdrive=" + Overdrive.ToString());
Site.PatternSites.Item["MySite"].Initiate();
Site.WaitForAcquisitionComplete();
Console.WriteLine("Pattern failed: {0}
       times with overdrive={1}V",
Site.ResultSize,
Overdrive);
}

The variables are associated with this pattern site, and remain in place until the pattern is inactivated. Multiple variables can be used in the evaluation. The default value of all variables is 0; however, they may be initialized in the pattern source. This can be done by providing a variable assignment as part of any string that is part of the pattern definition. For instance, the following initializes Overdrive to 1:

DCLevels DcLevelName {
    Ann {* ANN #8 *}{
    AllSignals { VIH 'Overdrive=1; 3+Overdrive'; VIL '0-Overdrive';}{
}

Timings in waveform tables may also be defined in terms of strings to defer evaluation. In tests where it is necessary to adjust both amplitude and timing values, the same control variable can be used in the calculation of both values. For instance, the control variable could represent the percentage deviation from the nominal value. Since the variables for the waveform table evaluation and DC level calculations are in the same namespace, the control variable needs to be defined only once for both operations. See ReevaluateVariables for details on that function.

Note that the same expression evaluator is used for DcLevels and WaveformTables, so a single control variable can be used to adjust both timing and amplitude, but both reevaluate functions must be called. The second reevaluate function called can pass a null string if no other variables need to be evaluated.

For more information on the PatternSites interface, see the PatternSites Overview.
For more information on expression evaluation, see Numeric Expressions.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite Interface
Keysight.KtMDsr.Interop Namespace


ReevaluateVariables Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite..::.ReevaluateVariables Method
IKtMDsrPatternSite See Also

Takes a list of variable expressions separated by semicolons (;), evaluates them, and then recalculates the values in the WaveformTables based on the new values of the variables.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub ReevaluateVariables ( _
    ByVal  VariableExpressions As String  _
)
C#
public void  ReevaluateVariables(
    string  VariableExpressions
)
Visual C++
HRESULT ReevaluateVariables(
    BSTR  VariableExpressions
);

Parameters

VariableExpressions

String to evaluate, resulting in new variable values, and new values in WaveFormTables. Multiple variable assignments may be made by inserting semicolons between individual assignments.

Remarks

ReevaluateVariables provides a way to modify the waveform table times compiled in a pattern. This is especially useful for shmoo testing, which is testing where the same pattern needs to be executed repeatedly while adjusting the timing, the DcLevels settings, or both.

To use ReevaluateVariables, the pattern must be defined in STIL or OpenXML. When defined in STIL or OpenXML, the waveform timing may be defined with a string that is re-evaluated by ReevaluateVariables. By using variables in the string that defines an edge or period, the value can be changed by simply changing the value of the variable.

For instance, if the STIL file defined a waveform table like this:

WaveformTable TableName {
    Period '50ns+shmoo*10ns';
    Waveforms {
        AllSignals { 01 { '0ns+shmoo*1ns' D/U; }}
    }
}

The STIL Spec block can be used to declare and initialize variables.

Then a program similar to this, could be used to determine errors as a function of the shmoo control variable:

       var Site = Driver.PatternSites.Item["MySite"];
for (var shmoo=0,shmoo <=1; shmoo +=0.01) {
Site.ReevaluateVariables("shmoo=" + shmoo.ToString());
Site.PatternSites.Item["MySite"].Initiate();
Site.WaitForAcquisitionComplete();
Console.WriteLine("Pattern failed: {0}
       times with shmoo={1}%",
Site.ResultSize,
shmoo*100);
}

The variables are associated with this pattern site, and remain in place until the pattern is inactivated. Multiple variables can be used in the evaluation. The default value of all variables is 0; however, they may be initialized in the pattern source. This can be done by providing a variable assignment as part of any string that is part of the pattern definition. For instance, the following initializes shmoo to 1:

WaveformTable TableName {
    Period 'shmoo=1; 100ns'{
    ...

Levels in DC levels tables may also be defined in terms of strings to defer evaluation. In tests where it is necessary to adjust both amplitude and timing values, the same control variable can be used in the calculation of both values. For instance, the control variable could represent the percentage deviation from the nominal value. Since the variables for the waveform table evaluation and DC level calculations are in the same namespace, the control variable needs to be defined only once for both operations. See ReevaluateDcLevels for details on that function.

Note that the same expression evaluator is used for DcLevels and WaveformTables; a single control variable can be used to adjust both timing and amplitude; however, both reevaluate functions must be called. The second reevaluate function called can pass a null string if no other variables need to be evaluated.

For more information on the PatternSites interface, see the PatternSites Overview.
For more information on expression evaluation, see Numeric Expressions.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite Interface
Keysight.KtMDsr.Interop Namespace


ResultCount Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite..::.ResultCount Property
IKtMDsrPatternSite See Also

Gets the number of elements in the result from the last pattern execution.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property ResultCount As Integer
C#
public int  ResultCount { get; }
Visual C++
HRESULT get_ResultCount(
    long*  val
);

Remarks

ResultCount returns the number of elements in the result, regardless of how they were logged.

Any single element of the results may be retrieved with FetchResultSegment.

The WhatToLog setting specifies the results that are logged.

For more information on WhatToLog, see PatternSite WhatToLog.
For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite Interface
Keysight.KtMDsr.Interop Namespace


ResultWidth Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite..::.ResultWidth Property
IKtMDsrPatternSite See Also

Gets the width of the result, that is, the number of bits in each element of the response. The result width is established by the highest ordinal assigned to a response signal in the site definition.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property ResultWidth As Integer
C#
public int  ResultWidth { get; }
Visual C++
HRESULT get_ResultWidth(
    long*  val
);

Remarks

To determine the number of elements in the response, use PatternSite ResultCount.
For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite Interface
Keysight.KtMDsr.Interop Namespace


SaveResultsToFile Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite..::.SaveResultsToFile Method
IKtMDsrPatternSite See Also

Saves the results and all of the line information, as text, to the specified file. The individual elements are comma-separated.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub SaveResultsToFile ( _
    ByVal  Filename As String  _
)
C#
public void  SaveResultsToFile(
    string  Filename
)
Visual C++
HRESULT SaveResultsToFile(
    BSTR  Filename
);

Parameters

Filename

Remarks

The result and all of the line information is stored to the specified file as text. Each line of the file has the following syntax:

<Result><PatternName><PatternIndex><CrossReference><IndexSinceCrossReference><VectorNumber><Time>
Field position | Field | Meaning
0 | Result | The numeric value of the result, in decimal. This is the value returned by the various Fetch functions.
1 Pattern Name This is the pattern that contained the compare that produced the result.

If the pattern includes a macro expansion, the name of the macro and the line number where the macro was invoked in the pattern is included in this field using the following syntax:

     <calling pattern>[<calling pattern index>]:<macro name>

For example,

     MyPattern[3]:Macro1

The subsequent information describes the pattern index (and cross reference, if it exists) within the macro.

2 Pattern Index This indicates the pattern index in the pattern (or macro) that contained the vector that produced the result.

For patterns created with IVI or OpenXML, the pattern Index is in the pattern definition.

For patterns created with STIL, or if the pattern index was not included in an OpenXML file, the pattern index is the 0-based count of the vector within the pattern. That is, the first vector is 0, the second is 1 et cetera. Control statements are also assigned a pattern index. The control statements are:

Loop
WatchLoop
MatchLoop
Goto
Stop
3 | Cross Reference (XREF) | Name of most recent cross reference.
4 | Index Since Cross Reference | The offset since the most recent cross reference in the most recently executed vector.
5 | Vector Number | This is the 0-based count of vectors executed from the beginning of the pattern until the vector that produced this result.
6 | Time | The time from the beginning of the pattern execution until this result.

Labels and cross references are not assigned a pattern index. They both apply a label the following vector statement.

The format parallels the result format displayed by the SFP.
For more information on cross references, see Pattern CrossReference.
For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite Interface
Keysight.KtMDsr.Interop Namespace


SetDcLevel Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite..::.SetDcLevel Method
IKtMDsrPatternSite See Also

Specifies a single DC level to apply on the given signal within this pattern. SetDcLevel cannot be called while the pattern is executing.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub SetDcLevel ( _
    ByVal  SignalExpression As String  _
    ByVal  DcLevelToSet As KtMDsrDcLevelEnum  _
    ByVal  Level As Double  _
)
C#
public void  SetDcLevel(
    string  SignalExpression,
    KtMDsrDcLevelEnum  DcLevelToSet,
    double  Level
)
Visual C++
HRESULT SetDcLevel(
    BSTR  SignalExpression,
    KtMDsrDcLevelEnum  DcLevelToSet,
    double  Level
);

Parameters

SignalExpression

Signals to which to apply the new DcLevel

DcLevelToSet

Which DcLevel to change, that is, which of the DC settings will be changed. The termination mode may not be changed. Only active values may be adjusted.

Level

New value of DcLevel

Remarks

SetDcLevel is useful for shmoo testing, or other applications where a single amplitude value needs to be adjusted after a pattern has been compiled.

The level is updated when this function is called; however, if no outputs are currently using this DcLevel, it will not be apparent.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite Interface
Keysight.KtMDsr.Interop Namespace


SetSignal Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite..::.SetSignal Method
IKtMDsrPatternSite See Also

Changes a single signal over a series of clock periods in the compiled waveform. That is, it writes the characters of the provided string into the designated signal in subsequent vectors.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub SetSignal ( _
    ByVal  Pattern As String  _
    ByVal  Label As String  _
    ByVal  LabelOffset As Integer  _
    ByVal  Signal As String  _
    ByVal  WaveformCharacters As String  _
)
C#
public void  SetSignal(
    string  Pattern,
    string  Label,
    int  LabelOffset,
    string  Signal,
    string  WaveformCharacters
)
Visual C++
HRESULT SetSignal(
    BSTR  Pattern,
    BSTR  Label,
    long  LabelOffset,
    BSTR  Signal,
    BSTR  WaveformCharacters
);

Parameters

Pattern

Pattern to modify

Label

Label within the pattern where the first change will be applied. This defines offset 0.

LabelOffset

PatternIndex offset from the label to modify. Must be within the same block of vectors, that is, within the same group of vectors enclosed in braces in STIL.

Signal

Name of signal to change

WaveformCharacters

Waveform characters to write into the pattern. Successive characters are written from the string into the pattern until the end of the string.

Remarks

SetSignal changes a specified signal data line over a series of clock periods. For instance, this is useful to change a data value in a serial protocol. The first waveform character in the waveform characters string is written to the designated signal in the vector described by parameters Label and LabelOffset. Subsequent waveform characters are written to the same signal in subsequent vectors until all of the waveform characters are used.

The changes to the signal must all be within a program segment. That is, the length of the waveform characters string must not cause the changes to span into a different segment.

Note that this instruction works on the currently active pattern.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite Interface
Keysight.KtMDsr.Interop Namespace


SetVector Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite..::.SetVector Method
IKtMDsrPatternSite See Also

Overwrites the vector data at the specified location in a compiled pattern.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub SetVector ( _
    ByVal  Pattern As String  _
    ByVal  Label As String  _
    ByVal  LabelOffset As Integer  _
    ByVal  SignalExpression As String  _
    ByVal  WaveformCharacters As String  _
    ByVal  WaveformTable As String  _
)
C#
public void  SetVector(
    string  Pattern,
    string  Label,
    int  LabelOffset,
    string  SignalExpression,
    string  WaveformCharacters,
    string  WaveformTable
)
Visual C++
HRESULT SetVector(
    BSTR  Pattern,
    BSTR  Label,
    long  LabelOffset,
    BSTR  SignalExpression,
    BSTR  WaveformCharacters,
    BSTR  WaveformTable
);

Parameters

Pattern

Pattern to modify

Label

Label within the pattern where the change will be applied.

LabelOffset

PatternIndex offset from the label to modify. Must be within the same block of vectors, that is, within the same group of vectors enclosed in braces in STIL.

SignalExpression

The signals that are modified. That is, the signals that are set to the provided waveform characters. These are specified in the order the signals appear in the SignalExpression parameter.

WaveformCharacters

The new waveform characters to use for the signals specified.

WaveformTable

The waveform table for this vector.

Remarks

SetVector completely replaces the vector at the given location with the pattern, label, offset, waveform characters, and waveform table specified in this function. The location modified is the location with the pattern index at the specified offset from the specified label within the pattern.

The new vector is formed by assigning the characters in WaveformCharacters to the corresponding signals in the SignalExpression. If a Signal is not specified in the SignalExpression, the DSR will repeat the waveform character specified in the previous vector.

The specified Waveform Table must have been defined in the original Pattern Exec unless 32 or fewer waveform tables were specified when the pattern was compiled.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite Interface
Keysight.KtMDsr.Interop Namespace


SetWaveformTable Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite..::.SetWaveformTable Method
IKtMDsrPatternSite See Also

Overwrites the Waveform Table at the specified location in the compiled pattern.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub SetWaveformTable ( _
    ByVal  Pattern As String  _
    ByVal  Label As String  _
    ByVal  LabelOffset As Integer  _
    ByVal  WaveformTable As String  _
)
C#
public void  SetWaveformTable(
    string  Pattern,
    string  Label,
    int  LabelOffset,
    string  WaveformTable
)
Visual C++
HRESULT SetWaveformTable(
    BSTR  Pattern,
    BSTR  Label,
    long  LabelOffset,
    BSTR  WaveformTable
);

Parameters

Pattern

Pattern to modify

Label

Label within the pattern where the first change will be applied. This defines offset 0.

LabelOffset

PatternIndex offset from label to modify. Must be within the same block of vectors, that is, within the same group of vectors enclosed in braces in STIL.

WaveformTable

The new waveform table for this vector.

Remarks

SetWaveformTable changes the WaveformTable at a single clock period. Using this, the timing of a single bit period can be adjusted. Successive vectors will return to the WaveformTable with which they were compiled. This is useful for shmoo testing.

The specified Waveform Table must have been defined in the original Pattern Exec unless 32 or fewer waveform tables were specified when the pattern was compiled.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite Interface
Keysight.KtMDsr.Interop Namespace


WaitForAcquisitionComplete Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite..::.WaitForAcquisitionComplete Method
IKtMDsrPatternSite See Also

This function waits for the pattern to complete execution before it returns. If a pattern has not been initiated or if it has already completed, the function will return immediately.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function WaitForAcquisitionComplete ( _
    ByVal  MaximumSeconds As Double  _
) As KtMDsrPatternSiteExecutionStateEnum
C#
public KtMDsrPatternSiteExecutionStateEnum  WaitForAcquisitionComplete(
    double  MaximumSeconds
)
Visual C++
HRESULT WaitForAcquisitionComplete(
    double  MaximumSeconds
    KtMDsrPatternSiteExecutionStateEnum*  retval
);

Parameters

MaximumSeconds

The length of time, in seconds, to wait for the pattern to complete execution.

Return Value

Remarks

Use Execution Result and Execution Errors to determine why the acquisition terminated.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite Interface
Keysight.KtMDsr.Interop Namespace


ListCache Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSites..::.ListCache Method
IKtMDsrPatternSites See Also

Returns a comma-separated list of PatternSites previously saved in cache, and the amount of memory each is using.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub ListCache ( _
    ByRef  Patterns As String  _
    ByRef  Sizes As Integer()   _
)
C#
public void  ListCache(
    ref string  Patterns,
    ref int[]   Sizes
)
Visual C++
HRESULT ListCache(
    BSTR*  Patterns,
    SAFEARRAY**  Sizes
);

Parameters

Patterns

String containing a comma-separated list of cached patterns.

Sizes

Array containing the sizes of each compiled pattern. Element 0 of the array corresponds to the first pattern in the comma-separated list of patterns.

Remarks

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSites Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSites..::.Name Property
IKtMDsrPatternSites See Also

Gets the site activated for pattern generation at a given index.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name( _
    ByVal  Index As Integer  _
) As String
C#
public string  get_Name(
    int  Index
)
Visual C++
HRESULT get_Name(
    long  Index,
    BSTR*  val
);

Parameters

Index

One-based index into the collection of patternsites.

Remarks

For more information on the PatternSites interface, see the PatternSites Overview.
For more information on the dynamic repeated capability Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSites Interface
Keysight.KtMDsr.Interop Namespace


ResultBufferSize Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSites..::.ResultBufferSize Property
IKtMDsrPatternSites See Also

Specifies the amount of memory, in bytes, to be reserved for results for this pattern. This memory is taken from the memory reserved for results using Instrument Configure Memory.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property ResultBufferSize As Integer
C#
public int  ResultBufferSize { get; set; }
Visual C++
HRESULT get_ResultBufferSize(
    long*  val
);
HRESULT put_ResultBufferSize(
    long  val
);

Remarks

The default value is generally appropriate for this attribute. It is useful to set ResultBufferSize to a specific size when an application is using multiple banks and it needs to allocate different amounts of result memory to each site.

If this pattern uses all of the module banks, the default value utilizes all of the memory reserved by the Instrument Configure Memory function.

If this pattern uses only a single bank, the default value will evenly divide the unused memory between this pattern and any inactive banks.

See Instrument.ConfigureMemory for details on how memory allocation is controlled between patterns and results.
For more information on the PatternSites interface, see the PatternSites Overview.

Range

$$RANGES$$

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSites Interface
Keysight.KtMDsr.Interop Namespace


TriggerMode Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSites..::.TriggerMode Property
IKtMDsrPatternSites See Also

The trigger mode determines whether the pattern begins executing immediately after it is initiated or whether it waits for a trigger event.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property TriggerMode As KtMDsrPatternSitesTriggerModeEnum
C#
public KtMDsrPatternSitesTriggerModeEnum  TriggerMode { get; set; }
Visual C++
HRESULT get_TriggerMode(
    KtMDsrPatternSitesTriggerModeEnum*  val
);
HRESULT put_TriggerMode(
    KtMDsrPatternSitesTriggerModeEnum  val
);

Remarks

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSites Interface
Keysight.KtMDsr.Interop Namespace


TriggerSource Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSites..::.TriggerSource Property
IKtMDsrPatternSites See Also

Gets or sets the trigger source used to begin execution for this pattern after calling Initiate.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property TriggerSource As String
C#
public string  TriggerSource { get; set; }
Visual C++
HRESULT get_TriggerSource(
    BSTR*  val
);
HRESULT put_TriggerSource(
    BSTR  val
);

Remarks

The table below shows the relationship between Software Triggers, TriggerSource strings, and the EventBits to set when calling GenerateSoftwareEvents. Multiple bits may be set to generate multiple software triggers.

Software trigger | TriggerSource string | Set EventBits to this value when calling GenerateSoftwareEvents
Software0 | "SoftwareTrigger0" | 1
Software1 | "SoftwareTrigger1" | 2
Software2 | "SoftwareTrigger2" | 4
Software3 | "SoftwareTrigger3" | 8
Software4 | "SoftwareTrigger4" | 16
Software5 | "SoftwareTrigger5" | 32
Software6 | "SoftwareTrigger6" | 64
Software7 | "SoftwareTrigger7" | 128
Software8 | "SoftwareTrigger8" | 256
Software9 | "SoftwareTrigger9" | 512
Software10 | "SoftwareTrigger10" | 1024
Software11 | "SoftwareTrigger11" | 2048
Software12 | "SoftwareTrigger12" | 4096
Software13 | "SoftwareTrigger13" | 8192
Software14 | "SoftwareTrigger14" | 16384
Software15 | "SoftwareTrigger15" | 32768

For details on generating software triggers, see Generate Software Events.
For more information on the PatternSites interface, see the PatternSites Overview.

Allowed Values

"SoftwareTrigger0", "SoftwareTrigger1", "SoftwareTrigger2", "SoftwareTrigger3", "SoftwareTrigger4", "SoftwareTrigger5", "SoftwareTrigger6", "SoftwareTrigger7", "SoftwareTrigger8", "SoftwareTrigger9", "SoftwareTrigger10", "SoftwareTrigger11", "SoftwareTrigger12", "SoftwareTrigger13", "SoftwareTrigger14", "SoftwareTrigger15", "External1", "External2", "GPIO1", "GPIO2", "PXI_TRIG0", "PXI_TRIG1", "PXI_TRIG2", "PXI_TRIG3", "PXI_TRIG4", "PXI_TRIG5", "PXI_TRIG6", "PXI_TRIG7", "PXI_STAR", "PXIe_DSTARB"

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSites Interface
Keysight.KtMDsr.Interop Namespace


WhatToLog Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSites..::.WhatToLog Property
IKtMDsrPatternSites See Also

Sets the compares to log during pattern execution (all compares; first failed compare; all failed compares). If "first failed compare" is selected, the first failure terminates the pattern execution.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property WhatToLog As KtMDsrPatternSitesWhatToLogEnum
C#
public KtMDsrPatternSitesWhatToLogEnum  WhatToLog { get; set; }
Visual C++
HRESULT get_WhatToLog(
    KtMDsrPatternSitesWhatToLogEnum*  val
);
HRESULT put_WhatToLog(
    KtMDsrPatternSitesWhatToLogEnum  val
);

Remarks

The WhatToLog setting controls the logging of compares during pattern execution.

WhatToLog setting: | DSR logs:
EveryCycleWithCompare | Every cycle with a compare. Use this setting when the pattern is defined with the intent of capturing all compares.
EveryCycleWithFailingCompare | All failed compares. This setting is useful when the pattern expects specific values for all DUT response signals.
FirstCycleWithFailingCompareAndTerminate | The first failed compare. After the failed compare, the pattern execution terminates. A successful completion will result in ExecutionState of "Complete" and ExecutionErrors = "None."

To use the DSR to log data, set WhatToLog to EveryCycleWithCompare. The bits which contain data are normally configured to compare the input with a logical low. In this case, the state of the compare reflects the binary information. When WhatToLog is set to EveryCycleWithCompare, this will place both 0's and 1's in the result.

See also KtMDsrPatterSitesWhatToLogEnum enumeration.

For details on generating software triggers, see Generate Software Events.
For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSites Interface
Keysight.KtMDsr.Interop Namespace


PatternSites2 Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr2..::.PatternSites2 Property
IKtMDsr2 See Also

Pointer to the IKtMDsrPatternSites interface. The PatternSites interface controls the execution of defined patterns.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property PatternSites2 As IKtMDsrPatternSites2
C#
public IKtMDsrPatternSites2  PatternSites2 { get; }
Visual C++
HRESULT get_PatternSites2(
    IKtMDsrPatternSites2**  val
);

Remarks

PatternSites operates the pattern execution hardware on a specified site. The pattern definition includes symbolic signals and triggers; the site maps those signals and triggers to physical DSR channels and trigger sources. Once the pattern is activated, the PatternSite functions and attributes control the execution of the pattern on the DSR hardware.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsr2 Interface
Keysight.KtMDsr.Interop Namespace


Item2 Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSites2..::.Item2 Property
IKtMDsrPatternSites2 See Also

Pointer to the IKtMDsrPatternSite interface. The PatternSite interface has operations to control the execution of compiled patterns.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Item2( _
    ByVal  Name As String  _
) As IKtMDsrPatternSite2
C#
public IKtMDsrPatternSite2  get_Item2(
    string  Name
)
Visual C++
HRESULT get_Item2(
    BSTR  Name,
    IKtMDsrPatternSite2**  val
);

Parameters

Name

The block name of the site to access. The site must have been activated for pattern operations.For valid values, see the PatternSite repeated capability.

Remarks

Returns the identified site that has been activated for pattern operations.

For more information on the PatternSites interface, see the PatternSites Overview.
For more information on the dynamic repeated capability Item function, see Dynamic Repeated Capabilities.
For general information about active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSites2 Interface
Keysight.KtMDsr.Interop Namespace


FetchResultSegmentWide Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite2..::.FetchResultSegmentWide Method
IKtMDsrPatternSite2 See Also

Returns the result as an array of 32-bit integers. It is only needed when the result data is wider than16 bits (Ordinals for results data are > 15).

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function FetchResultSegmentWide ( _
    ByVal  Offset As Integer  _
    ByVal  Count As Integer  _
    ByRef  ArrayElementsPerVector As Integer  _
) As Integer()
C#
public int[]   FetchResultSegmentWide(
    int  Offset,
    int  Count,
    ref int  ArrayElementsPerVector
)
Visual C++
HRESULT FetchResultSegmentWide(
    long  Offset,
    long  Count,
    long*  ArrayElementsPerVector
    SAFEARRAY**  retval
);

Parameters

Offset

The offset of the first element returned within the segment.

Count

The number of elements to return in the segment.

ArrayElementsPerVector

The number of element in the returned array, for each results vector.

Return Value

Result data from the pattern execution.

Remarks

An integer number of integers are inserted in the array for each cycle that produces a result. The number of integers for that cycle is the minimum number necessary to provide all the bit positions for all of the ordinals specified for the Out and InOut channels.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite2 Interface
Keysight.KtMDsr.Interop Namespace


FetchResultWide Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite2..::.FetchResultWide Method
IKtMDsrPatternSite2 See Also

Returns the result as an array of 32-bit integers. It is only needed when the result data is wider than16 bits (Ordinals for results data are > 15).

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function FetchResultWide ( _
    ByRef  ArrayElementsPerVector As Integer  _
) As Integer()
C#
public int[]   FetchResultWide(
    ref int  ArrayElementsPerVector
)
Visual C++
HRESULT FetchResultWide(
    long*  ArrayElementsPerVector
    SAFEARRAY**  retval
);

Parameters

ArrayElementsPerVector

The number of element in the returned array, for each results vector.

Return Value

Result data from the pattern execution.

Remarks

An integer number of integers are inserted in the array for each cycle that produces a result. The number of integers for that cycle is the minimum number necessary to provide all the bit positions for all of the ordinals specified for the Out and InOut channels.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite2 Interface
Keysight.KtMDsr.Interop Namespace


FetchTrinaryResultSegmentWide Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite2..::.FetchTrinaryResultSegmentWide Method
IKtMDsrPatternSite2 See Also

Returns a segment from the captured result as an array of 32-bit integers. Only needed when the result data is wider than 32 bits.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function FetchTrinaryResultSegmentWide ( _
    ByVal  Offset As Integer  _
    ByVal  Count As Integer  _
    ByRef  ArrayElementsPerVector As Integer  _
) As Integer()
C#
public int[]   FetchTrinaryResultSegmentWide(
    int  Offset,
    int  Count,
    ref int  ArrayElementsPerVector
)
Visual C++
HRESULT FetchTrinaryResultSegmentWide(
    long  Offset,
    long  Count,
    long*  ArrayElementsPerVector
    SAFEARRAY**  retval
);

Parameters

Offset

The offset of the first element returned within the segment.

Count

The number of elements to return in the segment.

ArrayElementsPerVector

The number of element in the returned array, for each results vector.

Return Value

Result data from the pattern execution.

Remarks

An integer number of integers are inserted in the array for each cycle that produces a result. The number of integers for that cycle is the minimum number necessary to provide all the bit positions for all of the ordinals specified for the Out and InOut channels.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite2 Interface
Keysight.KtMDsr.Interop Namespace


FetchTrinaryResultWide Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite2..::.FetchTrinaryResultWide Method
IKtMDsrPatternSite2 See Also

Returns a segment from the captured result as an array of 32-bit integers. Only needed when the result data is wider than 32 bits.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function FetchTrinaryResultWide ( _
    ByRef  ArrayElementsPerVector As Integer  _
) As Integer()
C#
public int[]   FetchTrinaryResultWide(
    ref int  ArrayElementsPerVector
)
Visual C++
HRESULT FetchTrinaryResultWide(
    long*  ArrayElementsPerVector
    SAFEARRAY**  retval
);

Parameters

ArrayElementsPerVector

The number of element in the returned array, for each results vector.

Return Value

Result data from the pattern execution.

Remarks

An integer number of integers are inserted in the array for each cycle that produces a result. The number of integers for that cycle is the minimum number necessary to provide all the bit positions for all of the ordinals specified for the Out and InOut channels.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPatternSite2 Interface
Keysight.KtMDsr.Interop Namespace


PpmuSites Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr..::.PpmuSites Property
IKtMDsr See Also

Pointer to the IKtMDsrPpmuSites interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property PpmuSites As IKtMDsrPpmuSites
C#
public IKtMDsrPpmuSites  PpmuSites { get; }
Visual C++
HRESULT get_PpmuSites(
    IKtMDsrPpmuSites**  val
);

Remarks

For more information on the PpmuSites interface, see the PpmuSites Overview.

See also Active Sites and Signal Direction.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsr Interface
Keysight.KtMDsr.Interop Namespace


Activate Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPpmuSites..::.Activate Method
IKtMDsrPpmuSites See Also

Activates a site for PPMU operations. Once activated, the site block name can be passed to the Item function to access PPMU functions for this site.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Activate ( _
    ByVal  Site As String  _
)
C#
public void  Activate(
    string  Site
)
Visual C++
HRESULT Activate(
    BSTR  Site
);

Parameters

Site

Block name of the site to activate.

Remarks

Activate will reserve the channels for exclusive use by the specified site and initialize the PPMU capabilities associated with those channels.

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on the dynamic repeated capability Activate function, see Dynamic Repeated Capabilities.
For general information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPpmuSites Interface
Keysight.KtMDsr.Interop Namespace


Count Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPpmuSites..::.Count Property
IKtMDsrPpmuSites See Also

Returns the number of sites that have been activated for PPMU operations.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Count As Integer
C#
public int  Count { get; }
Visual C++
HRESULT get_Count(
    long*  val
);

Remarks

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on the dynamic repeated capability Count attribute, see Dynamic Repeated Capabilities.
For general information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPpmuSites Interface
Keysight.KtMDsr.Interop Namespace


Inactivate Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPpmuSites..::.Inactivate Method
IKtMDsrPpmuSites See Also

Releases PPMU resources associated with this site without altering the signals on the channels.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Inactivate ( _
    ByVal  SiteName As String  _
)
C#
public void  Inactivate(
    string  SiteName
)
Visual C++
HRESULT Inactivate(
    BSTR  SiteName
);

Parameters

SiteName

Name of the site activated for PPMU operations to inactivate.

Remarks

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on the dynamic repeated capability Inactivate function, see Dynamic Repeated Capabilities.
For general information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPpmuSites Interface
Keysight.KtMDsr.Interop Namespace


InactivateAndDisable Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPpmuSites..::.InactivateAndDisable Method
IKtMDsrPpmuSites See Also

Releases PPMU resources associated with this site and places the channels into a high impedance state.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub InactivateAndDisable ( _
    ByVal  SiteName As String  _
)
C#
public void  InactivateAndDisable(
    string  SiteName
)
Visual C++
HRESULT InactivateAndDisable(
    BSTR  SiteName
);

Parameters

SiteName

Name of PPMU site

Remarks

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on the dynamic repeated capability Inactivate function, see Dynamic Repeated Capabilities.
For general information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPpmuSites Interface
Keysight.KtMDsr.Interop Namespace


Item Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPpmuSites..::.Item Property
IKtMDsrPpmuSites See Also

Returns a pointer to the IKtMDsrPpmuSite interface for the specified site.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Item( _
    ByVal  Name As String  _
) As IKtMDsrPpmuSite
C#
public IKtMDsrPpmuSite  get_Item(
    string  Name
)
Visual C++
HRESULT get_Item(
    BSTR  Name,
    IKtMDsrPpmuSite**  val
);

Parameters

Name

The block name of the site to access. The site must have been activated for PPMU operations.For valid values, see the PpmuSite repeated capability.

Remarks

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on the dynamic repeated capability Item function, see Dynamic Repeated Capabilities.
For general information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPpmuSites Interface
Keysight.KtMDsr.Interop Namespace


AverageMode Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPpmuSite..::.AverageMode Property
IKtMDsrPpmuSite See Also

Controls the averaging performed for measurements. Configures whether the PPMU should perform simple averaging, perform averaging to noise reduction (reject power-line frequency noise), or omit averaging to return the highest speed measurements.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property AverageMode As KtMDsrPpmuSiteAverageModeEnum
C#
public KtMDsrPpmuSiteAverageModeEnum  AverageMode { get; set; }
Visual C++
HRESULT get_AverageMode(
    KtMDsrPpmuSiteAverageModeEnum*  val
);
HRESULT put_AverageMode(
    KtMDsrPpmuSiteAverageModeEnum  val
);

Remarks

The following averaging modes are supported:

Mode | Behavior
None | No averaging is performed. This mode provides the fastest possible measurements.
Average64 | 64 measurements are made and averaged together on each channel. This improves the noise level on the measurements.
Window50Hz Measurements are averaged over a 50 Hz power-line cycle. All channels are measured simultaneously over this period. In addition to the noise reduction provided by Average64, this also rejects line noise present on the signal lines, resulting in improved measurement quality.

This setting should be used in environments with 50 Hz line frequency that require maximum conversion resolution. The minimum measurements time is 20 ms.

This setting is the best choice for environments with 400 Hz line frequency that require maximum conversion resolution; however, the line rejection will not be as effective.

Window60Hz Measurements are averaged over a 60 Hz power-line cycle. All channels are measured simultaneously over this period. In addition to the noise reduction provided by Average64, this also rejects line noise present on the signal lines, resulting in improved measurement quality.

This setting should be used in environments with 60 Hz line frequency that require maximum conversion resolution. The minimum measurements time is 17 ms.

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPpmuSite Interface
Keysight.KtMDsr.Interop Namespace


CurrentLimit Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPpmuSite..::.CurrentLimit Property
IKtMDsrPpmuSite See Also

Returns the maximum current the module can produce on this channel based on the current settings.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property CurrentLimit As Double
C#
public double  CurrentLimit { get; }
Visual C++
HRESULT get_CurrentLimit(
    double*  val
);

Remarks

CurrentLimit indicates the maximum current that can be produced when forcing a voltage based on the current module configuration. It does not take into account the total module current limitation. The maximum module current is approximately 320mA.

The CurrentLimit is not relevant when measuring or sourcing current, as current level is implicit in other settings.

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Units

Units are Amps.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPpmuSite Interface
Keysight.KtMDsr.Interop Namespace


Force Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPpmuSite..::.Force Method
IKtMDsrPpmuSite See Also

This function forces a current, voltage or shuts off the force function. No measurement is performed.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Force ( _
    ByVal  ForceMode As KtMDsrPpmuSiteForceModeEnum  _
    ByVal  Level As Double  _
)
C#
public void  Force(
    KtMDsrPpmuSiteForceModeEnum  ForceMode,
    double  Level
)
Visual C++
HRESULT Force(
    KtMDsrPpmuSiteForceModeEnum  ForceMode,
    double  Level
);

Parameters

ForceMode

Specifies current or voltage output. The "Nothing" setting can be used to shut off the force function.

Level

Level being forced. In Amps for current, in Volts for voltage. When ForceMode is Nothing, the Level parameter is ignored.

Remarks

Each channel's measurement result is placed at the index in the array specified by the ordinal in the site.

The maximum compliance voltage is dependent on the current range. Below is a table of values.

Current range | Voltage
+/-40 mA | -2.0 to +5.75 V
+/-25 mA | -2.0 to +6.0 V
+/-2 mA (and less) | -2.0 to +6.5 V

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPpmuSite Interface
Keysight.KtMDsr.Interop Namespace


ForceCurrentMeasureCurrent Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPpmuSite..::.ForceCurrentMeasureCurrent Method
IKtMDsrPpmuSite See Also

Function that forces the specified current and measures the actual current. Note that the ability to force the current depends on the system impedance.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function ForceCurrentMeasureCurrent ( _
    ByVal  ForceCurrent As Double  _
) As Double()
C#
public double[]   ForceCurrentMeasureCurrent(
    double  ForceCurrent
)
Visual C++
HRESULT ForceCurrentMeasureCurrent(
    double  ForceCurrent
    SAFEARRAY**  retval
);

Parameters

ForceCurrent

Level being forced, in Amps. Current must be between -40mA and 40mA, inclusive.

Return Value

Returns an array containing the measured current on each channel in the site. Each channel's measurement result is placed at the index in the array specified by the ordinal in the site.

Remarks

Each channel's measurement result is placed at the index in the array specified by the ordinal in the site.

The maximum compliance voltage is dependent on the current range. Below is a table of values.

Current range | Voltage
+/-40 mA | -2.0 to +5.75 V
+/-25 mA | -2.0 to +6.0 V
+/-2 mA (and less) | -2.0 to +6.5 V

A positive current produces a current flow out of the DSR and into the DUT.

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPpmuSite Interface
Keysight.KtMDsr.Interop Namespace


ForceCurrentMeasureVoltage Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPpmuSite..::.ForceCurrentMeasureVoltage Method
IKtMDsrPpmuSite See Also

Function that forces the specified current and measures the voltage.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function ForceCurrentMeasureVoltage ( _
    ByVal  ForceCurrent As Double  _
) As Double()
C#
public double[]   ForceCurrentMeasureVoltage(
    double  ForceCurrent
)
Visual C++
HRESULT ForceCurrentMeasureVoltage(
    double  ForceCurrent
    SAFEARRAY**  retval
);

Parameters

ForceCurrent

Level being forced, in Amps.

Return Value

Returns an array containing the voltage measured on each channel in the site. Each channel's measurement result is placed at the index in the array specified by the ordinal in the site.

Remarks

Each channel's measurement result is placed at the index in the array specified by the ordinal in the site.

The maximum compliance voltage is dependent on the current range. Below is a table of values.

Current range | Voltage
+/-40 mA | -2.0 to +5.75 V
+/-25 mA | -2.0 to +6.0 V
+/-2 mA (and less) | -2.0 to +6.5 V

A positive current produces a current flow out of the DSR and into the DUT.

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPpmuSite Interface
Keysight.KtMDsr.Interop Namespace


ForceMode Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPpmuSite..::.ForceMode Property
IKtMDsrPpmuSite See Also

Allows querying of the Force Mode. To set the ForceMode attribute, use the Force function or one of the Force and Measure functions.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property ForceMode As KtMDsrPpmuSiteForceModeEnum
C#
public KtMDsrPpmuSiteForceModeEnum  ForceMode { get; }
Visual C++
HRESULT get_ForceMode(
    KtMDsrPpmuSiteForceModeEnum*  val
);

Remarks

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPpmuSite Interface
Keysight.KtMDsr.Interop Namespace


ForceNothingMeasureVoltage Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPpmuSite..::.ForceNothingMeasureVoltage Method
IKtMDsrPpmuSite See Also

Stops any active forcing function (either current or voltage) and measures voltage.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function ForceNothingMeasureVoltage ( _
) As Double()
C#
public double[]   ForceNothingMeasureVoltage(
)
Visual C++
HRESULT ForceNothingMeasureVoltage(
    SAFEARRAY**  retval
);

Return Value

Returns an array containing the measured voltage on each channel in the site. Each channel's measurement result is placed at the index in the array specified by the ordinal in the site.

Remarks

Each channel's measurement result is placed at the index in the array specified by the ordinal in the site.

The maximum compliance voltage is dependent on the current range. Below is a table of values.

Current range | Voltage
+/-40 mA | -2.0 to +5.75 V
+/-25 mA | -2.0 to +6.0 V
+/-2 mA (and less) | -2.0 to +6.5 V

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPpmuSite Interface
Keysight.KtMDsr.Interop Namespace


ForceVoltageMeasureCurrent Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPpmuSite..::.ForceVoltageMeasureCurrent Method
IKtMDsrPpmuSite See Also

Function that forces the specified voltage and measures the current.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function ForceVoltageMeasureCurrent ( _
    ByVal  ForceVoltage As Double  _
    ByVal  CurrentRange As Double  _
) As Double()
C#
public double[]   ForceVoltageMeasureCurrent(
    double  ForceVoltage,
    double  CurrentRange
)
Visual C++
HRESULT ForceVoltageMeasureCurrent(
    double  ForceVoltage,
    double  CurrentRange
    SAFEARRAY**  retval
);

Parameters

ForceVoltage

Level being forced, in Volts.

CurrentRange

The maximum current expected. This configures the DSR to measure currents of this magnitude or below.

Return Value

Returns an array containing the measured current on each channel in the site. Each channel's measurement result is placed at the index in the array specified by the ordinal in the site.

Remarks

Each channel's measurement result is placed at the index in the array specified by the ordinal in the site.

The maximum compliance voltage is dependent on the current range. Below is a table of values.

Current range | Voltage
+/-40 mA | -2.0 to +5.75 V
+/-25 mA | -2.0 to +6.0 V
+/-2 mA (and less) | -2.0 to +6.5 V

A positive current measurement indicates a flow of current out of the DSR and into the DUT.

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPpmuSite Interface
Keysight.KtMDsr.Interop Namespace


ForceVoltageMeasureVoltage Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPpmuSite..::.ForceVoltageMeasureVoltage Method
IKtMDsrPpmuSite See Also

Function that forces the specified voltage and measures the actual voltage. Note that the ability to force the voltage depends on the system impedance.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function ForceVoltageMeasureVoltage ( _
    ByVal  ForceVoltage As Double  _
) As Double()
C#
public double[]   ForceVoltageMeasureVoltage(
    double  ForceVoltage
)
Visual C++
HRESULT ForceVoltageMeasureVoltage(
    double  ForceVoltage
    SAFEARRAY**  retval
);

Parameters

ForceVoltage

Level being forced, in Volts.

Return Value

Returns an array containing the measured voltage on each channel in the site. Each channel's measurement result is placed at the index in the array specified by the ordinal in the site.

Remarks

Each channel's measurement result is placed at the index in the array specified by the ordinal in the site.

The maximum compliance voltage is dependent on the current range. Below is a table of values.

Current range | Voltage
+/-40 mA | -2.0 to +5.75 V
+/-25 mA | -2.0 to +6.0 V
+/-2 mA (and less) | -2.0 to +6.5 V

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPpmuSite Interface
Keysight.KtMDsr.Interop Namespace


Level Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPpmuSite..::.Level Property
IKtMDsrPpmuSite See Also

Returns the force level currently in use. To set the Level attribute, use the Force function or one of the Force and Measure functions.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Level As Double
C#
public double  Level { get; }
Visual C++
HRESULT get_Level(
    double*  val
);

Remarks

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Units

The units are Amps or Volts, depending on the currently active force function.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPpmuSite Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPpmuSite..::.Name Property
IKtMDsrPpmuSite See Also

Returns the site block name for the specified index.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name As String
C#
public string  Name { get; }
Visual C++
HRESULT get_Name(
    BSTR*  val
);

Remarks

This is useful when a reference to this block is acquired using the Item function and there is a subsequent need to determine which block this is.

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on the dynamic repeated capability Item.Name attribute, see Dynamic Repeated Capabilities.
For information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPpmuSite Interface
Keysight.KtMDsr.Interop Namespace


SettlingDelay Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPpmuSite..::.SettlingDelay Property
IKtMDsrPpmuSite See Also

Specifies the delay, in seconds, between applying the Force and performing the measurement.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property SettlingDelay As Double
C#
public double  SettlingDelay { get; set; }
Visual C++
HRESULT get_SettlingDelay(
    double*  val
);
HRESULT put_SettlingDelay(
    double  val
);

Remarks

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Units

Seconds

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPpmuSite Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPpmuSites..::.Name Property
IKtMDsrPpmuSites See Also

Returns the site activated for PPMU use for a given index.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name( _
    ByVal  Index As Integer  _
) As String
C#
public string  get_Name(
    int  Index
)
Visual C++
HRESULT get_Name(
    long  Index,
    BSTR*  val
);

Parameters

Index

One-based index into the collection of active PPMU sites.

Remarks

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on the dynamic repeated capability Name attribute, see Dynamic Repeated Capabilities.
For information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrPpmuSites Interface
Keysight.KtMDsr.Interop Namespace


SignalGroups Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr..::.SignalGroups Property
IKtMDsr See Also

Pointer to the IKtMDsrSignalGroups interface. The SignalGroup interface permits defining a group so that several signals can be referenced with a single identifier.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property SignalGroups As IKtMDsrSignalGroups
C#
public IKtMDsrSignalGroups  SignalGroups { get; }
Visual C++
HRESULT get_SignalGroups(
    IKtMDsrSignalGroups**  val
);

Remarks

For more information on the SignalGroups interface, see the SignalGroups Overview.
See Signal Expressions and Numeric Expressions for more information on evaluating Signal and Numeric Expressions.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsr Interface
Keysight.KtMDsr.Interop Namespace


Add Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSignalGroups..::.Add Method
IKtMDsrSignalGroups See Also

Adds a SignalGroup block of the specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Add ( _
    ByVal  Name As String  _
)
C#
public void  Add(
    string  Name
)
Visual C++
HRESULT Add(
    BSTR  Name
);

Parameters

Name

Name of SignalGroup

Remarks

For more information on the SignalGroups interface, see the SignalGroups Overview.
For more information on the dynamic repeated capability Add function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSignalGroups Interface
Keysight.KtMDsr.Interop Namespace


Count Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSignalGroups..::.Count Property
IKtMDsrSignalGroups See Also

Returns the number of SignalGroup blocks.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Count As Integer
C#
public int  Count { get; }
Visual C++
HRESULT get_Count(
    long*  val
);

Remarks

For more information on the SignalGroups interface, see the SignalGroups Overview.
For more information on the dynamic repeated capability Count attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSignalGroups Interface
Keysight.KtMDsr.Interop Namespace


Item Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSignalGroups..::.Item Property
IKtMDsrSignalGroups See Also

Returns the SignalGroup block with the specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Item( _
    ByVal  Name As String  _
) As IKtMDsrSignalGroup
C#
public IKtMDsrSignalGroup  get_Item(
    string  Name
)
Visual C++
HRESULT get_Item(
    BSTR  Name,
    IKtMDsrSignalGroup**  val
);

Parameters

Name

The name of a SignalGroup block.For valid values, see the SignalGroup repeated capability.

Remarks

For more information on the SignalGroups interface, see the SignalGroups Overview.
For more information on the dynamic repeated capability Item function, see Dynamic Repeated Capabilities.
For more information on evaluating Signal and numeric expressions, see Signal Expressions and Numeric Expressions.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSignalGroups Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSignalGroup..::.Name Property
IKtMDsrSignalGroup See Also

The Name of the current SignalGroup block.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name As String
C#
public string  Name { get; }
Visual C++
HRESULT get_Name(
    BSTR*  val
);

Remarks

This is useful when a reference to this block is acquired using the Item function and there is a subsequent need to determine which block this is.

For more information on the SignalGroups interface, see the SignalGroups Overview.
For more information on the dynamic repeated capability Item.Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSignalGroup Interface
Keysight.KtMDsr.Interop Namespace


Signals Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSignalGroup..::.Signals Property
IKtMDsrSignalGroup See Also

Sets the list of Signals to use for this SignalGroup. To add multiple signals at the same time, they should be defined using conventional STIL signal-reference-expression syntax. For instance "Sig1+Sig2+Bus[0..7]".

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property Signals As String
C#
public string  Signals { get; set; }
Visual C++
HRESULT get_Signals(
    BSTR*  val
);
HRESULT put_Signals(
    BSTR  val
);

Remarks

This attribute contains the string that defines the group as defined Signal Groups.

For more information on the SignalGroups interface, see the SignalGroups Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For more information on evaluating Signal and numeric expressions, see Signal Expressions and Numeric Expressions.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSignalGroup Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSignalGroups..::.Name Property
IKtMDsrSignalGroups See Also

Returns the SignalGroup name for the specified index.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name( _
    ByVal  Index As Integer  _
) As String
C#
public string  get_Name(
    int  Index
)
Visual C++
HRESULT get_Name(
    long  Index,
    BSTR*  val
);

Parameters

Index

One-based index into the collection of signalgroups.

Remarks

For more information on the SignalGroups interface, see the SignalGroups Overview.
For more information on the dynamic repeated capability Name attribute, see Dynamic Repeated Capabilities.
For more information on evaluating Signal and numeric expressions, see Signal Expressions and Numeric Expressions.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSignalGroups Interface
Keysight.KtMDsr.Interop Namespace


Remove Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSignalGroups..::.Remove Method
IKtMDsrSignalGroups See Also

Removes the SignalGroup block with the specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Remove ( _
    ByVal  Name As String  _
)
C#
public void  Remove(
    string  Name
)
Visual C++
HRESULT Remove(
    BSTR  Name
);

Parameters

Name

Name of SignalGroup

Remarks

For more information on the SignalGroups interface, see the SignalGroups Overview.
For more information on the dynamic repeated capability Remove function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSignalGroups Interface
Keysight.KtMDsr.Interop Namespace


Signals Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr..::.Signals Property
IKtMDsr See Also

Pointer to the IKtMDsrSignals interface. The Signals interface is used to define or remove Signals. The repeated capability name, is the name of the signal defined.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Signals As IKtMDsrSignals
C#
public IKtMDsrSignals  Signals { get; }
Visual C++
HRESULT get_Signals(
    IKtMDsrSignals**  val
);

Remarks

For more information on the Signals interface, see the Signals Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
See STIL Components for more information on how patterns are defined.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsr Interface
Keysight.KtMDsr.Interop Namespace


Add Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSignals..::.Add Method
IKtMDsrSignals See Also

Adds a Signal of the specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Add ( _
    ByVal  Name As String  _
)
C#
public void  Add(
    string  Name
)
Visual C++
HRESULT Add(
    BSTR  Name
);

Parameters

Name

Name of Signal

Remarks

For more information on the Signals interface, see the Signals Overview.
For more information on the dynamic repeated capability Add function, see Dynamic Repeated Capabilities.
See STIL Components for more information on how patterns are defined.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSignals Interface
Keysight.KtMDsr.Interop Namespace


AddSignalList Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSignals..::.AddSignalList Method
IKtMDsrSignals See Also

Takes a list of Signal names and creates a new Signal for each, including an assigned direction. This provides a way to define several Signals at once.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub AddSignalList ( _
    ByVal  Signals As String  _
    ByVal  Direction As KtMDsrSignalDirectionEnum()   _
)
C#
public void  AddSignalList(
    string  Signals,
    KtMDsrSignalDirectionEnum[]   Direction
)
Visual C++
HRESULT AddSignalList(
    BSTR  Signals,
    SAFEARRAY**  Direction
);

Parameters

Signals

String containing a list of signal names.

Direction

Array of directions (relative to the DUT) to apply to the Signal list. Directions are assigned as follows: first enum in Direction array is assigned to first signal in the Signal list, second direction enum to second signal in list, and so on.

Remarks

AddSignalList provides a simple way to Add several signals with a single function call.

The Signals string has the following syntax:

Plus (+) or comma (,) are used to list Signal names | Sig1+Sig2+Sig3 Sig1,Sig2,Sig3
A range of Signals can be added using square brackets | DataBus[0..16]
Minus (-) removes a signal from the expression | DataBus[0..16] - DataBus[16]

For more information on the Signals interface, see the Signals Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
See STIL Components for more information on how patterns are defined.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSignals Interface
Keysight.KtMDsr.Interop Namespace


Count Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSignals..::.Count Property
IKtMDsrSignals See Also

Returns the number of Signal blocks defined.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Count As Integer
C#
public int  Count { get; }
Visual C++
HRESULT get_Count(
    long*  val
);

Remarks

For more information on the Signals interface, see the Signals Overview.
For more information on the dynamic repeated capability Count attribute, see Dynamic Repeated Capabilities.
See STIL Components for more information on how patterns are defined.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSignals Interface
Keysight.KtMDsr.Interop Namespace


Item Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSignals..::.Item Property
IKtMDsrSignals See Also

Returns the Signal block with the specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Item( _
    ByVal  Name As String  _
) As IKtMDsrSignal
C#
public IKtMDsrSignal  get_Item(
    string  Name
)
Visual C++
HRESULT get_Item(
    BSTR  Name,
    IKtMDsrSignal**  val
);

Parameters

Name

The name of a Signal block.For valid values, see the Signal repeated capability.

Remarks

For more information on the Signals interface, see the Signals Overview.
For more information on the dynamic repeated capability Item function, see Dynamic Repeated Capabilities.
See STIL Components for more information on how patterns are defined.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSignals Interface
Keysight.KtMDsr.Interop Namespace


Direction Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSignal..::.Direction Property
IKtMDsrSignal See Also

Gets or sets the direction of this signal. The direction is relative to the DUT.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property Direction As KtMDsrSignalDirectionEnum
C#
public KtMDsrSignalDirectionEnum  Direction { get; set; }
Visual C++
HRESULT get_Direction(
    KtMDsrSignalDirectionEnum*  val
);
HRESULT put_Direction(
    KtMDsrSignalDirectionEnum  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSignal Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSignal..::.Name Property
IKtMDsrSignal See Also

The Name of the current Signal block.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name As String
C#
public string  Name { get; }
Visual C++
HRESULT get_Name(
    BSTR*  val
);

Remarks

This is useful when a reference to this block is acquired using the Item function and there is a subsequent need to determine which block this is.

For more information on the Signals interface, see the Signals Overview.
For more information on the dynamic repeated capability Item.Name attribute, see Dynamic Repeated Capabilities.
See STIL Components for more information on how patterns are defined.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSignal Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSignals..::.Name Property
IKtMDsrSignals See Also

Returns the Signal block name for the specified index.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name( _
    ByVal  Index As Integer  _
) As String
C#
public string  get_Name(
    int  Index
)
Visual C++
HRESULT get_Name(
    long  Index,
    BSTR*  val
);

Parameters

Index

One-based index into the collection of signals.

Remarks

For more information on the Signals interface, see the Signals Overview.
For more information on the dynamic repeated capability Name attribute, see Dynamic Repeated Capabilities.
See STIL Components for more information on how patterns are defined.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSignals Interface
Keysight.KtMDsr.Interop Namespace


Remove Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSignals..::.Remove Method
IKtMDsrSignals See Also

Removes the Signal block with the specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Remove ( _
    ByVal  Name As String  _
)
C#
public void  Remove(
    string  Name
)
Visual C++
HRESULT Remove(
    BSTR  Name
);

Parameters

Name

Name of Signal block to Remove.

Remarks

For more information on the Signals interface, see the Signals Overview.
For more information on the dynamic repeated capability Remove function, see Dynamic Repeated Capabilities.
See STIL Components for more information on how patterns are defined.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSignals Interface
Keysight.KtMDsr.Interop Namespace


Sites Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr..::.Sites Property
IKtMDsr See Also

Pointer to the IKtMDsrSites interface. The Site defines the physical channel and ordinal assigned to each Signal in the pattern. The ordinal is the bit position or array index where that channel is mapped for StaticSite and PpmuSite operations.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Sites As IKtMDsrSites
C#
public IKtMDsrSites  Sites { get; }
Visual C++
HRESULT get_Sites(
    IKtMDsrSites**  val
);

Remarks

For more information on the Sites interface, see the Sites Overview.
For more information on Signals, see the Signals Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsr Interface
Keysight.KtMDsr.Interop Namespace


Add Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSites..::.Add Method
IKtMDsrSites See Also

Adds a Site with the specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Add ( _
    ByVal  Name As String  _
)
C#
public void  Add(
    string  Name
)
Visual C++
HRESULT Add(
    BSTR  Name
);

Parameters

Name

Name of Site

Remarks

For more information on the Sites interface, see the Sites Overview.
For more information on the dynamic repeated capability Add function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSites Interface
Keysight.KtMDsr.Interop Namespace


Count Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSites..::.Count Property
IKtMDsrSites See Also

Returns the number of Site blocks defined.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Count As Integer
C#
public int  Count { get; }
Visual C++
HRESULT get_Count(
    long*  val
);

Remarks

For more information on the Sites interface, see the Sites Overview.
For more information on the dynamic repeated capability Count attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSites Interface
Keysight.KtMDsr.Interop Namespace


Item Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSites..::.Item Property
IKtMDsrSites See Also

Returns the Site block with the specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Item( _
    ByVal  Name As String  _
) As IKtMDsrSite
C#
public IKtMDsrSite  get_Item(
    string  Name
)
Visual C++
HRESULT get_Item(
    BSTR  Name,
    IKtMDsrSite**  val
);

Parameters

Name

The name of a Site block.For valid values, see the Site repeated capability.

Remarks

For more information on the Sites interface, see the Sites Overview.
For more information on Signals, see the Signals Overview.
For more information on the dynamic repeated capability Item function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSites Interface
Keysight.KtMDsr.Interop Namespace


AssignSignal Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSite..::.AssignSignal Method
IKtMDsrSite See Also

Defines the mapping from a signal to a channel and specifies the ordinal. The ordinal specifies the bit or element number to use when packing measurement results into bytes or arrays.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub AssignSignal ( _
    ByVal  Signal As String  _
    ByVal  Channel As Integer  _
    ByVal  Ordinal As Integer  _
)
C#
public void  AssignSignal(
    string  Signal,
    int  Channel,
    int  Ordinal
)
Visual C++
HRESULT AssignSignal(
    BSTR  Signal,
    long  Channel,
    long  Ordinal
);

Parameters

Signal

Name of Signal

Channel

Channel number to map to the Signal

Ordinal

Ordinal (Index used for data formatting). An ordinal is needed for Signals with direction of Out or InOut, and for Signals used for PPMU measurement. Use -1 to ignore this field.

Remarks

For more information on the Sites interface, see the Sites Overview.
For more information on Signals, see the Signals Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSite Interface
Keysight.KtMDsr.Interop Namespace


AssignSignalList Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSite..::.AssignSignalList Method
IKtMDsrSite See Also

Provides a simple way to define several signals from a comma-separated list of Signal names. Automatically assigns channels and ordinals. First Signal name is assigned Channels[0]; ordinals begin from highest ordinal already assigned for that site.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub AssignSignalList ( _
    ByVal  Signals As String  _
    ByVal  Channels As Integer()   _
)
C#
public void  AssignSignalList(
    string  Signals,
    int[]   Channels
)
Visual C++
HRESULT AssignSignalList(
    BSTR  Signals,
    SAFEARRAY**  Channels
);

Parameters

Signals

Comma-separated list of Signals

Channels

Channel numbers to pair with Signals. Index 0 applies to the first Signal in the string.

Remarks

When ordinals are automatically assigned, the numbering starts from the highest ordinal already defined for that site (which may be 0).

AssignSignalList provides a shorthand for defining sites. It provides the same functionality as AssignSignal but requires that the Signals and Channels be provided in the order that ordinals should be assigned.

For more information on the Sites interface, see the Sites Overview.
For more information on Signals, see the Signals Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSite Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSite..::.Name Property
IKtMDsrSite See Also

The Name of the current Signal block.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name As String
C#
public string  Name { get; }
Visual C++
HRESULT get_Name(
    BSTR*  val
);

Remarks

This is useful when a reference to this block is acquired using the Item function and there is a subsequent need to determine which block this is.

For more information on the Sites interface, see the Sites Overview.
For more information on the dynamic repeated capability Item.Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSite Interface
Keysight.KtMDsr.Interop Namespace


QuerySite Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSite..::.QuerySite Method
IKtMDsrSite See Also

Returns the Signals, Channels, and Ordinals defined in the site.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub QuerySite ( _
    ByRef  Signals As String  _
    ByRef  Channels As Integer()   _
    ByRef  Ordinals As Integer()   _
)
C#
public void  QuerySite(
    ref string  Signals,
    ref int[]   Channels,
    ref int[]   Ordinals
)
Visual C++
HRESULT QuerySite(
    BSTR*  Signals,
    SAFEARRAY**  Channels,
    SAFEARRAY**  Ordinals
);

Parameters

Signals

Comma-separated list of signals.

Channels

Array containing all of the defined channels. Element 0 corresponds to the first Signal in the list.

Ordinals

Array containing the ordinals for each channel. Element 0 corresponds to the first Signal in the list. Use -1 to indicate that no ordinal is defined for this channel.

Remarks

This function provides a way to read back all the settings from this site.

For more information on the Sites interface, see the Sites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSite Interface
Keysight.KtMDsr.Interop Namespace


Trigger0Source Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSite..::.Trigger0Source Property
IKtMDsrSite See Also

Configures the trigger event that maps to Trigger0 in the WatchLoop.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property Trigger0Source As String
C#
public string  Trigger0Source { get; set; }
Visual C++
HRESULT get_Trigger0Source(
    BSTR*  val
);
HRESULT put_Trigger0Source(
    BSTR  val
);

Remarks

The Trigger0Source attribute assigns the source of trigger events to use when the pattern references Trigger0.

For instance, in the pattern below,

     Vector WXYZ;
     Vector ABCD;
     WatchLoop 10 Trigger0 {
     Vector EFGH;
     }

code similar to this would set the above WatchLoop to watch for SoftwareTrigger1:

     myDriver.Site.Item["mySite"].Trigger0Source="SoftwareTrigger1";

For more information on the Sites interface, see the Sites Overview.

Allowed Values

"SoftwareTrigger0", "SoftwareTrigger1", "SoftwareTrigger2", "SoftwareTrigger3", "SoftwareTrigger4", "SoftwareTrigger5", "SoftwareTrigger6", "SoftwareTrigger7", "SoftwareTrigger8", "SoftwareTrigger9", "SoftwareTrigger10", "SoftwareTrigger11", "SoftwareTrigger12", "SoftwareTrigger13", "SoftwareTrigger14", "SoftwareTrigger15", "External1", "External2", "GPIO1", "GPIO2", "PXI_TRIG0", "PXI_TRIG1", "PXI_TRIG2", "PXI_TRIG3", "PXI_TRIG4", "PXI_TRIG5", "PXI_TRIG6", "PXI_TRIG7", "PXI_STAR", "PXIe_DSTARB"

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSite Interface
Keysight.KtMDsr.Interop Namespace


Trigger1Source Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSite..::.Trigger1Source Property
IKtMDsrSite See Also

Configures the trigger event that maps to Trigger1 in the WatchLoop.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property Trigger1Source As String
C#
public string  Trigger1Source { get; set; }
Visual C++
HRESULT get_Trigger1Source(
    BSTR*  val
);
HRESULT put_Trigger1Source(
    BSTR  val
);

Remarks

The Trigger1Source attribute assigns the source of trigger events to use when the pattern references Trigger1.

For instance, in the pattern below,

     Vector WXYZ;
     Vector ABCD;
     WatchLoop 10 Trigger1 {
     Vector EFGH;
     }

code similar to this would set the above WatchLoop to watch for SoftwareTrigger1:

     myDriver.Site.Item["mySite"].Trigger1Source="SoftwareTrigger1";

For more information on the Sites interface, see the Sites Overview.

Allowed Values

"SoftwareTrigger0", "SoftwareTrigger1", "SoftwareTrigger2", "SoftwareTrigger3", "SoftwareTrigger4", "SoftwareTrigger5", "SoftwareTrigger6", "SoftwareTrigger7", "SoftwareTrigger8", "SoftwareTrigger9", "SoftwareTrigger10", "SoftwareTrigger11", "SoftwareTrigger12", "SoftwareTrigger13", "SoftwareTrigger14", "SoftwareTrigger15", "External1", "External2", "GPIO1", "GPIO2", "PXI_TRIG0", "PXI_TRIG1", "PXI_TRIG2", "PXI_TRIG3", "PXI_TRIG4", "PXI_TRIG5", "PXI_TRIG6", "PXI_TRIG7", "PXI_STAR", "PXIe_DSTARB"

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSite Interface
Keysight.KtMDsr.Interop Namespace


Trigger2Source Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSite..::.Trigger2Source Property
IKtMDsrSite See Also

Configures the trigger event that maps to Trigger2 in the WatchLoop.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property Trigger2Source As String
C#
public string  Trigger2Source { get; set; }
Visual C++
HRESULT get_Trigger2Source(
    BSTR*  val
);
HRESULT put_Trigger2Source(
    BSTR  val
);

Remarks

The Trigger2Source attribute assigns the source of trigger events to use when the pattern references Trigger2.

For instance, in the pattern below,

     Vector WXYZ;
     Vector ABCD;
     WatchLoop 10 Trigger2 {
     Vector EFGH;
     }

code similar to this would set the above WatchLoop to watch for SoftwareTrigger1:

     myDriver.Site.Item["mySite"].Trigger2Source="SoftwareTrigger1";

For more information on the Sites interface, see the Sites Overview.

Allowed Values

"SoftwareTrigger0", "SoftwareTrigger1", "SoftwareTrigger2", "SoftwareTrigger3", "SoftwareTrigger4", "SoftwareTrigger5", "SoftwareTrigger6", "SoftwareTrigger7", "SoftwareTrigger8", "SoftwareTrigger9", "SoftwareTrigger10", "SoftwareTrigger11", "SoftwareTrigger12", "SoftwareTrigger13", "SoftwareTrigger14", "SoftwareTrigger15", "External1", "External2", "GPIO1", "GPIO2", "PXI_TRIG0", "PXI_TRIG1", "PXI_TRIG2", "PXI_TRIG3", "PXI_TRIG4", "PXI_TRIG5", "PXI_TRIG6", "PXI_TRIG7", "PXI_STAR", "PXIe_DSTARB"

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSite Interface
Keysight.KtMDsr.Interop Namespace


Trigger3Source Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSite..::.Trigger3Source Property
IKtMDsrSite See Also

Configures the trigger event that maps to Trigger3 in the WatchLoop.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property Trigger3Source As String
C#
public string  Trigger3Source { get; set; }
Visual C++
HRESULT get_Trigger3Source(
    BSTR*  val
);
HRESULT put_Trigger3Source(
    BSTR  val
);

Remarks

The Trigger3Source attribute assigns the source of trigger events to use when the pattern references Trigger3.

For instance, in the pattern below,

     Vector WXYZ;
     Vector ABCD;
     WatchLoop 10 Trigger3 {
     Vector EFGH;
     }

code similar to this would set the above WatchLoop to watch for SoftwareTrigger1:

     myDriver.Site.Item["mySite"].Trigger3Source="SoftwareTrigger1";

For more information on the Sites interface, see the Sites Overview.

Allowed Values

"SoftwareTrigger0", "SoftwareTrigger1", "SoftwareTrigger2", "SoftwareTrigger3", "SoftwareTrigger4", "SoftwareTrigger5", "SoftwareTrigger6", "SoftwareTrigger7", "SoftwareTrigger8", "SoftwareTrigger9", "SoftwareTrigger10", "SoftwareTrigger11", "SoftwareTrigger12", "SoftwareTrigger13", "SoftwareTrigger14", "SoftwareTrigger15", "External1", "External2", "GPIO1", "GPIO2", "PXI_TRIG0", "PXI_TRIG1", "PXI_TRIG2", "PXI_TRIG3", "PXI_TRIG4", "PXI_TRIG5", "PXI_TRIG6", "PXI_TRIG7", "PXI_STAR", "PXIe_DSTARB"

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSite Interface
Keysight.KtMDsr.Interop Namespace


Trigger4Source Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSite..::.Trigger4Source Property
IKtMDsrSite See Also

Configures the trigger event that maps to Trigger4 in the WatchLoop.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property Trigger4Source As String
C#
public string  Trigger4Source { get; set; }
Visual C++
HRESULT get_Trigger4Source(
    BSTR*  val
);
HRESULT put_Trigger4Source(
    BSTR  val
);

Remarks

The Trigger4Source attribute assigns the source of trigger events to use when the pattern references Trigger4.

For instance, in the pattern below,

     Vector WXYZ;
     Vector ABCD;
     WatchLoop 10 Trigger4 {
     Vector EFGH;
     }

code similar to this would set the above WatchLoop to watch for SoftwareTrigger1:

     myDriver.Site.Item["mySite"].Trigger4Source="SoftwareTrigger1";

For more information on the Sites interface, see the Sites Overview.

Allowed Values

"SoftwareTrigger0", "SoftwareTrigger1", "SoftwareTrigger2", "SoftwareTrigger3", "SoftwareTrigger4", "SoftwareTrigger5", "SoftwareTrigger6", "SoftwareTrigger7", "SoftwareTrigger8", "SoftwareTrigger9", "SoftwareTrigger10", "SoftwareTrigger11", "SoftwareTrigger12", "SoftwareTrigger13", "SoftwareTrigger14", "SoftwareTrigger15", "External1", "External2", "GPIO1", "GPIO2", "PXI_TRIG0", "PXI_TRIG1", "PXI_TRIG2", "PXI_TRIG3", "PXI_TRIG4", "PXI_TRIG5", "PXI_TRIG6", "PXI_TRIG7", "PXI_STAR", "PXIe_DSTARB"

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSite Interface
Keysight.KtMDsr.Interop Namespace


Trigger5Source Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSite..::.Trigger5Source Property
IKtMDsrSite See Also

Configures the trigger event that maps to Trigger5 in the WatchLoop.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property Trigger5Source As String
C#
public string  Trigger5Source { get; set; }
Visual C++
HRESULT get_Trigger5Source(
    BSTR*  val
);
HRESULT put_Trigger5Source(
    BSTR  val
);

Remarks

The Trigger5Source attribute assigns the source of trigger events to use when the pattern references Trigger5.

For instance, in the pattern below,

     Vector WXYZ;
     Vector ABCD;
     WatchLoop 10 Trigger5 {
     Vector EFGH;
     }

code similar to this would set the above WatchLoop to watch for SoftwareTrigger1:

     myDriver.Site.Item["mySite"].Trigger5Source="SoftwareTrigger1";

For more information on the Sites interface, see the Sites Overview.

Allowed Values

"SoftwareTrigger0", "SoftwareTrigger1", "SoftwareTrigger2", "SoftwareTrigger3", "SoftwareTrigger4", "SoftwareTrigger5", "SoftwareTrigger6", "SoftwareTrigger7", "SoftwareTrigger8", "SoftwareTrigger9", "SoftwareTrigger10", "SoftwareTrigger11", "SoftwareTrigger12", "SoftwareTrigger13", "SoftwareTrigger14", "SoftwareTrigger15", "External1", "External2", "GPIO1", "GPIO2", "PXI_TRIG0", "PXI_TRIG1", "PXI_TRIG2", "PXI_TRIG3", "PXI_TRIG4", "PXI_TRIG5", "PXI_TRIG6", "PXI_TRIG7", "PXI_STAR", "PXIe_DSTARB"

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSite Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSites..::.Name Property
IKtMDsrSites See Also

Returns the Site block name for the specified index.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name( _
    ByVal  Index As Integer  _
) As String
C#
public string  get_Name(
    int  Index
)
Visual C++
HRESULT get_Name(
    long  Index,
    BSTR*  val
);

Parameters

Index

One-based index into the collection of Sites.

Remarks

For more information on the Sites interface, see the Sites Overview.
For more information on the dynamic repeated capability Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSites Interface
Keysight.KtMDsr.Interop Namespace


Remove Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSites..::.Remove Method
IKtMDsrSites See Also

Removes the Site of the specified name. Fails if the Site is not defined.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Remove ( _
    ByVal  Name As String  _
)
C#
public void  Remove(
    string  Name
)
Visual C++
HRESULT Remove(
    BSTR  Name
);

Parameters

Name

Name of Site block to Remove

Remarks

For more information on the Sites interface, see the Sites Overview.
For more information on the dynamic repeated capability Remove function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSites Interface
Keysight.KtMDsr.Interop Namespace


Sites2 Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr2..::.Sites2 Property
IKtMDsr2 See Also

Pointer to the IKtMDsrSites interface. The Site defines the physical channel and ordinal assigned to each Signal in the pattern. The ordinal is the bit position or array index where that channel is mapped for StaticSite and PpmuSite operations.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Sites2 As IKtMDsrSites2
C#
public IKtMDsrSites2  Sites2 { get; }
Visual C++
HRESULT get_Sites2(
    IKtMDsrSites2**  val
);

Remarks

For more information on the Sites interface, see the Sites Overview.
For more information on Signals, see the Signals Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsr2 Interface
Keysight.KtMDsr.Interop Namespace


Item2 Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSites2..::.Item2 Property
IKtMDsrSites2 See Also

Returns the Site block with the specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Item2( _
    ByVal  Name As String  _
) As IKtMDsrSite2
C#
public IKtMDsrSite2  get_Item2(
    string  Name
)
Visual C++
HRESULT get_Item2(
    BSTR  Name,
    IKtMDsrSite2**  val
);

Parameters

Name

The name of a Site block.For valid values, see the Site repeated capability.

Remarks

For more information on the Sites interface, see the Sites Overview.
For more information on Signals, see the Signals Overview.
For more information on the dynamic repeated capability Item function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSites2 Interface
Keysight.KtMDsr.Interop Namespace


Marker0Destination Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSite2..::.Marker0Destination Property
IKtMDsrSite2 See Also

Sets the destination of all Marker0 references for patterns run on this site. The destination specifies on what signal the marker is generated.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property Marker0Destination As String
C#
public string  Marker0Destination { get; set; }
Visual C++
HRESULT get_Marker0Destination(
    BSTR*  val
);
HRESULT put_Marker0Destination(
    BSTR  val
);

Remarks

Markers can be generated on each of the 12 different DSR output signals listed below (14 signals are actually listed below, but "GPIO1" and "External1" are references to the same signal, just as "GPIO2" and "External2" are also references to the same signal). For a description of marker operation, see Triggers and Markers.

Allowed Values

"External1", "External2", "GPIO1", "GPIO2", "PXI_TRIG0", "PXI_TRIG1", "PXI_TRIG2", "PXI_TRIG3", "PXI_TRIG4", "PXI_TRIG5", "PXI_TRIG6", "PXI_TRIG7", "PXI_STAR", "PXIe_DSTARC"

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSite2 Interface
Keysight.KtMDsr.Interop Namespace


Marker1Destination Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSite2..::.Marker1Destination Property
IKtMDsrSite2 See Also

Sets the destination of all Marker1 references for patterns run on this site. The destination specifies on what signal the marker is generated.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property Marker1Destination As String
C#
public string  Marker1Destination { get; set; }
Visual C++
HRESULT get_Marker1Destination(
    BSTR*  val
);
HRESULT put_Marker1Destination(
    BSTR  val
);

Remarks

Markers can be generated on each of the 12 different DSR output signals listed below (14 signals are actually listed below, but "GPIO1" and "External1" are references to the same signal, just as "GPIO2" and "External2" are also references to the same signal). For a description of marker operation, see Triggers and Markers.

Allowed Values

"External1", "External2", "GPIO1", "GPIO2", "PXI_TRIG0", "PXI_TRIG1", "PXI_TRIG2", "PXI_TRIG3", "PXI_TRIG4", "PXI_TRIG5", "PXI_TRIG6", "PXI_TRIG7", "PXI_STAR", "PXIe_DSTARC"

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSite2 Interface
Keysight.KtMDsr.Interop Namespace


Marker2Destination Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSite2..::.Marker2Destination Property
IKtMDsrSite2 See Also

Sets the destination of all Marker2 references for patterns run on this site. The destination specifies on what signal the marker is generated.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property Marker2Destination As String
C#
public string  Marker2Destination { get; set; }
Visual C++
HRESULT get_Marker2Destination(
    BSTR*  val
);
HRESULT put_Marker2Destination(
    BSTR  val
);

Remarks

Markers can be generated on each of the 12 different DSR output signals listed below (14 signals are actually listed below, but "GPIO1" and "External1" are references to the same signal, just as "GPIO2" and "External2" are also references to the same signal). For a description of marker operation, see Triggers and Markers.

Allowed Values

"External1", "External2", "GPIO1", "GPIO2", "PXI_TRIG0", "PXI_TRIG1", "PXI_TRIG2", "PXI_TRIG3", "PXI_TRIG4", "PXI_TRIG5", "PXI_TRIG6", "PXI_TRIG7", "PXI_STAR", "PXIe_DSTARC"

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSite2 Interface
Keysight.KtMDsr.Interop Namespace


StaticSites Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr..::.StaticSites Property
IKtMDsr See Also

Pointer to the IKtMDsrStaticSites interface. The StaticSite interface permits reading and writing digital values to channels.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property StaticSites As IKtMDsrStaticSites
C#
public IKtMDsrStaticSites  StaticSites { get; }
Visual C++
HRESULT get_StaticSites(
    IKtMDsrStaticSites**  val
);

Remarks

For more information on the StaticSites interface, see the StaticSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsr Interface
Keysight.KtMDsr.Interop Namespace


Activate Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrStaticSites..::.Activate Method
IKtMDsrStaticSites See Also

Activates a site for StaticSite operations. Once activated, the site block name can be passed to the Item function to access the StaticSite functions for this site.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Activate ( _
    ByVal  Site As String  _
    ByVal  DcLevels As String  _
)
C#
public void  Activate(
    string  Site,
    string  DcLevels
)
Visual C++
HRESULT Activate(
    BSTR  Site,
    BSTR  DcLevels
);

Parameters

Site

Block name of the Site to activate.

DcLevels

Block name of the DcLevels block to use to generate the digital signals.

Remarks

This will lock the channels for exclusive use by the specified site and initialize the StaticSite capabilities associated with those channels.

For more information on the StaticSites interface, see the StaticSites Overview.
For more information on the dynamic repeated capability Activate function, see Dynamic Repeated Capabilities.
For general information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrStaticSites Interface
Keysight.KtMDsr.Interop Namespace


Count Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrStaticSites..::.Count Property
IKtMDsrStaticSites See Also

Returns the number of sites that have been activated for StaticSite operations.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Count As Integer
C#
public int  Count { get; }
Visual C++
HRESULT get_Count(
    long*  val
);

Remarks

For more information on the StaticSites interface, see the StaticSites Overview.
For more information on the dynamic repeated capability Count attribute, see Dynamic Repeated Capabilities.
For general information on using active sites, see Active Sites.

Instrument Command

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrStaticSites Interface
Keysight.KtMDsr.Interop Namespace


Inactivate Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrStaticSites..::.Inactivate Method
IKtMDsrStaticSites See Also

Releases StaticSite resources associated with this site without altering the signals on the channels.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Inactivate ( _
    ByVal  SiteName As String  _
)
C#
public void  Inactivate(
    string  SiteName
)
Visual C++
HRESULT Inactivate(
    BSTR  SiteName
);

Parameters

SiteName

Name of the site activated for StaticSite operations to inactivate.

Remarks

For more information on the StaticSites interface, see the StaticSites Overview.
For more information on the dynamic repeated capability Inactivate function, see Dynamic Repeated Capabilities.
For general information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrStaticSites Interface
Keysight.KtMDsr.Interop Namespace


InactivateAndDisable Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrStaticSites..::.InactivateAndDisable Method
IKtMDsrStaticSites See Also

Releases StaticSite resources associated with this site and disables the signals on the channels.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub InactivateAndDisable ( _
    ByVal  SiteName As String  _
)
C#
public void  InactivateAndDisable(
    string  SiteName
)
Visual C++
HRESULT InactivateAndDisable(
    BSTR  SiteName
);

Parameters

SiteName

Name of the site activated for StaticSite operations to inactivate.

Remarks

For more information on the StaticSites interface, see the StaticSites Overview.
For more information on the dynamic repeated capability Inactivate and InactivateAndDisable functions, see Dynamic Repeated Capabilities.
For general information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrStaticSites Interface
Keysight.KtMDsr.Interop Namespace


Item Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrStaticSites..::.Item Property
IKtMDsrStaticSites See Also

Returns a pointer to the IKtMDsrPpmuSite interface for the specified site.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Item( _
    ByVal  Name As String  _
) As IKtMDsrStaticSite
C#
public IKtMDsrStaticSite  get_Item(
    string  Name
)
Visual C++
HRESULT get_Item(
    BSTR  Name,
    IKtMDsrStaticSite**  val
);

Parameters

Name

The block name of the site to access. The site must have been activated for StaticSite operations.For valid values, see the StaticSite repeated capability.

Remarks

For more information on the StaticSites interface, see the StaticSites Overview.
For more information on the dynamic repeated capability Item function, see Dynamic Repeated Capabilities.
For general information on using active sites, see Active Sites.
For more information on Signals, see the Signals Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrStaticSites Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrStaticSite..::.Name Property
IKtMDsrStaticSite See Also

Returns the site block name for the specified index.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name As String
C#
public string  Name { get; }
Visual C++
HRESULT get_Name(
    BSTR*  val
);

Remarks

This is useful when a reference to this block is acquired using the Item function and there is a subsequent need to determine which block this is.

For more information on the StaticSites interface, see the StaticSites Overview.
For more information on the dynamic repeated capability Item.Name attribute, see Dynamic Repeated Capabilities.
For general information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrStaticSite Interface
Keysight.KtMDsr.Interop Namespace


ReadThreeStateVector Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrStaticSite..::.ReadThreeStateVector Method
IKtMDsrStaticSite See Also

Inputs a vector and builds it into two integers, one representing the data value and the other indicating if a valid 1 or 0 was detected. The bits of the integers are mapped to the channels based on the ordinals provided in the Site.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub ReadThreeStateVector ( _
    ByRef  Data As Integer  _
    ByRef  Valid As Integer  _
)
C#
public void  ReadThreeStateVector(
    ref int  Data,
    ref int  Valid
)
Visual C++
HRESULT ReadThreeStateVector(
    long*  Data,
    long*  Valid
);

Parameters

Data

Data read from the StaticSite. The ordinal from the Site definition specifies the mapping between bits of the Data result and the physical channels.

Valid

Indicates if the data read from the StaticSite is valid. The data is valid if the DUT output voltage is greater than Voh or less than Vol. The ordinal from the Site definition specifies the mapping between bits of the Data result and the physical channels.

Remarks

Reads the state of the site as binary values based on the DC Levels specified when the StaticSite was activated. High values are returned as a 1 in the appropriate bit of the integer. Low values are returned as a 0 in the appropriate bit of the integer. Intermediate values are considered invalid and are returned as a 0 in the Data integer, and indicated in the Valid response parameter.

The Valid response parameter has bits set to 1 in the bit positions where a valid 0 or 1 was read from the input.

Only the 32 least signifficant channels are programmed. To control more than 32 static lines, a second static site must be activated.

Bits in the read result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT input (Direction is In) return 0.

If a bit is invalid, the data value returned is 0.

For more information on the StaticSites interface, see the StaticSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrStaticSite Interface
Keysight.KtMDsr.Interop Namespace


ReadVector Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrStaticSite..::.ReadVector Method
IKtMDsrStaticSite See Also

Inputs a vector and builds it into an integer. The bits of the integer are mapped to the channels based on the ordinals provided in the site.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function ReadVector ( _
) As Integer
C#
public int  ReadVector(
)
Visual C++
HRESULT ReadVector(
    long*  retval
);

Return Value

The integer read. Invalid voltage inputs are converted to zero.

Remarks

Reads the state of the site as binary values based on the DC Levels specified when the StaticSite was activated. High values (those higher than Voh) are returned as a 1 in the result. Low values (those lower than Vol) are returned as a 0 in the result. Intermediate values (those where the input voltage is between Voh and Vol) are considered invalid and are returned as a 0 in the result.

This function returns the same value as the ReadThreeStateVector Data response parameter, but does not provide the Valid result that indicates voltage inputs fell between the Voh and Vol thresholds.

Bits in the read result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT input (Direction is In) return 0.

For more information on the StaticSites interface, see the StaticSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrStaticSite Interface
Keysight.KtMDsr.Interop Namespace


WriteThreeStateVector Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrStaticSite..::.WriteThreeStateVector Method
IKtMDsrStaticSite See Also

Stimulates the DUT with a vector based on two integers. The bits of the integer are mapped to the channels based on the ordinals provided in the site. The Data parameter sets the truth value; the Enable parameter enables the signal.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub WriteThreeStateVector ( _
    ByVal  Data As Integer  _
    ByVal  Enable As Integer  _
)
C#
public void  WriteThreeStateVector(
    int  Data,
    int  Enable
)
Visual C++
HRESULT WriteThreeStateVector(
    long  Data,
    long  Enable
);

Parameters

Data

The truth value to force on the channels.

Enable

Enables which channels are written.

Remarks

Bits not enabled, but configured with Signals defined as DUT In or DUT InOut are placed in a high impedance state.

Bits in the read result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT output (Direction is Out) are not affected by the write.

For more information on the StaticSites interface, see the StaticSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrStaticSite Interface
Keysight.KtMDsr.Interop Namespace


WriteVector Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrStaticSite..::.WriteVector Method
IKtMDsrStaticSite See Also

Stimulates the DUT with a vector based on one integer. The bits of the integer are mapped to channels based on the ordinals in the Site. The Data parameter sets the truth value. All bits configured in the site as Signal In or InOut are written.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub WriteVector ( _
    ByVal  Data As Integer  _
)
C#
public void  WriteVector(
    int  Data
)
Visual C++
HRESULT WriteVector(
    long  Data
);

Parameters

Data

The truth value to force on the channels.

Remarks

Bits in the read result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT output (Direction is Out) are not affected by the write.

For more information on the StaticSites interface, see the StaticSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrStaticSite Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrStaticSites..::.Name Property
IKtMDsrStaticSites See Also

Returns the static site name for a given index.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name( _
    ByVal  Index As Integer  _
) As String
C#
public string  get_Name(
    int  Index
)
Visual C++
HRESULT get_Name(
    long  Index,
    BSTR*  val
);

Parameters

Index

One-based index into the collection of active Static sites.

Remarks

This is useful when a reference to this block is acquired using the Item function and there is a subsequent need to determine which block this is.

For more information on the StaticSites interface, see the StaticSites Overview.
For more information on the dynamic repeated capability Item function, see Dynamic Repeated Capabilities.
For general information on using active sites, see Active Sites.

Instrument Command

{Index}

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrStaticSites Interface
Keysight.KtMDsr.Interop Namespace


System Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr..::.System Property
IKtMDsr See Also

Pointer to the IKtMDsrSystem interface. The System interface provides general utility functions unique to the DSR.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property System As IKtMDsrSystem
C#
public IKtMDsrSystem  System { get; }
Visual C++
HRESULT get_System(
    IKtMDsrSystem**  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsr Interface
Keysight.KtMDsr.Interop Namespace


Licensing Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSystem..::.Licensing Property
IKtMDsrSystem See Also

Gets a pointer to the IKtMDsrCarrierLicensing interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Licensing As IKtMDsrSystemLicensing
C#
public IKtMDsrSystemLicensing  Licensing { get; }
Visual C++
HRESULT get_Licensing(
    IKtMDsrSystemLicensing**  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSystem Interface
Keysight.KtMDsr.Interop Namespace


HostIdentifier Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSystemLicensing..::.HostIdentifier Property
IKtMDsrSystemLicensing See Also

The unique key identifying the system controller for licensing purposes. Also called HostID.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property HostIdentifier As String
C#
public string  HostIdentifier { get; }
Visual C++
HRESULT get_HostIdentifier(
    BSTR*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSystemLicensing Interface
Keysight.KtMDsr.Interop Namespace


InstalledLicenses Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSystemLicensing..::.InstalledLicenses Property
IKtMDsrSystemLicensing See Also

A semicolon-separated list of the software licenses installed on the system controller. Each software license consists of a comma-separated Feature Name and Description.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property InstalledLicenses As String
C#
public string  InstalledLicenses { get; }
Visual C++
HRESULT get_InstalledLicenses(
    BSTR*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSystemLicensing Interface
Keysight.KtMDsr.Interop Namespace


SerialNumber Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSystem..::.SerialNumber Property
IKtMDsrSystem See Also

The module serial number.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property SerialNumber As String
C#
public string  SerialNumber { get; }
Visual C++
HRESULT get_SerialNumber(
    BSTR*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSystem Interface
Keysight.KtMDsr.Interop Namespace


TimeoutMilliseconds Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSystem..::.TimeoutMilliseconds Property
IKtMDsrSystem See Also

Queries the timeout used for IO to the module.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property TimeoutMilliseconds As Integer
C#
public int  TimeoutMilliseconds { get; }
Visual C++
HRESULT get_TimeoutMilliseconds(
    long*  val
);

Remarks

The default value of TimeoutMilliseconds is 5000 ms.

For a conventional Windows OS, it may be unreliable to set the timeout value to less than 500 ms.

In some cases, several IO operations are completed to the module by a single method call. In these cases the actual amount of time required for an operation to fail and return may be several times the specified TimeoutMilliseconds.

The WaitForAcquisitionComplete functions of CaptureSite and Pattern Site specify the maximum time to wait for the pattern to complete executing. That time is independent of this attribute.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSystem Interface
Keysight.KtMDsr.Interop Namespace


TraceEnabled Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSystem..::.TraceEnabled Property
IKtMDsrSystem See Also

If True, output trace log of all driver calls to an XML file, using a unique file name based on date and time in the same directory as the application executable accessing the driver OR as specified using tracing options when initializing the driver.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property TraceEnabled As Boolean
C#
public bool  TraceEnabled { get; set; }
Visual C++
HRESULT get_TraceEnabled(
    VARIANT_BOOL*  val
);
HRESULT put_TraceEnabled(
    VARIANT_BOOL  val
);

Remarks

You may also enable tracing, specify a file name and path, and additional trace options when initializing the driver. The log file may be viewed in your web browser.

For complete information on Initialize tracing options,see the 'DriverSetup' section on the Initializing the IVI-COM Driver page.

If enabled, driver trace and additional IO events may also be viewed in the IO Monitor utility of Keysight IO Libraries Suite 16.3 Update 2 or newer.

TraceEnabled, if set True, persists through a call to the Reset function.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSystem Interface
Keysight.KtMDsr.Interop Namespace


System2 Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr2..::.System2 Property
IKtMDsr2 See Also

Pointer to the IKtMDsrSystem interface. The System interface provides general utility functions unique to the DSR.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property System2 As IKtMDsrSystem2
C#
public IKtMDsrSystem2  System2 { get; }
Visual C++
HRESULT get_System2(
    IKtMDsrSystem2**  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsr2 Interface
Keysight.KtMDsr.Interop Namespace


About Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSystem2..::.About Property
IKtMDsrSystem2 See Also

Read Only - Returns addition information about the system beyond the firmware and hardware versions. This is typically included in an SFP (Soft Front Panel) About Box dialog.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property About As String
C#
public string  About { get; }
Visual C++
HRESULT get_About(
    BSTR*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSystem2 Interface
Keysight.KtMDsr.Interop Namespace


Options Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSystem2..::.Options Property
IKtMDsrSystem2 See Also

Read Only - A comma separated list of the effective options of the system. See Remarks.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Options As String
C#
public string  Options { get; }
Visual C++
HRESULT get_Options(
    BSTR*  val
);

Remarks

The options are determined by combining the minimum capability of each of the modules.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrSystem2 Interface
Keysight.KtMDsr.Interop Namespace


TriggerEvent Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr..::.TriggerEvent Property
IKtMDsr See Also

The Triger Event interface contains the GenerateSoftwareEvents method used to generate software trigger events.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property TriggerEvent As IKtMDsrTriggerEvent
C#
public IKtMDsrTriggerEvent  TriggerEvent { get; }
Visual C++
HRESULT get_TriggerEvent(
    IKtMDsrTriggerEvent**  val
);

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsr Interface
Keysight.KtMDsr.Interop Namespace


GenerateSoftwareEvents Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrTriggerEvent..::.GenerateSoftwareEvents Method
IKtMDsrTriggerEvent See Also

Generates the events indicated by the bits set in the EventBits parameter. If set, the least significant bit generates the SoftwareTrigger0 event, and the corresponding bits, through bit 15, generate events up through SoftwareTrigger15.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub GenerateSoftwareEvents ( _
    ByVal  EventBits As Integer  _
)
C#
public void  GenerateSoftwareEvents(
    int  EventBits
)
Visual C++
HRESULT GenerateSoftwareEvents(
    long  EventBits
);

Parameters

EventBits

Integer whose bits indicate the software triggers to generate.

Remarks

GenerateSoftwareEvents is useful to trigger various operations. Triggers can be used to start pattern execution, or to satisfy a WatchLoop condition.

The following scenarios are useful:

  • Several sequencers can be started at the same time, either by having them wait on the same event, or by sending multiple simultaneous events with this function.
  • WatchLoop operations can be released by issuing a software trigger. This may be especially useful if the pattern needs to be synchronized with software. For instance, a test can be divided up into several steps, with each step beginning with a WatchLoop. Trigger events can then be generated to step the pattern through each step with minimum software overhead.
  • Pattern execution can watchloop synchronization can be combined so that one pattern can be started, and another released from a WatchLoop by the same call to GenerateSoftwareEvents.

The table below shows the relationship between Software Triggers, TriggerSource strings, and EventBits. Multiple bits may be set to generate multiple software triggers.

Software trigger | TriggerSource string | EventBits value when calling GenerateSoftwareEvents
Software0 | "SoftwareTrigger0" | 1
Software1 | "SoftwareTrigger1" | 2
Software2 | "SoftwareTrigger2" | 4
Software3 | "SoftwareTrigger3" | 8
Software4 | "SoftwareTrigger4" | 16
Software5 | "SoftwareTrigger5" | 32
Software6 | "SoftwareTrigger6" | 64
Software7 | "SoftwareTrigger7" | 128
Software8 | "SoftwareTrigger8" | 256
Software9 | "SoftwareTrigger9" | 512
Software10 | "SoftwareTrigger10" | 1024
Software11 | "SoftwareTrigger11" | 2048
Software12 | "SoftwareTrigger12" | 4096
Software13 | "SoftwareTrigger13" | 8192
Software14 | "SoftwareTrigger14" | 16384
Software15 | "SoftwareTrigger15" | 32768

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrTriggerEvent Interface
Keysight.KtMDsr.Interop Namespace


Triggers Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr2..::.Triggers Property
IKtMDsr2 See Also

Pointer to the IKtMDsrTriggers interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Triggers As IKtMDsrTriggers
C#
public IKtMDsrTriggers  Triggers { get; }
Visual C++
HRESULT get_Triggers(
    IKtMDsrTriggers**  val
);

Remarks

The DSR supports the following trigger (input) and marker (output) signals:

GPIO1 (External1) and GPIO2 (External2)

PXI_TRIG[0:7]

PXI_STAR

PXIe_DSTARB (trigger input only)

PXIe_DSTARC (marker output only)

The GPIO1 and GPIO2 signals are accessible on the front panel of the DSR while the remaining signals are on the chassis backplane.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsr2 Interface
Keysight.KtMDsr.Interop Namespace


Count Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrTriggers..::.Count Property
IKtMDsrTriggers See Also

Returns the number of trigger and marker signals supported by the DSR module.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Count As Integer
C#
public int  Count { get; }
Visual C++
HRESULT get_Count(
    long*  val
);

Remarks

This property always returns 15 for the DSR. While there are only 13 physical triggers and markers, the two front panel trigger/marker signals can each be accessed by two different names.

The front panel signal labeled "GPIO1" can be accessed using either "GPIO1" or "External1", while the front panel signal labeled "GPIO2" can be accessed using either "GPIO2" or "External2".

The net addition of two names results in this property returning 15, not 13.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrTriggers Interface
Keysight.KtMDsr.Interop Namespace


Item Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrTriggers..::.Item Property
IKtMDsrTriggers See Also

Pointer to the IKtMDsrTrigger interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Item( _
    ByVal  Name As String  _
) As IKtMDsrTrigger
C#
public IKtMDsrTrigger  get_Item(
    string  Name
)
Visual C++
HRESULT get_Item(
    BSTR  Name,
    IKtMDsrTrigger**  val
);

Parameters

Name

The name of a trigger. It may be either a name returned by the Name property or a name mapped to a particular repeated capability in the session in the configuration store.For valid values, see the Trigger repeated capability.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrTriggers Interface
Keysight.KtMDsr.Interop Namespace


Direction Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrTrigger..::.Direction Property
IKtMDsrTrigger See Also

This property sets the direction of those DSR signals that are bi-directional and can be either a trigger input or a marker output. This property applies to GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], and PXI_STAR.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property Direction As KtMDsrTriggerDirectionEnum
C#
public KtMDsrTriggerDirectionEnum  Direction { get; set; }
Visual C++
HRESULT get_Direction(
    KtMDsrTriggerDirectionEnum*  val
);
HRESULT put_Direction(
    KtMDsrTriggerDirectionEnum  val
);

Remarks

For the bi-directional signals listed above, the Direction property is used to specify whether the signal is a trigger input (enum of KtMDsrTriggerDirectionTrigger) or is a marker output (enum of KtMDsrTriggerDirectionMarker). The default value of Direction for all bi-directional trigger/marker signals is as a trigger input.

The Direction property does not apply to the trigger input signal PXIe_DSTARB nor the marker output signal PXIe_DSTARC. The direction of these signals cannot be changed.

Care should be taken to ensure that a DSR marker output signal isn't inadvertently connected to a marker output signal from another module or from the chassis itself.

For more information on triggers and markers, see Triggers and Markers.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrTrigger Interface
Keysight.KtMDsr.Interop Namespace


ExternalTriggerTermination Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrTrigger..::.ExternalTriggerTermination Property
IKtMDsrTrigger See Also

This property configures the input termination impedance of the two front panel trigger inputs, GPIO1 (External1) and GPIO2 (External2). Two values are programmable, 50 ohms and high impedance (the default, which is nominally 10K ohm).

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property ExternalTriggerTermination As KtMDsrTriggerExternalTriggerTerminationEnum
C#
public KtMDsrTriggerExternalTriggerTerminationEnum  ExternalTriggerTermination { get; set; }
Visual C++
HRESULT get_ExternalTriggerTermination(
    KtMDsrTriggerExternalTriggerTerminationEnum*  val
);
HRESULT put_ExternalTriggerTermination(
    KtMDsrTriggerExternalTriggerTerminationEnum  val
);

Remarks

This property is only effective when the front panel GPIO1 (External1) or GPIO2 (External2) signals have been programmed to be trigger inputs using the Direction property. The termination impedances are disconnected when these signals are programmed to be marker outputs.

For more information on triggers and markers, see Triggers and Markers.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrTrigger Interface
Keysight.KtMDsr.Interop Namespace


ExternalTriggerThresholdLevel Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrTrigger..::.ExternalTriggerThresholdLevel Property
IKtMDsrTrigger See Also

Sets the threshold voltage levels for the front panel signals, GPIO1 (External1) and GPIO2 (External2), when they are programmed as trigger inputs. The threshold voltages can be set independently for each trigger input over the range -2VDC to 4VDC.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property ExternalTriggerThresholdLevel As Double
C#
public double  ExternalTriggerThresholdLevel { get; set; }
Visual C++
HRESULT get_ExternalTriggerThresholdLevel(
    double*  val
);
HRESULT put_ExternalTriggerThresholdLevel(
    double  val
);

Remarks

This property is only effective when the front panel GPIO1 (External1) or GPIO2 (External2) signals are programmed as trigger inputs. An error is generated if the programmed threshold voltage level is outside of the range -2VDC to 4VDC.

The default threshold voltage level for this property is .75V. The programmed threshold voltage levels have a nominal accuracy of +/- 100mV.

For more information on triggers and markers, see Triggers and Markers.

Units

Volts

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrTrigger Interface
Keysight.KtMDsr.Interop Namespace


MarkerPulseWidth Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrTrigger..::.MarkerPulseWidth Property
IKtMDsrTrigger See Also

This property sets the pulse width of marker outputs. The pulse width can be programmed independently for the 12 DSR signals that can be used as markers: GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], PXI_STAR, and PXIe_DSTARC.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property MarkerPulseWidth As Double
C#
public double  MarkerPulseWidth { get; set; }
Visual C++
HRESULT get_MarkerPulseWidth(
    double*  val
);
HRESULT put_MarkerPulseWidth(
    double  val
);

Remarks

The range of marker pulse widths that can be programmed depends on the edge placement resolution (EPR). The maximum pulse width for any marker is 256 x 4 x EPR. For example, for an EPR of 1ns, the maximum marker pulse width will be 256 x 4 x 1ns = 1,024ns.

For an EPR of 100ns, the maximum marker pulse width will be 102.4us.

Marker pulse widths will be rounded to the closest integer multiple of 4 x EPR. For example, if a pulse width of 90ns is programmed when the EPR is 10ns (4 x EPR = 40 ns), the actual pulse width will be 80ns.

The minimum marker pulse width is 20ns. The DSR will use a pulse width of 20ns if a pulse width shorter than 20ns is programmed. If no pulse width is programmed for a particular marker, a default pulse width of 100ns is used.

Doing a read of the marker pulse width will always return the programmed value. In other words, the returned value will not be modified based on the operations performed to actually generate a marker, such as rounding up to the minimum pulse width or limiting the pulse width to the EPR-dependent maximum value.

Likewise, no error messages will be generated if marker pulse widths are programmed above or below the limits that are used to actually generate a marker. The appropriate rounding up or rounding down will occur, and no error message will be generated.

For more information on triggers and markers, see Triggers and Markers.

Units

Seconds

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrTrigger Interface
Keysight.KtMDsr.Interop Namespace


Polarity Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrTrigger..::.Polarity Property
IKtMDsrTrigger See Also

For a marker output, Polarity controls whether the marker will go high (positive) or low (negative). For a trigger input, Polarity controls whether a trigger will be detected on the rising (positive) edge or on the falling (negative) edge of the input.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property Polarity As KtMDsrTriggerPolarityEnum
C#
public KtMDsrTriggerPolarityEnum  Polarity { get; set; }
Visual C++
HRESULT get_Polarity(
    KtMDsrTriggerPolarityEnum*  val
);
HRESULT put_Polarity(
    KtMDsrTriggerPolarityEnum  val
);

Remarks

After a marker output goes high or low as specified by Polarity, it will return to its quiescent state after a period of time specified by the MarkerPulseWidth. If Polarity is positive, the marker will begin as a logic low then go high for the specified MarkerPulseWidth followed by returning low. If Polarity is negative, the marker will begin as a logic high then go low for the specified MarkerPulseWidth followed by returning high.

Polarity affects which edge of a trigger input will cause the DSR to respond. If Polarity is positive, the DSR will trigger on the rising edge of the trigger input signal. If Polarity is negative, the DSR will trigger on the falling edge of the trigger input signal.

While triggers are often thought of as pulses, the DSR only looks for the specified edge, either rising or falling as specified by Polarity. After triggering has occurred on the specified edge, when the next edge occurs is inconsequential other than the next edge needs to occur at some point in order to make it possible for another trigger to be received on the specified edge. The time between any trigger edges must be greater than 20 ns.

Polarity can be programmed independently for each of the 13 DSR signals that can be used as markers and triggers: GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], PXI_STAR, PXIe_DSTARB (trigger input only), and PXIe_DSTARC (marker output only).

If a signal can be both a marker output and a trigger input (such as GPIO1), there is only one Polarity value associated with the signal. In other words, the signal does not have one Polarity value that is used when the signal is programmed as a marker output and a different Polarity value that is used when the signal is programmed as a trigger input.

For more information on triggers and markers, see Triggers and Markers.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrTrigger Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrTriggers..::.Name Property
IKtMDsrTriggers See Also

Returns the trigger or marker name for a given Index. For example, for an Index of 5, the name "PXI_TRIG0" is returned as shown in the table below.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name( _
    ByVal  Index As Integer  _
) As String
C#
public string  get_Name(
    int  Index
)
Visual C++
HRESULT get_Name(
    long  Index,
    BSTR*  val
);

Parameters

Index

One based index into the collection of triggers.

Remarks

This table shows the Name strings that are returned for the different values of Index.

Index | Name
1 | "External1"
2 | "External2"
3 | "GPIO1"
4 | "GPIO2"
5 | "PXI_TRIG0"
6 | "PXI_TRIG1"
7 | "PXI_TRIG2"
8 | "PXI_TRIG3"
9 | "PXI_TRIG4"
10 | "PXI_TRIG5"
11 | "PXI_TRIG6"
12 | "PXI_TRIG7"
13 | "PXI_STAR"
14 | "PXIe_DSTARB"
15 | "PXIe_DSTARC"

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrTriggers Interface
Keysight.KtMDsr.Interop Namespace


Utility Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriver..::.Utility Property
IIviDriver See Also

Pointer to the IVI-standard IIviDriverUtility interface which provides the ability to reset the driver and execute self-test.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public ReadOnly Property Utility As IIviDriverUtility
C#
public IIviDriverUtility  Utility { get; }
Visual C++
HRESULT get_Utility(
    IIviDriverUtility**  val
);

Requirements

Supported Models

All supported

See Also

Reference

IIviDriver Interface
Ivi.Driver.Interop Namespace


Disable Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverUtility..::.Disable Method
IIviDriverUtility See Also

Quickly places the instrument in a state where it has no, or minimal, effect on the external system to which it is connected. As a side effect of this call, the instrument is Reset.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Sub Disable ( _
)
C#
public void  Disable(
)
Visual C++
HRESULT Disable(
);

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverUtility Interface
Ivi.Driver.Interop Namespace


ErrorQuery Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverUtility..::.ErrorQuery Method
IIviDriverUtility See Also

This function always returns an ErrorCode of 0 and the ErrorMessage "No Error".

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Sub ErrorQuery ( _
    ByRef  ErrorCode As Integer  _
    ByRef  ErrorMessage As String  _
)
C#
public void  ErrorQuery(
    ref int  ErrorCode,
    ref string  ErrorMessage
)
Visual C++
HRESULT ErrorQuery(
    long*  ErrorCode,
    BSTR*  ErrorMessage
);

Parameters

ErrorCode

Instrument error code

ErrorMessage

Instrument error message

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverUtility Interface
Ivi.Driver.Interop Namespace


LockObject Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverUtility..::.LockObject Method
IIviDriverUtility See Also

The driver throws an exception if LockObject is called.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Sub LockObject ( _
)
C#
public void  LockObject(
)
Visual C++
HRESULT LockObject(
);

Remarks

Nominally, obtains a multi-thread lock on the driver; however, this is impossible to implement on IVI-COM drivers because of the nature of the COM infrastructure.

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverUtility Interface
Ivi.Driver.Interop Namespace


Reset Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverUtility..::.Reset Method
IIviDriverUtility See Also

Places the instrument in the Initialized state. This is the same state the instrument is put in by Initialize, with the exception of PatternCache and TraceEnabled.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Sub Reset ( _
)
C#
public void  Reset(
)
Visual C++
HRESULT Reset(
);

Remarks

Patterns that have been downloaded to cache via DownloadPatternToCache and CompilePattern remain in cache, and are accessible after the Reset.

Patterns that have been downloaded to cache via ActivatePattern are not accessible after the reset.

If Instrument ConfigureMemory has been executed, it will remain in effect after the Reset.

The setting of System TraceEnabled is not changed by Reset.

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverUtility Interface
Ivi.Driver.Interop Namespace


ResetWithDefaults Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverUtility..::.ResetWithDefaults Method
IIviDriverUtility See Also

Does the equivalent of Reset and then, configures the driver to option string settings used when Initialize was executed.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Sub ResetWithDefaults ( _
)
C#
public void  ResetWithDefaults(
)
Visual C++
HRESULT ResetWithDefaults(
);

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverUtility Interface
Ivi.Driver.Interop Namespace


SelfTest Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverUtility..::.SelfTest Method
IIviDriverUtility See Also

Performs a self-test on the module. If self-test passes, the TestResult is zero and TestMessage is 'Self test passed'. If self-test fails, TestResult will always return the error code -2147205102, and TestMessage will provide information on the failure(s).

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Sub SelfTest ( _
    ByRef  TestResult As Integer  _
    ByRef  TestMessage As String  _
)
C#
public void  SelfTest(
    ref int  TestResult,
    ref string  TestMessage
)
Visual C++
HRESULT SelfTest(
    long*  TestResult,
    BSTR*  TestMessage
);

Parameters

TestResult

The numeric result from the self-test operation. 0 = no error (test passed)

TestMessage

The self-test status message.

Remarks

If there are multiple self-test failures, the TestMessage string will contain a message for each failure, each separated by a newline.

The SelfTest function is only supported on a single-module instrument. Attempting to run self-test on a multi-module instrument will generate an exception. However, self-test can be run on a multi-module instrument using the DSR SFP. See the SFP help for more information.

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverUtility Interface
Ivi.Driver.Interop Namespace


UnlockObject Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverUtility..::.UnlockObject Method
IIviDriverUtility See Also

The driver throws an exception if UnlockObject is called.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Sub UnlockObject ( _
)
C#
public void  UnlockObject(
)
Visual C++
HRESULT UnlockObject(
);

Remarks

Nominally, releases a multi-thread lock on the driver; however, this is impossible to implement on IVI-COM drivers because of the nature of the COM infrastructure.

Requirements

Supported Models

All supported

See Also

Reference

IIviDriverUtility Interface
Ivi.Driver.Interop Namespace


WaveformTables Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr..::.WaveformTables Property
IKtMDsr See Also

Pointer to the IKtMDsrWaveformTables interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property WaveformTables As IKtMDsrWaveformTables
C#
public IKtMDsrWaveformTables  WaveformTables { get; }
Visual C++
HRESULT get_WaveformTables(
    IKtMDsrWaveformTables**  val
);

Remarks

For more information on the WaveformTables interface, see the WaveformTables Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsr Interface
Keysight.KtMDsr.Interop Namespace


Add Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrWaveformTables..::.Add Method
IKtMDsrWaveformTables See Also

Adds a WaveformTable block of specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Add ( _
    ByVal  Name As String  _
)
C#
public void  Add(
    string  Name
)
Visual C++
HRESULT Add(
    BSTR  Name
);

Parameters

Name

Name of Waveform Table

Remarks

For more information on the WaveformTables interface, see the WaveformTables Overview.
For more information on the dynamic repeated capability Add function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrWaveformTables Interface
Keysight.KtMDsr.Interop Namespace


AddSimpleWaveformTable Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrWaveformTables..::.AddSimpleWaveformTable Method
IKtMDsrWaveformTables See Also

Creates a basic waveform table that defines commonly-defined waveform characters at a given drive time and compare time.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub AddSimpleWaveformTable ( _
    ByVal  Name As String  _
    ByVal  Period As Double  _
    ByVal  ForceTime As Double  _
    ByVal  CompareTime As Double  _
)
C#
public void  AddSimpleWaveformTable(
    string  Name,
    double  Period,
    double  ForceTime,
    double  CompareTime
)
Visual C++
HRESULT AddSimpleWaveformTable(
    BSTR  Name,
    double  Period,
    double  ForceTime,
    double  CompareTime
);

Parameters

Name

The name of the WaveformTable block.

Period

The period of the WaveformTable block.

ForceTime

The time that all drive events will be applied.

CompareTime

The time that all compare events will be tested.

Remarks

The generated WaveformTable will define the waveform characters for all of the defined Signals as follows:

0 | ForceDown at DriveTime
1 | ForceUp at DriveTime
Z | ForceOff at DriveTime
P | ForcePrior at DriveTime
H | CompareHigh at CompareTime
L | CompareLow at CompareTime
T | CompareOff at CompareTime
X | CompareUnknown at CompareTime

For more information on the WaveformTables interface, see the WaveformTables Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrWaveformTables Interface
Keysight.KtMDsr.Interop Namespace


Count Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrWaveformTables..::.Count Property
IKtMDsrWaveformTables See Also

Returns the number of WaveformTable blocks defined.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Count As Integer
C#
public int  Count { get; }
Visual C++
HRESULT get_Count(
    long*  val
);

Remarks

For more information on the WaveformTables interface, see the WaveformTables Overview.
For more information on the dynamic repeated capability Count attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrWaveformTables Interface
Keysight.KtMDsr.Interop Namespace


Item Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrWaveformTables..::.Item Property
IKtMDsrWaveformTables See Also

Returns the WaveformTable block with the specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Item( _
    ByVal  Name As String  _
) As IKtMDsrWaveformTable
C#
public IKtMDsrWaveformTable  get_Item(
    string  Name
)
Visual C++
HRESULT get_Item(
    BSTR  Name,
    IKtMDsrWaveformTable**  val
);

Parameters

Name

The name of a WaveformTable block.For valid values, see the WaveformTable repeated capability.

Remarks

For more information on the WaveformTables interface, see the WaveformTables Overview.
For more information on the dynamic repeated capability Item function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrWaveformTables Interface
Keysight.KtMDsr.Interop Namespace


DefineWaveformCharacter Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrWaveformTable..::.DefineWaveformCharacter Method
IKtMDsrWaveformTable See Also

Defines a new waveform character. This then defines the waveform to be produced when this character is executed on one of the specified signals. This function is called once for each waveform character in the WaveformTable.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub DefineWaveformCharacter ( _
    ByVal  WaveformCharacter As String  _
    ByVal  SignalExpression As String  _
    ByVal  Times As Double()   _
    ByVal  Events As KtMDsrWaveformTableEventEnum()   _
)
C#
public void  DefineWaveformCharacter(
    string  WaveformCharacter,
    string  SignalExpression,
    double[]   Times,
    KtMDsrWaveformTableEventEnum[]   Events
)
Visual C++
HRESULT DefineWaveformCharacter(
    BSTR  WaveformCharacter,
    BSTR  SignalExpression,
    SAFEARRAY**  Times,
    SAFEARRAY**  Events
);

Parameters

WaveformCharacter

The waveform character being defined. A one-character string.

SignalExpression

Signals for which this waveform character is defined.

Times

Array containing up to three times that correspond to the events specified in the Events parameter. There must be an event defined in the Events array for each time specified.

Events

Events associated with each time. Maximum of 2 force events and 1 compare event may be specified. There must be a time defined in the Times array for each event specified.

Remarks

For more information on the WaveformTables interface, see the WaveformTables Overview. .

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrWaveformTable Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrWaveformTable..::.Name Property
IKtMDsrWaveformTable See Also

The Name of the current WaveformTable block.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name As String
C#
public string  Name { get; }
Visual C++
HRESULT get_Name(
    BSTR*  val
);

Remarks

This is useful when a reference to this block is acquired using the Item function and there is a subsequent need to determine which block this is.

For more information on the WaveformTables interface, see the WaveformTables Overview.
For more information on the dynamic repeated capability Item.Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrWaveformTable Interface
Keysight.KtMDsr.Interop Namespace


Period Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrWaveformTable..::.Period Property
IKtMDsrWaveformTable See Also

The period of the waveforms in this WaveformTable. That is, the total time of each waveform.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Property Period As Double
C#
public double  Period { get; set; }
Visual C++
HRESULT get_Period(
    double*  val
);
HRESULT put_Period(
    double  val
);

Remarks

For more information on the WaveformTables interface, see the WaveformTables Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrWaveformTable Interface
Keysight.KtMDsr.Interop Namespace


QueryWaveformCharacter Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrWaveformTable..::.QueryWaveformCharacter Method
IKtMDsrWaveformTable See Also

Returns an array of times and an array of events given the specified signal and waveform character.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub QueryWaveformCharacter ( _
    ByVal  WaveformCharacter As String  _
    ByVal  Signal As String  _
    ByRef  Times As Double()   _
    ByRef  Events As KtMDsrWaveformTableEventEnum()   _
)
C#
public void  QueryWaveformCharacter(
    string  WaveformCharacter,
    string  Signal,
    ref double[]   Times,
    ref KtMDsrWaveformTableEventEnum[]   Events
)
Visual C++
HRESULT QueryWaveformCharacter(
    BSTR  WaveformCharacter,
    BSTR  Signal,
    SAFEARRAY**  Times,
    SAFEARRAY**  Events
);

Parameters

WaveformCharacter

Waveform character to be queried.

Signal

Signal to be queried.

Times

Array of times defined in the waveform. The first index is the first time, and corresponds to the first event in Events string.

Events

Array of events defined in the waveform. The first event corresponds to the first time in the Times array.

Remarks

This query returns the waveform that is executed for the specified waveform character on the specified signal. The waveform is a sequence of up to three events where up to two are force events and zero or one is a compare event.

For more information on the WaveformTables interface, see the WaveformTables Overview.
For more information on the dynamic repeated capability Add function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrWaveformTable Interface
Keysight.KtMDsr.Interop Namespace


QueryWaveformCharacters Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrWaveformTable..::.QueryWaveformCharacters Method
IKtMDsrWaveformTable See Also

Returns all the Waveform Characters defined for the specified Signal.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Function QueryWaveformCharacters ( _
    ByVal  Signal As String  _
) As String
C#
public string  QueryWaveformCharacters(
    string  Signal
)
Visual C++
HRESULT QueryWaveformCharacters(
    BSTR  Signal
    BSTR*  retval
);

Parameters

Signal

Signal name

Return Value

String of waveform characters

Remarks

For more information on the WaveformTables interface, see the WaveformTables Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrWaveformTable Interface
Keysight.KtMDsr.Interop Namespace


Signals Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrWaveformTable..::.Signals Property
IKtMDsrWaveformTable See Also

Comma-separated list of Signals defined for this Waveform Table.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Signals As String
C#
public string  Signals { get; }
Visual C++
HRESULT get_Signals(
    BSTR*  val
);

Remarks

For more information on the WaveformTables interface, see the WaveformTables Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information on Signals, see the Signals Overview.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrWaveformTable Interface
Keysight.KtMDsr.Interop Namespace


Name Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrWaveformTables..::.Name Property
IKtMDsrWaveformTables See Also

Returns the WaveformTable name for the specified index.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public ReadOnly Property Name( _
    ByVal  Index As Integer  _
) As String
C#
public string  get_Name(
    int  Index
)
Visual C++
HRESULT get_Name(
    long  Index,
    BSTR*  val
);

Parameters

Index

One-based index into the collection of WaveformTables.

Remarks

For more information on the WaveformTables interface, see the WaveformTables Overview.
For more information on the dynamic repeated capability Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrWaveformTables Interface
Keysight.KtMDsr.Interop Namespace


Remove Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrWaveformTables..::.Remove Method
IKtMDsrWaveformTables See Also

Removes the WaveformTable block of specified name.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Sub Remove ( _
    ByVal  Name As String  _
)
C#
public void  Remove(
    string  Name
)
Visual C++
HRESULT Remove(
    BSTR  Name
);

Parameters

Name

Name of Waveform Table

Remarks

For more information on the WaveformTables interface, see the WaveformTables Overview.
For more information on the dynamic repeated capability Remove function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

IKtMDsrWaveformTables Interface
Keysight.KtMDsr.Interop Namespace


IIviDriver Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriver Interface
See Also

IVI Driver root interface

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Interface IIviDriver
C#
public interface IIviDriver
Visual C++
__interface IIviDriver

Properties

 | Name | Description
Public property | DriverOperation | Pointer to the IIviDriverOperation interface. The IIviDriverOperation interface contains methods and properties that manage the operation of the driver.
Public property | Identity | Pointer to the IIviDriverIdentity interface which provides attributes that identify this version of the driver and the instrument to which it is connected. All attributes are read-only.
Public property | Initialized | True between the time of a successful call to the Initialize function and a successful call to Close function. False at all other times.
Public property | Utility | Pointer to the IVI-standard IIviDriverUtility interface which provides the ability to reset the driver and execute self-test.
Top

Methods

 | Name | Description
Public method | Close | Closes the session to the module. The module hardware and software resources used by the driver are released. Driver methods and properties that access the instrument are not accessible after Close is called.
Public method | Initialize | Opens a session with from one to twelve DSR modules. Performs a Reset and optionally queries the instrument to validate the model. After initialization, the DSR module(s) are accessible by the driver methods and properties.
Top

See Also

Reference

Ivi.Driver.Interop Namespace


IVI-COM Interfaces

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IVI-COM Interfaces

This section presents the functionality of the KtMDsr driver presented in a flat list of interfaces, organized by namespace. Each link below represents a namespace containing the interface definitions for instrument-specific interfaces, inherent capabilities (IIviDriver), etc.

Namespaces

Namespace
Keysight.KtMDsr.Interop
Ivi.Driver.Interop
Top


Keysight.KtMDsr.Interop Namespace

[image]

KtMDsr IVI Driver Reference Keysight Technologies
Keysight.KtMDsr.Interop Namespace

IVI KtMDsr 2.3 Type Library

Classes

 | Class | Description
Public class | KtMDsr |
Public class | KtMDsrCaptureSite |
Public class | KtMDsrDcLevel |
Public class | KtMDsrMacroDef | KtMDsrMacroDef class.
Public class | KtMDsrModule | KtMDsrModule class.
Public class | KtMDsrPattern |
Public class | KtMDsrPatternBurst |
Public class | KtMDsrPatternExec |
Public class | KtMDsrPatternSite |
Public class | KtMDsrPpmuSite |
Public class | KtMDsrSignal |
Public class | KtMDsrSignalGroup |
Public class | KtMDsrSite |
Public class | KtMDsrStaticSite |
Public class | KtMDsrTrigger2 | KtMDsrTrigger2 class.
Public class | KtMDsrWaveformTable |

Interfaces

 | Interface | Description
Public interface | IKtMDsr | IKtMDsr interface.
Public interface | IKtMDsr2 | IKtMDsr2 interface.
Public interface | IKtMDsrCalibration | IKtMDsrCalibration interface.
Public interface | IKtMDsrCalibration2 | IKtMDsrCalibration2 interface.
Public interface | IKtMDsrCaptureSite | IKtMDsrCaptureSite interface.
Public interface | IKtMDsrCaptureSites | IKtMDsrCaptureSites interface.
Public interface | IKtMDsrChannels | IKtMDsrChannels interface.
Public interface | IKtMDsrChannels2 | IKtMDsrChannels2 interface.
Public interface | IKtMDsrDcLevel | IKtMDsrDcLevel interface.
Public interface | IKtMDsrDcLevels | IKtMDsrDcLevels interface.
Public interface | IKtMDsrInstrument | IKtMDsrInstrument interface.
Public interface | IKtMDsrInstrumentReferenceClock | IKtMDsrInstrumentReferenceClock interface.
Public interface | IKtMDsrMacroDef | IKtMDsrMacroDef interface.
Public interface | IKtMDsrMacroDefs | IKtMDsrMacroDefs interface.
Public interface | IKtMDsrModule | IKtMDsrModule interface.
Public interface | IKtMDsrModuleCalibration | IKtMDsrModuleCalibration interface.
Public interface | IKtMDsrModuleNonvolatile | IKtMDsrModuleNonvolatile interface.
Public interface | IKtMDsrModules | IKtMDsrModules interface.
Public interface | IKtMDsrPattern | IKtMDsrPattern interface.
Public interface | IKtMDsrPatternBurst | IKtMDsrPatternBurst interface.
Public interface | IKtMDsrPatternBursts | IKtMDsrPatternBursts interface.
Public interface | IKtMDsrPatternExec | IKtMDsrPatternExec interface.
Public interface | IKtMDsrPatternExecs | IKtMDsrPatternExecs interface.
Public interface | IKtMDsrPatternFile | IKtMDsrPatternFile interface.
Public interface | IKtMDsrPatterns | IKtMDsrPatterns interface.
Public interface | IKtMDsrPatternSite | IKtMDsrPatternSite interface.
Public interface | IKtMDsrPatternSite2 | IKtMDsrPatternSite2 interface.
Public interface | IKtMDsrPatternSites | IKtMDsrPatternSites interface.
Public interface | IKtMDsrPatternSites2 | IKtMDsrPatternSites2 interface.
Public interface | IKtMDsrPpmuSite | IKtMDsrPpmuSite interface.
Public interface | IKtMDsrPpmuSites | IKtMDsrPpmuSites interface.
Public interface | IKtMDsrSignal | IKtMDsrSignal interface.
Public interface | IKtMDsrSignalGroup | IKtMDsrSignalGroup interface.
Public interface | IKtMDsrSignalGroups | IKtMDsrSignalGroups interface.
Public interface | IKtMDsrSignals | IKtMDsrSignals interface.
Public interface | IKtMDsrSite | IKtMDsrSite interface.
Public interface | IKtMDsrSite2 | IKtMDsrSite2 interface.
Public interface | IKtMDsrSites | IKtMDsrSites interface.
Public interface | IKtMDsrSites2 | IKtMDsrSites2 interface.
Public interface | IKtMDsrStaticSite | IKtMDsrStaticSite interface.
Public interface | IKtMDsrStaticSites | IKtMDsrStaticSites interface.
Public interface | IKtMDsrSystem | IKtMDsrSystem interface.
Public interface | IKtMDsrSystem2 | IKtMDsrSystem2 interface.
Public interface | IKtMDsrSystemLicensing | IKtMDsrCarrierLicensing interface.
Public interface | IKtMDsrTrigger | IKtMDsrTrigger interface.
Public interface | IKtMDsrTriggerEvent | IKtMDsrTriggerEvent interface.
Public interface | IKtMDsrTriggers | IKtMDsrTriggers interface.
Public interface | IKtMDsrWaveformTable | IKtMDsrWaveformTable interface.
Public interface | IKtMDsrWaveformTables | IKtMDsrWaveformTables interface.

Enumerations

 | Enumeration | Description
Public enumeration | KtMDsrABusNodeCategoryEnum |
Public enumeration | KtMDsrCalibrationStatusEnum |
Public enumeration | KtMDsrDcLevelEnum | DcLevels
Public enumeration | KtMDsrDcLevelsLogicFamilyEnum | DcLevel LogicFamilies
Public enumeration | KtMDsrErrorCodesEnum |
Public enumeration | KtMDsrInstrumentAuxiliaryOutputControlEnum | Set Auxilary Output pins
Public enumeration | KtMDsrInstrumentReferenceClockSourceEnum | Reference Clock Sources
Public enumeration | KtMDsrPatternLineTypeEnum | Pattern LineTypes
Public enumeration | KtMDsrPatternSiteConditionalLoopFailureModeEnum | ConditionalLoop Failure Mode
Public enumeration | KtMDsrPatternSiteConditionalLoopSuccessModeEnum | Conditional Loop success mode
Public enumeration | KtMDsrPatternSiteExecutionStateEnum | The State of the current PatternSite during Execution
Public enumeration | KtMDsrPatternSiteSaveDestinationEnum | Where to save a Compiled PatternSite
Public enumeration | KtMDsrPatternSitesEndBehaviorEnum | What to do after the last Vector in Pattern execution.
Public enumeration | KtMDsrPatternSitesTriggerModeEnum | How Pattern generation will being.
Public enumeration | KtMDsrPatternSitesWhatToLogEnum | What data to log
Public enumeration | KtMDsrPpmuSiteAverageModeEnum | Averaging of Ppmu measurements.
Public enumeration | KtMDsrPpmuSiteForceModeEnum | What to force prior to a Ppmu measurement.
Public enumeration | KtMDsrSignalDirectionEnum | The direction of the signal: input to the DUT; output from the DUT; either.
Public enumeration | KtMDsrTriggerDirectionEnum | The direction of the trigger. Trigger = DSR receives a trigger. Marker = DSR generates a trigger.
Public enumeration | KtMDsrTriggerExternalTriggerTerminationEnum | The termination of the trigger line at the module.
Public enumeration | KtMDsrTriggerPolarityEnum | The polarity for trigger inputs and marker outputs, positive or negative.
Public enumeration | KtMDsrUpdateStatusEnum | Enumeration of values returned by System.Update
Public enumeration | KtMDsrWaveformTableEventEnum | Which events to generate during pattern execution.


Classes

 | Class | Description
Public class | KtMDsr |
Public class | KtMDsrCaptureSite |
Public class | KtMDsrDcLevel |
Public class | KtMDsrMacroDef | KtMDsrMacroDef class.
Public class | KtMDsrModule | KtMDsrModule class.
Public class | KtMDsrPattern |
Public class | KtMDsrPatternBurst |
Public class | KtMDsrPatternExec |
Public class | KtMDsrPatternSite |
Public class | KtMDsrPpmuSite |
Public class | KtMDsrSignal |
Public class | KtMDsrSignalGroup |
Public class | KtMDsrSite |
Public class | KtMDsrStaticSite |
Public class | KtMDsrTrigger2 | KtMDsrTrigger2 class.
Public class | KtMDsrWaveformTable |


KtMDsr Class

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsr Class
See Also

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Class KtMDsr
C#
public class KtMDsr
Visual C++
class KtMDsr

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrCaptureSite Class

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrCaptureSite Class
See Also

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Class KtMDsrCaptureSite
C#
public class KtMDsrCaptureSite
Visual C++
class KtMDsrCaptureSite

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrDcLevel Class

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrDcLevel Class
See Also

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Class KtMDsrDcLevel
C#
public class KtMDsrDcLevel
Visual C++
class KtMDsrDcLevel

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrMacroDef Class

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrMacroDef Class
See Also

KtMDsrMacroDef class.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Class KtMDsrMacroDef
C#
public class KtMDsrMacroDef
Visual C++
class KtMDsrMacroDef

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrModule Class

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrModule Class
See Also

KtMDsrModule class.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Class KtMDsrModule
C#
public class KtMDsrModule
Visual C++
class KtMDsrModule

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrPattern Class

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrPattern Class
See Also

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Class KtMDsrPattern
C#
public class KtMDsrPattern
Visual C++
class KtMDsrPattern

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrPatternBurst Class

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrPatternBurst Class
See Also

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Class KtMDsrPatternBurst
C#
public class KtMDsrPatternBurst
Visual C++
class KtMDsrPatternBurst

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrPatternExec Class

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrPatternExec Class
See Also

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Class KtMDsrPatternExec
C#
public class KtMDsrPatternExec
Visual C++
class KtMDsrPatternExec

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrPatternSite Class

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrPatternSite Class
See Also

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Class KtMDsrPatternSite
C#
public class KtMDsrPatternSite
Visual C++
class KtMDsrPatternSite

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrPpmuSite Class

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrPpmuSite Class
See Also

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Class KtMDsrPpmuSite
C#
public class KtMDsrPpmuSite
Visual C++
class KtMDsrPpmuSite

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrSignal Class

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrSignal Class
See Also

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Class KtMDsrSignal
C#
public class KtMDsrSignal
Visual C++
class KtMDsrSignal

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrSignalGroup Class

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrSignalGroup Class
See Also

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Class KtMDsrSignalGroup
C#
public class KtMDsrSignalGroup
Visual C++
class KtMDsrSignalGroup

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrSite Class

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrSite Class
See Also

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Class KtMDsrSite
C#
public class KtMDsrSite
Visual C++
class KtMDsrSite

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrStaticSite Class

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrStaticSite Class
See Also

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Class KtMDsrStaticSite
C#
public class KtMDsrStaticSite
Visual C++
class KtMDsrStaticSite

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrTrigger2 Class

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrTrigger2 Class
See Also

KtMDsrTrigger2 class.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Class KtMDsrTrigger2
C#
public class KtMDsrTrigger2
Visual C++
class KtMDsrTrigger2

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrWaveformTable Class

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrWaveformTable Class
See Also

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Class KtMDsrWaveformTable
C#
public class KtMDsrWaveformTable
Visual C++
class KtMDsrWaveformTable

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Interfaces

 | Interface | Description
Public interface | IKtMDsr | IKtMDsr interface.
Public interface | IKtMDsr2 | IKtMDsr2 interface.
Public interface | IKtMDsrCalibration | IKtMDsrCalibration interface.
Public interface | IKtMDsrCalibration2 | IKtMDsrCalibration2 interface.
Public interface | IKtMDsrCaptureSite | IKtMDsrCaptureSite interface.
Public interface | IKtMDsrCaptureSites | IKtMDsrCaptureSites interface.
Public interface | IKtMDsrChannels | IKtMDsrChannels interface.
Public interface | IKtMDsrChannels2 | IKtMDsrChannels2 interface.
Public interface | IKtMDsrDcLevel | IKtMDsrDcLevel interface.
Public interface | IKtMDsrDcLevels | IKtMDsrDcLevels interface.
Public interface | IKtMDsrInstrument | IKtMDsrInstrument interface.
Public interface | IKtMDsrInstrumentReferenceClock | IKtMDsrInstrumentReferenceClock interface.
Public interface | IKtMDsrMacroDef | IKtMDsrMacroDef interface.
Public interface | IKtMDsrMacroDefs | IKtMDsrMacroDefs interface.
Public interface | IKtMDsrModule | IKtMDsrModule interface.
Public interface | IKtMDsrModuleCalibration | IKtMDsrModuleCalibration interface.
Public interface | IKtMDsrModuleNonvolatile | IKtMDsrModuleNonvolatile interface.
Public interface | IKtMDsrModules | IKtMDsrModules interface.
Public interface | IKtMDsrPattern | IKtMDsrPattern interface.
Public interface | IKtMDsrPatternBurst | IKtMDsrPatternBurst interface.
Public interface | IKtMDsrPatternBursts | IKtMDsrPatternBursts interface.
Public interface | IKtMDsrPatternExec | IKtMDsrPatternExec interface.
Public interface | IKtMDsrPatternExecs | IKtMDsrPatternExecs interface.
Public interface | IKtMDsrPatternFile | IKtMDsrPatternFile interface.
Public interface | IKtMDsrPatterns | IKtMDsrPatterns interface.
Public interface | IKtMDsrPatternSite | IKtMDsrPatternSite interface.
Public interface | IKtMDsrPatternSite2 | IKtMDsrPatternSite2 interface.
Public interface | IKtMDsrPatternSites | IKtMDsrPatternSites interface.
Public interface | IKtMDsrPatternSites2 | IKtMDsrPatternSites2 interface.
Public interface | IKtMDsrPpmuSite | IKtMDsrPpmuSite interface.
Public interface | IKtMDsrPpmuSites | IKtMDsrPpmuSites interface.
Public interface | IKtMDsrSignal | IKtMDsrSignal interface.
Public interface | IKtMDsrSignalGroup | IKtMDsrSignalGroup interface.
Public interface | IKtMDsrSignalGroups | IKtMDsrSignalGroups interface.
Public interface | IKtMDsrSignals | IKtMDsrSignals interface.
Public interface | IKtMDsrSite | IKtMDsrSite interface.
Public interface | IKtMDsrSite2 | IKtMDsrSite2 interface.
Public interface | IKtMDsrSites | IKtMDsrSites interface.
Public interface | IKtMDsrSites2 | IKtMDsrSites2 interface.
Public interface | IKtMDsrStaticSite | IKtMDsrStaticSite interface.
Public interface | IKtMDsrStaticSites | IKtMDsrStaticSites interface.
Public interface | IKtMDsrSystem | IKtMDsrSystem interface.
Public interface | IKtMDsrSystem2 | IKtMDsrSystem2 interface.
Public interface | IKtMDsrSystemLicensing | IKtMDsrCarrierLicensing interface.
Public interface | IKtMDsrTrigger | IKtMDsrTrigger interface.
Public interface | IKtMDsrTriggerEvent | IKtMDsrTriggerEvent interface.
Public interface | IKtMDsrTriggers | IKtMDsrTriggers interface.
Public interface | IKtMDsrWaveformTable | IKtMDsrWaveformTable interface.
Public interface | IKtMDsrWaveformTables | IKtMDsrWaveformTables interface.


IKtMDsr Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsr Interface
See Also

IKtMDsr interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsr
   Inherits IIviDriver
C#
public interface IKtMDsr : IIviDriver
Visual C++
__interface IKtMDsr : IIviDriver

Properties

 | Name | Description
Public property | Calibration | Pointer to the IKtMDsrCalibration interface. The functions and attributes in this interface are used to calibrate the module. See the Instrument interface for functions related to automatic corrections.
Public property | CaptureSites | Pointer to the IKtMDsrCaptureSites interface. This active site interface provides a simple set of functions and attributes to capture data without requiring that a pattern be created.
Public property | Channels | Pointer to the IKtMDsrChannels interface. The Channels interface is used to control settings associated with specific channels, independent of its use for PPMU or patterns.
Public property | DcLevels | Pointer to the IKtMDsrDcLevels interface. This interface is used to configure amplitudes of the digital outputs and threshholds used for the digital inputs.
Public property | DriverOperation | Pointer to the IIviDriverOperation interface. The IIviDriverOperation interface contains methods and properties that manage the operation of the driver. (Inherited from IIviDriver.)
Public property | Identity | Pointer to the IIviDriverIdentity interface which provides attributes that identify this version of the driver and the instrument to which it is connected. All attributes are read-only. (Inherited from IIviDriver.)
Public property | Initialized | True between the time of a successful call to the Initialize function and a successful call to Close function. False at all other times. (Inherited from IIviDriver.)
Public property | Instrument | Pointer to the IKtMDsrInstrument interface. This interface contains settings that impact the entire instrument and are not scoped to specific channels or sites.
Public property | MacroDefs | Pointer to the IKtMDsrMacroDefs interface. This interface is used to specify the pattern that is used to define macros.
Public property | PatternBursts | Pointer to the IKtMDsrPatternBursts interface. The PatternBursts interface defines the sequence of Patterns that are executed by a PatternExec; it also defines the MacroDefs blocks to use when compiling the Patterns.
Public property | PatternExecs | Pointer to the IKtMDsrPatternExecs interface. The PatternExecs interface defines the block that contains everything necessary to execute a pattern. This is made up of a PatternBurst and DcLevels block.
Public property | PatternFile | Pointer to the IKtMDsrPatternFile interface. The PatternFile interface is used to load patterns that are defined in external files, either in STIL, OpenXML, or the KtMDsr Bulk Data format, and to store loaded data to a STIL file.
Public property | Patterns | Pointer to the IKtMDsrPatterns interface. The Pattern interface is used to define the series of data values that are produced or expected by the DSR.
Public property | PatternSites | Pointer to the IKtMDsrPatternSites interface. The PatternSites interface controls the execution of defined patterns.
Public property | PpmuSites | Pointer to the IKtMDsrPpmuSites interface.
Public property | SignalGroups | Pointer to the IKtMDsrSignalGroups interface. The SignalGroup interface permits defining a group so that several signals can be referenced with a single identifier.
Public property | Signals | Pointer to the IKtMDsrSignals interface. The Signals interface is used to define or remove Signals. The repeated capability name, is the name of the signal defined.
Public property | Sites | Pointer to the IKtMDsrSites interface. The Site defines the physical channel and ordinal assigned to each Signal in the pattern. The ordinal is the bit position or array index where that channel is mapped for StaticSite and PpmuSite operations.
Public property | StaticSites | Pointer to the IKtMDsrStaticSites interface. The StaticSite interface permits reading and writing digital values to channels.
Public property | System | Pointer to the IKtMDsrSystem interface. The System interface provides general utility functions unique to the DSR.
Public property | TriggerEvent | The Triger Event interface contains the GenerateSoftwareEvents method used to generate software trigger events.
Public property | Utility | Pointer to the IVI-standard IIviDriverUtility interface which provides the ability to reset the driver and execute self-test. (Inherited from IIviDriver.)
Public property | WaveformTables | Pointer to the IKtMDsrWaveformTables interface.
Top

Methods

 | Name | Description
Public method | Close | Closes the session to the module. The module hardware and software resources used by the driver are released. Driver methods and properties that access the instrument are not accessible after Close is called. (Inherited from IIviDriver.)
Public method | Initialize | Opens a session with from one to twelve DSR modules. Performs a Reset and optionally queries the instrument to validate the model. After initialization, the DSR module(s) are accessible by the driver methods and properties. (Inherited from IIviDriver.)
Top

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Properties

 | Name | Description
Public property | Calibration | Pointer to the IKtMDsrCalibration interface. The functions and attributes in this interface are used to calibrate the module. See the Instrument interface for functions related to automatic corrections.
Public property | CaptureSites | Pointer to the IKtMDsrCaptureSites interface. This active site interface provides a simple set of functions and attributes to capture data without requiring that a pattern be created.
Public property | Channels | Pointer to the IKtMDsrChannels interface. The Channels interface is used to control settings associated with specific channels, independent of its use for PPMU or patterns.
Public property | DcLevels | Pointer to the IKtMDsrDcLevels interface. This interface is used to configure amplitudes of the digital outputs and threshholds used for the digital inputs.
Public property | DriverOperation | Pointer to the IIviDriverOperation interface. The IIviDriverOperation interface contains methods and properties that manage the operation of the driver. (Inherited from IIviDriver.)
Public property | Identity | Pointer to the IIviDriverIdentity interface which provides attributes that identify this version of the driver and the instrument to which it is connected. All attributes are read-only. (Inherited from IIviDriver.)
Public property | Initialized | True between the time of a successful call to the Initialize function and a successful call to Close function. False at all other times. (Inherited from IIviDriver.)
Public property | Instrument | Pointer to the IKtMDsrInstrument interface. This interface contains settings that impact the entire instrument and are not scoped to specific channels or sites.
Public property | MacroDefs | Pointer to the IKtMDsrMacroDefs interface. This interface is used to specify the pattern that is used to define macros.
Public property | PatternBursts | Pointer to the IKtMDsrPatternBursts interface. The PatternBursts interface defines the sequence of Patterns that are executed by a PatternExec; it also defines the MacroDefs blocks to use when compiling the Patterns.
Public property | PatternExecs | Pointer to the IKtMDsrPatternExecs interface. The PatternExecs interface defines the block that contains everything necessary to execute a pattern. This is made up of a PatternBurst and DcLevels block.
Public property | PatternFile | Pointer to the IKtMDsrPatternFile interface. The PatternFile interface is used to load patterns that are defined in external files, either in STIL, OpenXML, or the KtMDsr Bulk Data format, and to store loaded data to a STIL file.
Public property | Patterns | Pointer to the IKtMDsrPatterns interface. The Pattern interface is used to define the series of data values that are produced or expected by the DSR.
Public property | PatternSites | Pointer to the IKtMDsrPatternSites interface. The PatternSites interface controls the execution of defined patterns.
Public property | PpmuSites | Pointer to the IKtMDsrPpmuSites interface.
Public property | SignalGroups | Pointer to the IKtMDsrSignalGroups interface. The SignalGroup interface permits defining a group so that several signals can be referenced with a single identifier.
Public property | Signals | Pointer to the IKtMDsrSignals interface. The Signals interface is used to define or remove Signals. The repeated capability name, is the name of the signal defined.
Public property | Sites | Pointer to the IKtMDsrSites interface. The Site defines the physical channel and ordinal assigned to each Signal in the pattern. The ordinal is the bit position or array index where that channel is mapped for StaticSite and PpmuSite operations.
Public property | StaticSites | Pointer to the IKtMDsrStaticSites interface. The StaticSite interface permits reading and writing digital values to channels.
Public property | System | Pointer to the IKtMDsrSystem interface. The System interface provides general utility functions unique to the DSR.
Public property | TriggerEvent | The Triger Event interface contains the GenerateSoftwareEvents method used to generate software trigger events.
Public property | Utility | Pointer to the IVI-standard IIviDriverUtility interface which provides the ability to reset the driver and execute self-test. (Inherited from IIviDriver.)
Public property | WaveformTables | Pointer to the IKtMDsrWaveformTables interface.
Top


Properties

 | Name | Description
Public property | Calibration | Pointer to the IKtMDsrCalibration interface. The functions and attributes in this interface are used to calibrate the module. See the Instrument interface for functions related to automatic corrections. (Inherited from IKtMDsr.)
Public property | Calibration2 | Pointer to the IKtMDsrCalibration interface. The functions and attributes in this interface are used to calibrate the module. See the Instrument interface for functions related to automatic corrections.
Public property | CaptureSites | Pointer to the IKtMDsrCaptureSites interface. This active site interface provides a simple set of functions and attributes to capture data without requiring that a pattern be created. (Inherited from IKtMDsr.)
Public property | Channels | Pointer to the IKtMDsrChannels interface. The Channels interface is used to control settings associated with specific channels, independent of its use for PPMU or patterns. (Inherited from IKtMDsr.)
Public property | Channels2 | Pointer to the IKtMDsrChannels interface. The Channels interface is used to control settings associated with specific channels, independent of its use for PPMU or patterns.
Public property | DcLevels | Pointer to the IKtMDsrDcLevels interface. This interface is used to configure amplitudes of the digital outputs and threshholds used for the digital inputs. (Inherited from IKtMDsr.)
Public property | DriverOperation | Pointer to the IIviDriverOperation interface. The IIviDriverOperation interface contains methods and properties that manage the operation of the driver. (Inherited from IIviDriver.)
Public property | Identity | Pointer to the IIviDriverIdentity interface which provides attributes that identify this version of the driver and the instrument to which it is connected. All attributes are read-only. (Inherited from IIviDriver.)
Public property | Initialized | True between the time of a successful call to the Initialize function and a successful call to Close function. False at all other times. (Inherited from IIviDriver.)
Public property | Instrument | Pointer to the IKtMDsrInstrument interface. This interface contains settings that impact the entire instrument and are not scoped to specific channels or sites. (Inherited from IKtMDsr.)
Public property | MacroDefs | Pointer to the IKtMDsrMacroDefs interface. This interface is used to specify the pattern that is used to define macros. (Inherited from IKtMDsr.)
Public property | Modules | Pointer to the IKtMDsrModules interface.
Public property | PatternBursts | Pointer to the IKtMDsrPatternBursts interface. The PatternBursts interface defines the sequence of Patterns that are executed by a PatternExec; it also defines the MacroDefs blocks to use when compiling the Patterns. (Inherited from IKtMDsr.)
Public property | PatternExecs | Pointer to the IKtMDsrPatternExecs interface. The PatternExecs interface defines the block that contains everything necessary to execute a pattern. This is made up of a PatternBurst and DcLevels block. (Inherited from IKtMDsr.)
Public property | PatternFile | Pointer to the IKtMDsrPatternFile interface. The PatternFile interface is used to load patterns that are defined in external files, either in STIL, OpenXML, or the KtMDsr Bulk Data format, and to store loaded data to a STIL file. (Inherited from IKtMDsr.)
Public property | Patterns | Pointer to the IKtMDsrPatterns interface. The Pattern interface is used to define the series of data values that are produced or expected by the DSR. (Inherited from IKtMDsr.)
Public property | PatternSites | Pointer to the IKtMDsrPatternSites interface. The PatternSites interface controls the execution of defined patterns. (Inherited from IKtMDsr.)
Public property | PatternSites2 | Pointer to the IKtMDsrPatternSites interface. The PatternSites interface controls the execution of defined patterns.
Public property | PpmuSites | Pointer to the IKtMDsrPpmuSites interface. (Inherited from IKtMDsr.)
Public property | SignalGroups | Pointer to the IKtMDsrSignalGroups interface. The SignalGroup interface permits defining a group so that several signals can be referenced with a single identifier. (Inherited from IKtMDsr.)
Public property | Signals | Pointer to the IKtMDsrSignals interface. The Signals interface is used to define or remove Signals. The repeated capability name, is the name of the signal defined. (Inherited from IKtMDsr.)
Public property | Sites | Pointer to the IKtMDsrSites interface. The Site defines the physical channel and ordinal assigned to each Signal in the pattern. The ordinal is the bit position or array index where that channel is mapped for StaticSite and PpmuSite operations. (Inherited from IKtMDsr.)
Public property | Sites2 | Pointer to the IKtMDsrSites interface. The Site defines the physical channel and ordinal assigned to each Signal in the pattern. The ordinal is the bit position or array index where that channel is mapped for StaticSite and PpmuSite operations.
Public property | StaticSites | Pointer to the IKtMDsrStaticSites interface. The StaticSite interface permits reading and writing digital values to channels. (Inherited from IKtMDsr.)
Public property | System | Pointer to the IKtMDsrSystem interface. The System interface provides general utility functions unique to the DSR. (Inherited from IKtMDsr.)
Public property | System2 | Pointer to the IKtMDsrSystem interface. The System interface provides general utility functions unique to the DSR.
Public property | TriggerEvent | The Triger Event interface contains the GenerateSoftwareEvents method used to generate software trigger events. (Inherited from IKtMDsr.)
Public property | Triggers | Pointer to the IKtMDsrTriggers interface.
Public property | Utility | Pointer to the IVI-standard IIviDriverUtility interface which provides the ability to reset the driver and execute self-test. (Inherited from IIviDriver.)
Public property | WaveformTables | Pointer to the IKtMDsrWaveformTables interface. (Inherited from IKtMDsr.)
Top


IKtMDsrCalibration Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCalibration Interface
See Also

IKtMDsrCalibration interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrCalibration
C#
public interface IKtMDsrCalibration
Visual C++
__interface IKtMDsrCalibration

Remarks

For more information on the Calibration interface, see the Calibration Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


IKtMDsrCalibration2 Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCalibration2 Interface
See Also

IKtMDsrCalibration2 interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrCalibration2
   Inherits IKtMDsrCalibration
C#
public interface IKtMDsrCalibration2 : IKtMDsrCalibration
Visual C++
__interface IKtMDsrCalibration2 : IKtMDsrCalibration

Properties

 | Name | Description
Public property | AdjustmentInformation | Read Only - A comma separated list of calibration adjustment information. Includes the calibration date and instrument identification. Returns an empty string if any of the modules in the current system have not been calibrated.
Public property | DueDate | Read Only - The computed date of the next required instrument calibration. If the instrument is not subject to calibration, this will return "n/a". If the instrument is not calibrated this will return "unknown". If the instrument is calibrated this will return a date formatted for the current locale.
Public property | InstrumentIdentifier | Read Only - A unique identifier for the collection of modules that make up the current instrument. This will not include modules that are independently calibrated (typically just the M9300A reference module). This value is used in tracking instrument calibration verification.
Public property | Status | Read Only - This property indicates the calibration status of the instrument. The status is determined by comparing the (calibration due date - cal due reminder value) to the current date.
Public property | VerificationInformation | Read Only - A comma separated list of calibration verification information. Includes the calibration date and instrument identification. Returns an empty string if any of the modules in the current system have not been calibrated.
Top

Remarks

For more information on the Calibration interface, see the Calibration Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Properties

 | Name | Description
Public property | AdjustmentInformation | Read Only - A comma separated list of calibration adjustment information. Includes the calibration date and instrument identification. Returns an empty string if any of the modules in the current system have not been calibrated.
Public property | DueDate | Read Only - The computed date of the next required instrument calibration. If the instrument is not subject to calibration, this will return "n/a". If the instrument is not calibrated this will return "unknown". If the instrument is calibrated this will return a date formatted for the current locale.
Public property | InstrumentIdentifier | Read Only - A unique identifier for the collection of modules that make up the current instrument. This will not include modules that are independently calibrated (typically just the M9300A reference module). This value is used in tracking instrument calibration verification.
Public property | Status | Read Only - This property indicates the calibration status of the instrument. The status is determined by comparing the (calibration due date - cal due reminder value) to the current date.
Public property | VerificationInformation | Read Only - A comma separated list of calibration verification information. Includes the calibration date and instrument identification. Returns an empty string if any of the modules in the current system have not been calibrated.
Top


IKtMDsrCaptureSite Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCaptureSite Interface
See Also

IKtMDsrCaptureSite interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrCaptureSite
C#
public interface IKtMDsrCaptureSite
Visual C++
__interface IKtMDsrCaptureSite

Properties

 | Name | Description
Public property | EdgePlacementResolution | Returns the EdgePlacementResolution specified when this site was activated. Or, if EdgePlacementResolutionAuto was set to True, this is the edge placement resolution selected by the DSR.
Public property | EdgePlacementResolutionAuto | Returns the value of EdgePlacementResolutionAuto with which the site was activated.
Public property | ExecutionState | Returns the sequencer state.
Public property | Name | Returns the site name used to access this site.
Public property | ResultCount | Gets the number of elements in the result in memory.
Top

Methods

 | Name | Description
Public method | Abort | Asynchronously stop the execution of the pattern. That is, stop the capture of data.
Public method | FetchResultByte | Returns the captured result in an array of bytes. Results must fit in a byte.
Public method | FetchResultInt16 | Returns the captured result in an array of 16-bit values. Results must fit in a 16-bit integer.
Public method | FetchResultSegmentByte | Returns a segment from the captured result. Result must fit in a byte.
Public method | FetchResultSegmentInt16 | Returns a segment from the captured result. Result must fit in a 16-bit integer.
Public method | Initiate | Begin the execution of a pattern. If the Trigger Mode is set to Immediate, execution will begin immediately. If set to Trigger, the hardware will fully initialize, but will wait for a trigger event before proceeding.
Public method | WaitForAcquisitionComplete | The function will not return until this pattern is done executing. If a pattern has not been initiated or if it has already completed, the function will return immediately.
Top

Remarks

For more information, see the CaptureSites Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | Abort | Asynchronously stop the execution of the pattern. That is, stop the capture of data.
Public method | FetchResultByte | Returns the captured result in an array of bytes. Results must fit in a byte.
Public method | FetchResultInt16 | Returns the captured result in an array of 16-bit values. Results must fit in a 16-bit integer.
Public method | FetchResultSegmentByte | Returns a segment from the captured result. Result must fit in a byte.
Public method | FetchResultSegmentInt16 | Returns a segment from the captured result. Result must fit in a 16-bit integer.
Public method | Initiate | Begin the execution of a pattern. If the Trigger Mode is set to Immediate, execution will begin immediately. If set to Trigger, the hardware will fully initialize, but will wait for a trigger event before proceeding.
Public method | WaitForAcquisitionComplete | The function will not return until this pattern is done executing. If a pattern has not been initiated or if it has already completed, the function will return immediately.
Top


Properties

 | Name | Description
Public property | EdgePlacementResolution | Returns the EdgePlacementResolution specified when this site was activated. Or, if EdgePlacementResolutionAuto was set to True, this is the edge placement resolution selected by the DSR.
Public property | EdgePlacementResolutionAuto | Returns the value of EdgePlacementResolutionAuto with which the site was activated.
Public property | ExecutionState | Returns the sequencer state.
Public property | Name | Returns the site name used to access this site.
Public property | ResultCount | Gets the number of elements in the result in memory.
Top


IKtMDsrCaptureSites Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrCaptureSites Interface
See Also

IKtMDsrCaptureSites interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrCaptureSites
C#
public interface IKtMDsrCaptureSites
Visual C++
__interface IKtMDsrCaptureSites

Properties

 | Name | Description
Public property | Count | Returns the number of currently active capture sites.
Public property | Item | Accesses the specified active site.
Public property | Name | Returns the name of the activated site at the specified index. This is useful along with Count to identify all of the currently active capture sites.
Public property | RequestedResultCount | Number of Results per channel to be collected.
Public property | TriggerMode | Sets the Trigger Mode. The trigger mode determines if execution of the pattern begins immediately when initiated or if the execution waits for a trigger event before executing.
Public property | TriggerSource | Gets or sets the trigger source for this pattern. String format is: SoftwareTrigger<0-15>.
Top

Methods

 | Name | Description
Public method | Activate | Activates a site for data capture.
Public method | Inactivate | Releases the resources associated with this site. The state of the individual channels is not changed.
Public method | InactivateAndDisable | Releases the resources associated with this site. The individual channels are disabled.
Top

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | Activate | Activates a site for data capture.
Public method | Inactivate | Releases the resources associated with this site. The state of the individual channels is not changed.
Public method | InactivateAndDisable | Releases the resources associated with this site. The individual channels are disabled.
Top


Properties

 | Name | Description
Public property | Count | Returns the number of currently active capture sites.
Public property | Item | Accesses the specified active site.
Public property | Name | Returns the name of the activated site at the specified index. This is useful along with Count to identify all of the currently active capture sites.
Public property | RequestedResultCount | Number of Results per channel to be collected.
Public property | TriggerMode | Sets the Trigger Mode. The trigger mode determines if execution of the pattern begins immediately when initiated or if the execution waits for a trigger event before executing.
Public property | TriggerSource | Gets or sets the trigger source for this pattern. String format is: SoftwareTrigger<0-15>.
Top


IKtMDsrChannels Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrChannels Interface
See Also

IKtMDsrChannels interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrChannels
C#
public interface IKtMDsrChannels
Visual C++
__interface IKtMDsrChannels

Methods

 | Name | Description
Public method | ClampVoltagePpmuEnable | Specifies whether the voltage clamps are active when the DSR is in PPMU force current mode. (Note: Voltage clamps are never active when the PPMU is forcing a voltage.)
Public method | ClampVoltages | Sets the protection voltages to which inputs are clamped when the clamps are active.
Public method | LineCompensation | Compensates for transmission line effects. The degree can be set from 0 to 7.
Public method | MeasureAndApplyResponseDelayCompensation | Measures the cable delay of an unterminated cable along with delays internal to the DSR and stores the compensation values into Channels Response Delay Compensation.
Public method | QueryClampVoltage | Queries the voltages to which the inputs clamps are configured.
Public method | QueryClampVoltagePpmuEnable | Queries whether the voltage clamps are enabled when producing current for the specified channel of the PPMU.
Public method | QueryLineCompensation | Queries the line compensation settings for the specified channel.
Public method | QueryRemoteSenseEnable | Queries whether remote sensing is enabled on the specified channel.
Public method | QueryResponseDelayCompensation | Queries the response delay compensation for the specified channel.
Public method | QueryStimulusDelay | Queries the stimulus delay for the specified channel.
Public method | RemoteSenseEnable | Controls whether stimulus and measurements use the same physical conductors from the DSR.
Public method | ResponseDelayCompensation | Sets a channel-specific response delay compensation. The delay time is set to the round-trip time for a simultaneous event to begin at the DSR output, go out to the DUT, and the response to arrive back at the DSR.
Public method | StimulusDelay | Sets a channel-specific delay in the output. This delay is relative to the start trigger. Use StimulusDelay to adjust the channels with respect to each other to ensure signals arrive simultaneously at the DUT.
Top

Remarks

For more information on the Channels interface, see the Channels Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | ClampVoltagePpmuEnable | Specifies whether the voltage clamps are active when the DSR is in PPMU force current mode. (Note: Voltage clamps are never active when the PPMU is forcing a voltage.)
Public method | ClampVoltages | Sets the protection voltages to which inputs are clamped when the clamps are active.
Public method | LineCompensation | Compensates for transmission line effects. The degree can be set from 0 to 7.
Public method | MeasureAndApplyResponseDelayCompensation | Measures the cable delay of an unterminated cable along with delays internal to the DSR and stores the compensation values into Channels Response Delay Compensation.
Public method | QueryClampVoltage | Queries the voltages to which the inputs clamps are configured.
Public method | QueryClampVoltagePpmuEnable | Queries whether the voltage clamps are enabled when producing current for the specified channel of the PPMU.
Public method | QueryLineCompensation | Queries the line compensation settings for the specified channel.
Public method | QueryRemoteSenseEnable | Queries whether remote sensing is enabled on the specified channel.
Public method | QueryResponseDelayCompensation | Queries the response delay compensation for the specified channel.
Public method | QueryStimulusDelay | Queries the stimulus delay for the specified channel.
Public method | RemoteSenseEnable | Controls whether stimulus and measurements use the same physical conductors from the DSR.
Public method | ResponseDelayCompensation | Sets a channel-specific response delay compensation. The delay time is set to the round-trip time for a simultaneous event to begin at the DSR output, go out to the DUT, and the response to arrive back at the DSR.
Public method | StimulusDelay | Sets a channel-specific delay in the output. This delay is relative to the start trigger. Use StimulusDelay to adjust the channels with respect to each other to ensure signals arrive simultaneously at the DUT.
Top


IKtMDsrChannels2 Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrChannels2 Interface
See Also

IKtMDsrChannels2 interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrChannels2
   Inherits IKtMDsrChannels
C#
public interface IKtMDsrChannels2 : IKtMDsrChannels
Visual C++
__interface IKtMDsrChannels2 : IKtMDsrChannels

Methods

 | Name | Description
Public method | ClampVoltagePpmuEnable | Specifies whether the voltage clamps are active when the DSR is in PPMU force current mode. (Note: Voltage clamps are never active when the PPMU is forcing a voltage.) (Inherited from IKtMDsrChannels.)
Public method | ClampVoltages | Sets the protection voltages to which inputs are clamped when the clamps are active. (Inherited from IKtMDsrChannels.)
Public method | LineCompensation | Compensates for transmission line effects. The degree can be set from 0 to 7. (Inherited from IKtMDsrChannels.)
Public method | LoadResponseDelayCompensation | Load previously stored ResponseDelayCompensation values
Public method | MeasureAndApplyResponseDelayCompensation | Measures the cable delay of an unterminated cable along with delays internal to the DSR and stores the compensation values into Channels Response Delay Compensation. (Inherited from IKtMDsrChannels.)
Public method | MeasureLeakage | A measurement to calculate the leakage on specificed channels in order to null them out during PatternSite execution.
Public method | QueryClampVoltage | Queries the voltages to which the inputs clamps are configured. (Inherited from IKtMDsrChannels.)
Public method | QueryClampVoltagePpmuEnable | Queries whether the voltage clamps are enabled when producing current for the specified channel of the PPMU. (Inherited from IKtMDsrChannels.)
Public method | QueryLineCompensation | Queries the line compensation settings for the specified channel. (Inherited from IKtMDsrChannels.)
Public method | QueryRemoteSenseEnable | Queries whether remote sensing is enabled on the specified channel. (Inherited from IKtMDsrChannels.)
Public method | QueryResponseDelayCompensation | Queries the response delay compensation for the specified channel. (Inherited from IKtMDsrChannels.)
Public method | QueryStimulusDelay | Queries the stimulus delay for the specified channel. (Inherited from IKtMDsrChannels.)
Public method | RemoteSenseEnable | Controls whether stimulus and measurements use the same physical conductors from the DSR. (Inherited from IKtMDsrChannels.)
Public method | ResponseDelayCompensation | Sets a channel-specific response delay compensation. The delay time is set to the round-trip time for a simultaneous event to begin at the DSR output, go out to the DUT, and the response to arrive back at the DSR. (Inherited from IKtMDsrChannels.)
Public method | StimulusDelay | Sets a channel-specific delay in the output. This delay is relative to the start trigger. Use StimulusDelay to adjust the channels with respect to each other to ensure signals arrive simultaneously at the DUT. (Inherited from IKtMDsrChannels.)
Public method | StoreResponseDelayCompensation | Store all current ResponseDelayCompenstion values to a file.
Top

Remarks

For more information on the Channels interface, see the Channels Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | ClampVoltagePpmuEnable | Specifies whether the voltage clamps are active when the DSR is in PPMU force current mode. (Note: Voltage clamps are never active when the PPMU is forcing a voltage.) (Inherited from IKtMDsrChannels.)
Public method | ClampVoltages | Sets the protection voltages to which inputs are clamped when the clamps are active. (Inherited from IKtMDsrChannels.)
Public method | LineCompensation | Compensates for transmission line effects. The degree can be set from 0 to 7. (Inherited from IKtMDsrChannels.)
Public method | LoadResponseDelayCompensation | Load previously stored ResponseDelayCompensation values
Public method | MeasureAndApplyResponseDelayCompensation | Measures the cable delay of an unterminated cable along with delays internal to the DSR and stores the compensation values into Channels Response Delay Compensation. (Inherited from IKtMDsrChannels.)
Public method | MeasureLeakage | A measurement to calculate the leakage on specificed channels in order to null them out during PatternSite execution.
Public method | QueryClampVoltage | Queries the voltages to which the inputs clamps are configured. (Inherited from IKtMDsrChannels.)
Public method | QueryClampVoltagePpmuEnable | Queries whether the voltage clamps are enabled when producing current for the specified channel of the PPMU. (Inherited from IKtMDsrChannels.)
Public method | QueryLineCompensation | Queries the line compensation settings for the specified channel. (Inherited from IKtMDsrChannels.)
Public method | QueryRemoteSenseEnable | Queries whether remote sensing is enabled on the specified channel. (Inherited from IKtMDsrChannels.)
Public method | QueryResponseDelayCompensation | Queries the response delay compensation for the specified channel. (Inherited from IKtMDsrChannels.)
Public method | QueryStimulusDelay | Queries the stimulus delay for the specified channel. (Inherited from IKtMDsrChannels.)
Public method | RemoteSenseEnable | Controls whether stimulus and measurements use the same physical conductors from the DSR. (Inherited from IKtMDsrChannels.)
Public method | ResponseDelayCompensation | Sets a channel-specific response delay compensation. The delay time is set to the round-trip time for a simultaneous event to begin at the DSR output, go out to the DUT, and the response to arrive back at the DSR. (Inherited from IKtMDsrChannels.)
Public method | StimulusDelay | Sets a channel-specific delay in the output. This delay is relative to the start trigger. Use StimulusDelay to adjust the channels with respect to each other to ensure signals arrive simultaneously at the DUT. (Inherited from IKtMDsrChannels.)
Public method | StoreResponseDelayCompensation | Store all current ResponseDelayCompenstion values to a file.
Top


IKtMDsrDcLevel Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrDcLevel Interface
See Also

IKtMDsrDcLevel interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrDcLevel
C#
public interface IKtMDsrDcLevel
Visual C++
__interface IKtMDsrDcLevel

Properties

 | Name | Description
Public property | Name | The name of the current DcLevels block.
Public property | Signals | Gets a comma-separated list of Signals for which levels have been defined for this DCLevels block.
Top

Methods

 | Name | Description
Public method | QueryDcLevels | Gets all the DcLevel values for a Signal. If the DcLevel was created from STIL or if it was altered using SetDcLevels, the logic family value will return custom.
Public method | SetDcLevel | Sets an individual DcLevel value for all of the Signals in the SignalExpression. Calling this function will set the Logic Family to custom.
Public method | SetDcLevels | Sets all the DcLevel values for all the Signals in the SignalExpression. Calling this function will set the Logic Family to custom.
Public method | SetLogicFamily | Sets the Logic Family for all the Signals in the SignalExpression using one of the LogicFamiliesEnum presettings. All DcLevel values are written.
Top

Remarks

For more information, see the DcLevels Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | QueryDcLevels | Gets all the DcLevel values for a Signal. If the DcLevel was created from STIL or if it was altered using SetDcLevels, the logic family value will return custom.
Public method | SetDcLevel | Sets an individual DcLevel value for all of the Signals in the SignalExpression. Calling this function will set the Logic Family to custom.
Public method | SetDcLevels | Sets all the DcLevel values for all the Signals in the SignalExpression. Calling this function will set the Logic Family to custom.
Public method | SetLogicFamily | Sets the Logic Family for all the Signals in the SignalExpression using one of the LogicFamiliesEnum presettings. All DcLevel values are written.
Top


Properties

 | Name | Description
Public property | Name | The name of the current DcLevels block.
Public property | Signals | Gets a comma-separated list of Signals for which levels have been defined for this DCLevels block.
Top


IKtMDsrDcLevels Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrDcLevels Interface
See Also

IKtMDsrDcLevels interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrDcLevels
C#
public interface IKtMDsrDcLevels
Visual C++
__interface IKtMDsrDcLevels

Properties

 | Name | Description
Public property | Count | Returns the number of DcLevel blocks defined.
Public property | Item | Returns the DcLevel block with the specified name.
Public property | Name | Returns the DcLevel name for the specified index.
Top

Methods

 | Name | Description
Public method | Add | Adds a DcLevel with the specified name.
Public method | Remove | Removes the DcLevel block with the specified name.
Top

Remarks

For more information on the DcLevels interface, see the DcLevels Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | Add | Adds a DcLevel with the specified name.
Public method | Remove | Removes the DcLevel block with the specified name.
Top


Properties

 | Name | Description
Public property | Count | Returns the number of DcLevel blocks defined.
Public property | Item | Returns the DcLevel block with the specified name.
Public property | Name | Returns the DcLevel name for the specified index.
Top


IKtMDsrInstrument Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrInstrument Interface
See Also

IKtMDsrInstrument interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrInstrument
C#
public interface IKtMDsrInstrument
Visual C++
__interface IKtMDsrInstrument

Properties

 | Name | Description
Public property | AutomaticCorrectionsNeeded | Returns True if the module requires that AutomaticCorrections be performed to guarantee specifications. This occurs if the current module temperature has deviated by more than 5 degrees C from the temperature at which the current corrections were made.
Public property | Identify | If True, this attribute causes an indicator LED on the front panel to flash. This assists in identifying the module being programmed. The special indication persists as long as the Boolean is True.
Public property | PatternCacheSize | Gets the current pattern cache size that was set with ConfigureMemory.
Public property | ReferenceClock | Pointer to the IKtMDsrInstrumentReferenceClock interface. This interface controls the source of the reference clock.
Public property | RemainingCache | Calculates and returns the amount of cache memory remaining and available for compiled patterns.
Public property | ResultSize | Result size as determined by ConfigureMemory.
Public property | Slot | The chassis slot number that the module occupies.
Public property | Temperature | Return the module temperature in degrees Celsius.
Top

Methods

 | Name | Description
Public method | AutomaticCorrectionsExecute | Runs an algorithm which automatically calculates corrections for the instrument. Before calling this function, any external fixtures (inputs to the instrument) must be disconnected from the instrument.
Public method | AvailableVersions | Returns a comma-delimited string specifying previous software revisions of the product. Any of the revisions returned by this method can be used in a call to the DowngradeFirmware method.
Public method | ClearCache | Clears all downloaded patterns in the cache. There must not be any active patterns or capture sites.
Public method | ConfigureMemory | Configures how memory is allocated between storing compiled patterns and results. The memory size is specified for pattern compilation; the return value is the amount of memory available for results.
Public method | DowngradeFirmware | Downgrades the instrument firmware to the firmware used with an earlier version of the product software.
Public method | QueryAuxiliaryOutputControl | Queries whether the specified auxiliary, open drain output pin on the module is currently grounded or in a high impedance state.
Public method | RemoveAllDynamicItems | Removes all of the STIL components, and inactivates any active sites on the instrument.
Public method | SetAuxiliaryOutputControl | Writes the logical value to one of the four auxiliary, open drain output pins on the module. The pins are numbered 0-3. Writing 1 sets the pin to its high impedance state. Writing zero sets the pin to ground.
Top

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | AutomaticCorrectionsExecute | Runs an algorithm which automatically calculates corrections for the instrument. Before calling this function, any external fixtures (inputs to the instrument) must be disconnected from the instrument.
Public method | AvailableVersions | Returns a comma-delimited string specifying previous software revisions of the product. Any of the revisions returned by this method can be used in a call to the DowngradeFirmware method.
Public method | ClearCache | Clears all downloaded patterns in the cache. There must not be any active patterns or capture sites.
Public method | ConfigureMemory | Configures how memory is allocated between storing compiled patterns and results. The memory size is specified for pattern compilation; the return value is the amount of memory available for results.
Public method | DowngradeFirmware | Downgrades the instrument firmware to the firmware used with an earlier version of the product software.
Public method | QueryAuxiliaryOutputControl | Queries whether the specified auxiliary, open drain output pin on the module is currently grounded or in a high impedance state.
Public method | RemoveAllDynamicItems | Removes all of the STIL components, and inactivates any active sites on the instrument.
Public method | SetAuxiliaryOutputControl | Writes the logical value to one of the four auxiliary, open drain output pins on the module. The pins are numbered 0-3. Writing 1 sets the pin to its high impedance state. Writing zero sets the pin to ground.
Top


Properties

 | Name | Description
Public property | AutomaticCorrectionsNeeded | Returns True if the module requires that AutomaticCorrections be performed to guarantee specifications. This occurs if the current module temperature has deviated by more than 5 degrees C from the temperature at which the current corrections were made.
Public property | Identify | If True, this attribute causes an indicator LED on the front panel to flash. This assists in identifying the module being programmed. The special indication persists as long as the Boolean is True.
Public property | PatternCacheSize | Gets the current pattern cache size that was set with ConfigureMemory.
Public property | ReferenceClock | Pointer to the IKtMDsrInstrumentReferenceClock interface. This interface controls the source of the reference clock.
Public property | RemainingCache | Calculates and returns the amount of cache memory remaining and available for compiled patterns.
Public property | ResultSize | Result size as determined by ConfigureMemory.
Public property | Slot | The chassis slot number that the module occupies.
Public property | Temperature | Return the module temperature in degrees Celsius.
Top


IKtMDsrInstrumentReferenceClock Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrInstrumentReferenceClock Interface
See Also

IKtMDsrInstrumentReferenceClock interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrInstrumentReferenceClock
C#
public interface IKtMDsrInstrumentReferenceClock
Visual C++
__interface IKtMDsrInstrumentReferenceClock

Properties

 | Name | Description
Public property | Frequency | This attribute returns the frequency, in Hz, specified with Configure.
Public property | LostLock | True indicates that the reference clock PLL has lost lock since it was last tested.
Public property | Source | This attribute returns the reference frequency source specified with Configure.
Top

Methods

 | Name | Description
Public method | Configure | This function specifies the reference clock source and frequency. The clock source can be selected from a system timing module, the DSR front panel, and the chassis backplane. The clock frequency can be either 10 MHz or 100 MHz, depending on the source.
Top

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | Configure | This function specifies the reference clock source and frequency. The clock source can be selected from a system timing module, the DSR front panel, and the chassis backplane. The clock frequency can be either 10 MHz or 100 MHz, depending on the source.
Top


Properties

 | Name | Description
Public property | Frequency | This attribute returns the frequency, in Hz, specified with Configure.
Public property | LostLock | True indicates that the reference clock PLL has lost lock since it was last tested.
Public property | Source | This attribute returns the reference frequency source specified with Configure.
Top


IKtMDsrMacroDef Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrMacroDef Interface
See Also

IKtMDsrMacroDef interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrMacroDef
C#
public interface IKtMDsrMacroDef
Visual C++
__interface IKtMDsrMacroDef

Properties

 | Name | Description
Public property | Macros | Returns a comma-separated list of Macros defined in this MacroDef.
Public property | Name | The name of the current MacroDef block.
Top

Methods

 | Name | Description
Public method | DefineMacro | Defines the patterns to be used as macros.
Top

Remarks

For more information, see the MacroDef (Macro) Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | DefineMacro | Defines the patterns to be used as macros.
Top


Properties

 | Name | Description
Public property | Macros | Returns a comma-separated list of Macros defined in this MacroDef.
Public property | Name | The name of the current MacroDef block.
Top


IKtMDsrMacroDefs Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrMacroDefs Interface
See Also

IKtMDsrMacroDefs interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrMacroDefs
C#
public interface IKtMDsrMacroDefs
Visual C++
__interface IKtMDsrMacroDefs

Properties

 | Name | Description
Public property | Count | Returns the number of MacroDef blocks defined.
Public property | Item | Returns the MacroDef block with the specified name.
Public property | Name | Returns the MacroDef name for the specified index.
Top

Methods

 | Name | Description
Public method | Add | Adds a MacroDef block of the specified name.
Public method | Remove | Removes the MacroDef block with the specified name.
Top

Remarks

For more information on the MacroDef interface, see the MacroDef (Macro) Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | Add | Adds a MacroDef block of the specified name.
Public method | Remove | Removes the MacroDef block with the specified name.
Top


Properties

 | Name | Description
Public property | Count | Returns the number of MacroDef blocks defined.
Public property | Item | Returns the MacroDef block with the specified name.
Public property | Name | Returns the MacroDef name for the specified index.
Top


IKtMDsrModule Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModule Interface
See Also

IKtMDsrModule interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrModule
C#
public interface IKtMDsrModule
Visual C++
__interface IKtMDsrModule

Properties

 | Name | Description
Public property | Calibration | Pointer to the IKtMDsrModuleCalibration interface.
Public property | Identify | Flashes the light on the front of the module.
Public property | Nonvolatile | Pointer to the IKtMDsrModuleNonvolatile interface.
Public property | Options | Read Only - A comma separated list of the options installed in the module.
Public property | SerialNumber | Read Only - Serial number of the module.
Public property | Slot | Read Only - The chassis slot the module occupies.
Public property | Temperature | Read Only - Returns the module temperature in degrees Celsius.
Top

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Properties

 | Name | Description
Public property | Calibration | Pointer to the IKtMDsrModuleCalibration interface.
Public property | Identify | Flashes the light on the front of the module.
Public property | Nonvolatile | Pointer to the IKtMDsrModuleNonvolatile interface.
Public property | Options | Read Only - A comma separated list of the options installed in the module.
Public property | SerialNumber | Read Only - Serial number of the module.
Public property | Slot | Read Only - The chassis slot the module occupies.
Public property | Temperature | Read Only - Returns the module temperature in degrees Celsius.
Top


IKtMDsrModuleCalibration Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModuleCalibration Interface
See Also

IKtMDsrModuleCalibration interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrModuleCalibration
C#
public interface IKtMDsrModuleCalibration
Visual C++
__interface IKtMDsrModuleCalibration

Properties

 | Name | Description
Public property | AdjustmentInformation | Read Only - A multi-line list of calibration adjustment information. Each system with this module that a system calibration has been performed with will generate a line that includes the calibration date and instrument identifier.
Public property | DueDate | Read Only - The computed date of the next required module calibration date. If the module is not subject to periodic calibration, this returns "n/a". If the module has not been calibrated, this returns "unknown". If the module is calibrated, this returns a date formatted for the current locale.
Public property | Status | Read Only - This property indicates the calibration status of the module. The status is determined by comparing the (module calibration due date - cal due reminder value) to the current date.
Public property | VerificationInformation | Read Only - A multi-line list of calibration verification information. Each system that the module calibration has been verified with will generate a line that includes the calibration date and instrument identifier.
Top

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Properties

 | Name | Description
Public property | AdjustmentInformation | Read Only - A multi-line list of calibration adjustment information. Each system with this module that a system calibration has been performed with will generate a line that includes the calibration date and instrument identifier.
Public property | DueDate | Read Only - The computed date of the next required module calibration date. If the module is not subject to periodic calibration, this returns "n/a". If the module has not been calibrated, this returns "unknown". If the module is calibrated, this returns a date formatted for the current locale.
Public property | Status | Read Only - This property indicates the calibration status of the module. The status is determined by comparing the (module calibration due date - cal due reminder value) to the current date.
Public property | VerificationInformation | Read Only - A multi-line list of calibration verification information. Each system that the module calibration has been verified with will generate a line that includes the calibration date and instrument identifier.
Top


IKtMDsrModuleNonvolatile Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModuleNonvolatile Interface
See Also

IKtMDsrModuleNonvolatile interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrModuleNonvolatile
C#
public interface IKtMDsrModuleNonvolatile
Visual C++
__interface IKtMDsrModuleNonvolatile

Properties

 | Name | Description
Public property | AssetNumber |
Public property | CalDueReminder | The "reminder" period, in days, prior to any calibration due. Range 0..1000 days. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Public property | EnableInstrumentCalWarnings | Enable/disable of instrument cal checks/warnings. If this value is true and module calibration date + ModuleCalInterval is close or past, then a warning will be generated. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Public property | EnableModuleCalWarnings | Enable/disable of module cal checks/warnings. If this value is true and module calibration date + ModuleCalInterval is close or past, then a warning will be generated. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Public property | EnablePeriodicCal | Enable/disable of "subject to periodic cal". If this value is false, no checks of cal dates/intervals should be done and the SFP should display "Not subject to periodic cal". Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Public property | InstrumentCalInterval | The instrument (multi-module) calibration interval in days. Range 1..10000 days. Checks for "cal due" are based on the instrument's calibration date (set by Keysight manufacturing/service) + InstrumentCalInterval. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Public property | ModuleCalInterval | The module calibration interval in days. Range 1..10000 days. Checks for "cal due" are based on the module's calibration date (set by Keysight manufacturing/service) + ModuleCalInterval. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Public property | Passphrase | A passphrase used to protect various values in Nonvolatile (see below). Passphrase must be provided to Write if any of these values have changed. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Public property | SystemIdentification | A persistent arbitrary string with a maximum length of 32 characters nominally intended to provide a user customizable method to distinguish modules. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Top

Methods

 | Name | Description
Public method | Clear | Clears/discards any changes to cached values and resets cached values to the current nonvolatile settings.
Public method | Write | Writes all cached values from the System.Nonvolatile.Item interface to nonvolatile memory. If certain values have changed (see below) the current Passphrase must be supplied to Write.
Top

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | Clear | Clears/discards any changes to cached values and resets cached values to the current nonvolatile settings.
Public method | Write | Writes all cached values from the System.Nonvolatile.Item interface to nonvolatile memory. If certain values have changed (see below) the current Passphrase must be supplied to Write.
Top


Properties

 | Name | Description
Public property | AssetNumber |
Public property | CalDueReminder | The "reminder" period, in days, prior to any calibration due. Range 0..1000 days. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Public property | EnableInstrumentCalWarnings | Enable/disable of instrument cal checks/warnings. If this value is true and module calibration date + ModuleCalInterval is close or past, then a warning will be generated. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Public property | EnableModuleCalWarnings | Enable/disable of module cal checks/warnings. If this value is true and module calibration date + ModuleCalInterval is close or past, then a warning will be generated. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Public property | EnablePeriodicCal | Enable/disable of "subject to periodic cal". If this value is false, no checks of cal dates/intervals should be done and the SFP should display "Not subject to periodic cal". Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Public property | InstrumentCalInterval | The instrument (multi-module) calibration interval in days. Range 1..10000 days. Checks for "cal due" are based on the instrument's calibration date (set by Keysight manufacturing/service) + InstrumentCalInterval. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Public property | ModuleCalInterval | The module calibration interval in days. Range 1..10000 days. Checks for "cal due" are based on the module's calibration date (set by Keysight manufacturing/service) + ModuleCalInterval. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Public property | Passphrase | A passphrase used to protect various values in Nonvolatile (see below). Passphrase must be provided to Write if any of these values have changed. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Public property | SystemIdentification | A persistent arbitrary string with a maximum length of 32 characters nominally intended to provide a user customizable method to distinguish modules. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Top


IKtMDsrModules Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrModules Interface
See Also

IKtMDsrModules interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrModules
C#
public interface IKtMDsrModules
Visual C++
__interface IKtMDsrModules

Properties

 | Name | Description
Public property | Count | Returns the number of modules.
Public property | Item | Pointer to the IKtMDsrModule interface.
Public property | Name | Returns the module name for a given index.
Top

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Properties

 | Name | Description
Public property | Count | Returns the number of modules.
Public property | Item | Pointer to the IKtMDsrModule interface.
Public property | Name | Returns the module name for a given index.
Top


IKtMDsrPattern Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPattern Interface
See Also

IKtMDsrPattern interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrPattern
C#
public interface IKtMDsrPattern
Visual C++
__interface IKtMDsrPattern

Properties

 | Name | Description
Public property | HighestPatternIndex | The highest pattern index currently defined. For best efficiency, the next pattern element should be defined at this index+1.
Public property | Name | The Name of this Pattern block.
Public property | PatternLength | The current length of the pattern. First index is 1. Note that when loading a file, this is the highest element position in the pattern.
Public property | Signals | Returns a comma-separated list of all signals in this pattern.
Top

Methods

 | Name | Description
Public method | CrossReference | Places a CrossReference instruction in the pattern at the specified Index. CrossReferences are used to relate the result from the pattern execution to a specific line in the pattern. The Reference string parameter can also be used in marker generation.
Public method | DeleteElementAtIndex | Deletes the Pattern element at the specified Index.
Public method | GoTo | Places a GoTo instruction in the pattern at the specified Index. GoTo causes execution to transfer to the specified label within this pattern.
Public method | LabelElement | Inserts a label on the vector at the specified Index. The index must identify a vector. Labels are used to identify destinations for GoTo statements and to identify locations in a compiled pattern for PatternSite functions that modify the pattern.
Public method | Loop | Places an Loop instruction in the pattern at the specified Index. Loop causes a sequence of instructions to be executed the specified number of times.
Public method | Macro | Places a Macro invocation in the pattern at the specified Index. Macro invocation takes no time.
Public method | MacroWithSubstitution | Inserts a Macro expansion at this point, with STIL style parameter substitution.
Public method | MatchLoop | The loop defined by Index and FinalIndex is executed until each Compare operation in the loop returns true or the LoopCount (if non-zero) is exceeded.
Public method | QueryLineType | Returns information about the pattern element at the given index. This is used to read a pattern that has been defined.
Public method | QueryVector | Provides a way to read back the pattern information for lines that are Vectors. Returns an error if a Vector is not defined at this Index (for instance, if it is outside of the pattern range, or if this Index contains a control instruction).
Public method | Shift | Adds a Shift block to a Macro. If this pattern is executed directly (instead of being used as a macro), this will generate an error upon compilation.
Public method | Vector | Specifies the waveform characters for the specified signals at the specified index. This function may be called multiple times for a single index, providing definitions for various signals with each call.
Public method | WatchLoop | Adds a WatchLoop block to a pattern. The DSR will execute the WatchLoop repeatedly until the specified Trigger is received. The only instructions that can be within a WatchLoop are Vectors.
Top

Remarks

For more information, see the Patterns Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | CrossReference | Places a CrossReference instruction in the pattern at the specified Index. CrossReferences are used to relate the result from the pattern execution to a specific line in the pattern. The Reference string parameter can also be used in marker generation.
Public method | DeleteElementAtIndex | Deletes the Pattern element at the specified Index.
Public method | GoTo | Places a GoTo instruction in the pattern at the specified Index. GoTo causes execution to transfer to the specified label within this pattern.
Public method | LabelElement | Inserts a label on the vector at the specified Index. The index must identify a vector. Labels are used to identify destinations for GoTo statements and to identify locations in a compiled pattern for PatternSite functions that modify the pattern.
Public method | Loop | Places an Loop instruction in the pattern at the specified Index. Loop causes a sequence of instructions to be executed the specified number of times.
Public method | Macro | Places a Macro invocation in the pattern at the specified Index. Macro invocation takes no time.
Public method | MacroWithSubstitution | Inserts a Macro expansion at this point, with STIL style parameter substitution.
Public method | MatchLoop | The loop defined by Index and FinalIndex is executed until each Compare operation in the loop returns true or the LoopCount (if non-zero) is exceeded.
Public method | QueryLineType | Returns information about the pattern element at the given index. This is used to read a pattern that has been defined.
Public method | QueryVector | Provides a way to read back the pattern information for lines that are Vectors. Returns an error if a Vector is not defined at this Index (for instance, if it is outside of the pattern range, or if this Index contains a control instruction).
Public method | Shift | Adds a Shift block to a Macro. If this pattern is executed directly (instead of being used as a macro), this will generate an error upon compilation.
Public method | Vector | Specifies the waveform characters for the specified signals at the specified index. This function may be called multiple times for a single index, providing definitions for various signals with each call.
Public method | WatchLoop | Adds a WatchLoop block to a pattern. The DSR will execute the WatchLoop repeatedly until the specified Trigger is received. The only instructions that can be within a WatchLoop are Vectors.
Top


Properties

 | Name | Description
Public property | HighestPatternIndex | The highest pattern index currently defined. For best efficiency, the next pattern element should be defined at this index+1.
Public property | Name | The Name of this Pattern block.
Public property | PatternLength | The current length of the pattern. First index is 1. Note that when loading a file, this is the highest element position in the pattern.
Public property | Signals | Returns a comma-separated list of all signals in this pattern.
Top


IKtMDsrPatternBurst Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternBurst Interface
See Also

IKtMDsrPatternBurst interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrPatternBurst
C#
public interface IKtMDsrPatternBurst
Visual C++
__interface IKtMDsrPatternBurst

Properties

 | Name | Description
Public property | MacroDefs | Name of the MacroDefs block to use when compiling the macro definitions in this PatternBurst.
Public property | Name | The Name of the current PatternBurst block.
Public property | Patterns | Comma-separated list of Pattern blocks or other PatternBursts to execute when this Pattern Burst is executed. The patterns are executed in the order specified and any macros are compiled using the MacroDefs block in this PatternBurst.
Top

Remarks

For more information on the PatternBurst interface, see the PatternBurst Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Properties

 | Name | Description
Public property | MacroDefs | Name of the MacroDefs block to use when compiling the macro definitions in this PatternBurst.
Public property | Name | The Name of the current PatternBurst block.
Public property | Patterns | Comma-separated list of Pattern blocks or other PatternBursts to execute when this Pattern Burst is executed. The patterns are executed in the order specified and any macros are compiled using the MacroDefs block in this PatternBurst.
Top


IKtMDsrPatternBursts Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternBursts Interface
See Also

IKtMDsrPatternBursts interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrPatternBursts
C#
public interface IKtMDsrPatternBursts
Visual C++
__interface IKtMDsrPatternBursts

Properties

 | Name | Description
Public property | Count | Returns the number of PatternBurst blocks defined.
Public property | Item | Returns the PatternBlock block with the specified name.
Public property | Name | Returns the PatternBurst name for the specified index.
Top

Methods

 | Name | Description
Public method | Add | Adds a PatternBurst block of the specified name.
Public method | Remove | Removes the PatternBurst block with the specified name.
Top

Remarks

For more information, see the PatternBurst Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | Add | Adds a PatternBurst block of the specified name.
Public method | Remove | Removes the PatternBurst block with the specified name.
Top


Properties

 | Name | Description
Public property | Count | Returns the number of PatternBurst blocks defined.
Public property | Item | Returns the PatternBlock block with the specified name.
Public property | Name | Returns the PatternBurst name for the specified index.
Top


IKtMDsrPatternExec Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternExec Interface
See Also

IKtMDsrPatternExec interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrPatternExec
C#
public interface IKtMDsrPatternExec
Visual C++
__interface IKtMDsrPatternExec

Properties

 | Name | Description
Public property | DcLevels | DcLevels block to be used by the PatternExec.
Public property | Name | The Name of the current PatternExec block.
Public property | PatternBurst | PatternBurst block to be used by the PatternExec.
Top

Remarks

For more information on the PatternExec interface, see the PatternExec Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Properties

 | Name | Description
Public property | DcLevels | DcLevels block to be used by the PatternExec.
Public property | Name | The Name of the current PatternExec block.
Public property | PatternBurst | PatternBurst block to be used by the PatternExec.
Top


IKtMDsrPatternExecs Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternExecs Interface
See Also

IKtMDsrPatternExecs interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrPatternExecs
C#
public interface IKtMDsrPatternExecs
Visual C++
__interface IKtMDsrPatternExecs

Properties

 | Name | Description
Public property | Count | Returns the number of PatternExec blocks defined.
Public property | Item | Returns the PatternExec block with the specified name.
Public property | Name | Returns the PatternExec name for the specified index.
Top

Methods

 | Name | Description
Public method | Add | Adds a PatternExec block of the specified name.
Public method | Remove | Removes the PatternExec block with the specified name.
Top

Remarks

For more information, see the PatternExec Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | Add | Adds a PatternExec block of the specified name.
Public method | Remove | Removes the PatternExec block with the specified name.
Top


Properties

 | Name | Description
Public property | Count | Returns the number of PatternExec blocks defined.
Public property | Item | Returns the PatternExec block with the specified name.
Public property | Name | Returns the PatternExec name for the specified index.
Top


IKtMDsrPatternFile Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternFile Interface
See Also

IKtMDsrPatternFile interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrPatternFile
C#
public interface IKtMDsrPatternFile
Visual C++
__interface IKtMDsrPatternFile

Properties

 | Name | Description
Public property | ErrorCount | Returns the number of parsing errors from the last Load. The OpenXML and BulkData parsers may return multiple errros. The STIL parser terminates on the first error, so it always returns 0 or 1 for STIL. Use GetNextError to read the errors.
Top

Methods

 | Name | Description
Public method | GetNextError | Returns the next parsing error. If there are no errors, returns "No Error."
Public method | Load | This function loads a STIL, OpenXml, or bulk data file and creates objects based on the content of the file. If an element is loaded and there is already one by that name in the same namespace, the new element will replace the original one.
Public method | LoadAndUpdateOpenXml | This function loads an OpenXml file and creates STIL components based on the content of the file. The STIL components created are dependent on the file contents. Syntax errors are written to a new sheet in the original OpenXml file.
Public method | LoadBulkData | Loads the data file into a pattern of a specified name using the bulk data format.
Public method | LoadBulkDataDeferred | Loads a Pattern directly into on board memory.
Public method | StoreStil | Stores all components loaded to a STIL file. Note that it does not preserve comments or annotations from the original file.
Top

Remarks

For more information on the PatternFile interface, see the PatternFile Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | GetNextError | Returns the next parsing error. If there are no errors, returns "No Error."
Public method | Load | This function loads a STIL, OpenXml, or bulk data file and creates objects based on the content of the file. If an element is loaded and there is already one by that name in the same namespace, the new element will replace the original one.
Public method | LoadAndUpdateOpenXml | This function loads an OpenXml file and creates STIL components based on the content of the file. The STIL components created are dependent on the file contents. Syntax errors are written to a new sheet in the original OpenXml file.
Public method | LoadBulkData | Loads the data file into a pattern of a specified name using the bulk data format.
Public method | LoadBulkDataDeferred | Loads a Pattern directly into on board memory.
Public method | StoreStil | Stores all components loaded to a STIL file. Note that it does not preserve comments or annotations from the original file.
Top


Properties

 | Name | Description
Public property | ErrorCount | Returns the number of parsing errors from the last Load. The OpenXML and BulkData parsers may return multiple errros. The STIL parser terminates on the first error, so it always returns 0 or 1 for STIL. Use GetNextError to read the errors.
Top


IKtMDsrPatterns Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatterns Interface
See Also

IKtMDsrPatterns interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrPatterns
C#
public interface IKtMDsrPatterns
Visual C++
__interface IKtMDsrPatterns

Properties

 | Name | Description
Public property | Count | Returns the number of Pattern blocks defined.
Public property | Item | Returns the Pattern block with the specified name.
Public property | Name | Returns the Pattern name for the specified index.
Top

Methods

 | Name | Description
Public method | Add | Adds a Pattern block of the specified name.
Public method | Remove | Removes the Pattern block with the specified name.
Top

Remarks

For more information on the Patterns interface, see the Patterns Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | Add | Adds a Pattern block of the specified name.
Public method | Remove | Removes the Pattern block with the specified name.
Top


Properties

 | Name | Description
Public property | Count | Returns the number of Pattern blocks defined.
Public property | Item | Returns the Pattern block with the specified name.
Public property | Name | Returns the Pattern name for the specified index.
Top


IKtMDsrPatternSite Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite Interface
See Also

IKtMDsrPatternSite interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrPatternSite
C#
public interface IKtMDsrPatternSite
Visual C++
__interface IKtMDsrPatternSite

Properties

 | Name | Description
Public property | EdgePlacementResolution | Returns the edge placement resolution that was used when this pattern was activated. If EdgePlacementResolutionAuto was True at the time of activation, the return value is the value selected by the DSR.
Public property | EdgePlacementResolutionAuto | Returns a Boolean that indicates whether this site was activated with EdgePlacementResolutionAuto.
Public property | ExecutionErrors | Gets a comma-separated string containing errors that occurred during pattern execution. This should be consulted if the ExecutionResult returns an error.
Public property | ExecutionResult | Gets a Boolean that indicates whether there are any results logged from the previous pattern execution. True indicates there are results.
Public property | ExecutionState | Returns the state of the pattern execution hardware. Possible values are Stopped, Running, WaitingForTrigger, Complete, Aborted, and Error.
Public property | Name | Gets the name of this pattern site.
Public property | ResultCount | Gets the number of elements in the result from the last pattern execution.
Public property | ResultWidth | Gets the width of the result, that is, the number of bits in each element of the response. The result width is established by the highest ordinal assigned to a response signal in the site definition.
Top

Methods

 | Name | Description
Public method | Abort | Asynchronously stops the execution of a pattern. The pattern aborts and discards any intermediate results.
Public method | FetchLineInformation | Gets the information associated with the specified index in the result array.
Public method | FetchResultByte | Gets an array of results and returns them as bytes. The FetchResultByte function works for sites where all ordinals are less than 8 (0-7).
Public method | FetchResultInt16 | Gets results in an array of 16-bit integers. The FetchResultInt16 function works for sites with ordinals less than 16 (0-15).
Public method | FetchResultSegmentByte | Gets the specified segment of the result as an array of bytes. The FetchResultSegmentByte function works for sites with ordinals less than 8 (0-7).
Public method | FetchResultSegmentInt16 | Returns the specified segment of the results as an array of 16-bit integers. The FetchResultSegmentInt16 function works for sites with ordinals less than 16 (0-15).
Public method | FetchTrinaryResult | Returns an array of captured results. The 32 bits for each element contain two bits for each ordinal (0 - 15); this indicates the actual state of the DUT response on logged compares.
Public method | FetchTrinaryResultSegment | Returns an array of captured results. The 32 bits for each element contain two bits for each ordinal (0 - 15); this indicates the actual state of the DUT response on logged compares.
Public method | Initiate | Begin the execution of the pattern. If Trigger Mode is set to Immediate, the pattern will begin executing immediately. If Trigger Mode is set to Trigger, the hardware will fully initialize, then it will wait for a trigger event before proceeding.
Public method | ReevaluateDcLevels | Takes a list of variable expressions separated by semicolons (;), evaluates them, and then recalculates the DcLevels values based on the new values of the variables.
Public method | ReevaluateVariables | Takes a list of variable expressions separated by semicolons (;), evaluates them, and then recalculates the values in the WaveformTables based on the new values of the variables.
Public method | SaveResultsToFile | Saves the results and all of the line information, as text, to the specified file. The individual elements are comma-separated.
Public method | SetDcLevel | Specifies a single DC level to apply on the given signal within this pattern. SetDcLevel cannot be called while the pattern is executing.
Public method | SetSignal | Changes a single signal over a series of clock periods in the compiled waveform. That is, it writes the characters of the provided string into the designated signal in subsequent vectors.
Public method | SetVector | Overwrites the vector data at the specified location in a compiled pattern.
Public method | SetWaveformTable | Overwrites the Waveform Table at the specified location in the compiled pattern.
Public method | WaitForAcquisitionComplete | This function waits for the pattern to complete execution before it returns. If a pattern has not been initiated or if it has already completed, the function will return immediately.
Top

Remarks

For more information, see the PatternSites Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | Abort | Asynchronously stops the execution of a pattern. The pattern aborts and discards any intermediate results.
Public method | FetchLineInformation | Gets the information associated with the specified index in the result array.
Public method | FetchResultByte | Gets an array of results and returns them as bytes. The FetchResultByte function works for sites where all ordinals are less than 8 (0-7).
Public method | FetchResultInt16 | Gets results in an array of 16-bit integers. The FetchResultInt16 function works for sites with ordinals less than 16 (0-15).
Public method | FetchResultSegmentByte | Gets the specified segment of the result as an array of bytes. The FetchResultSegmentByte function works for sites with ordinals less than 8 (0-7).
Public method | FetchResultSegmentInt16 | Returns the specified segment of the results as an array of 16-bit integers. The FetchResultSegmentInt16 function works for sites with ordinals less than 16 (0-15).
Public method | FetchTrinaryResult | Returns an array of captured results. The 32 bits for each element contain two bits for each ordinal (0 - 15); this indicates the actual state of the DUT response on logged compares.
Public method | FetchTrinaryResultSegment | Returns an array of captured results. The 32 bits for each element contain two bits for each ordinal (0 - 15); this indicates the actual state of the DUT response on logged compares.
Public method | Initiate | Begin the execution of the pattern. If Trigger Mode is set to Immediate, the pattern will begin executing immediately. If Trigger Mode is set to Trigger, the hardware will fully initialize, then it will wait for a trigger event before proceeding.
Public method | ReevaluateDcLevels | Takes a list of variable expressions separated by semicolons (;), evaluates them, and then recalculates the DcLevels values based on the new values of the variables.
Public method | ReevaluateVariables | Takes a list of variable expressions separated by semicolons (;), evaluates them, and then recalculates the values in the WaveformTables based on the new values of the variables.
Public method | SaveResultsToFile | Saves the results and all of the line information, as text, to the specified file. The individual elements are comma-separated.
Public method | SetDcLevel | Specifies a single DC level to apply on the given signal within this pattern. SetDcLevel cannot be called while the pattern is executing.
Public method | SetSignal | Changes a single signal over a series of clock periods in the compiled waveform. That is, it writes the characters of the provided string into the designated signal in subsequent vectors.
Public method | SetVector | Overwrites the vector data at the specified location in a compiled pattern.
Public method | SetWaveformTable | Overwrites the Waveform Table at the specified location in the compiled pattern.
Public method | WaitForAcquisitionComplete | This function waits for the pattern to complete execution before it returns. If a pattern has not been initiated or if it has already completed, the function will return immediately.
Top


Properties

 | Name | Description
Public property | EdgePlacementResolution | Returns the edge placement resolution that was used when this pattern was activated. If EdgePlacementResolutionAuto was True at the time of activation, the return value is the value selected by the DSR.
Public property | EdgePlacementResolutionAuto | Returns a Boolean that indicates whether this site was activated with EdgePlacementResolutionAuto.
Public property | ExecutionErrors | Gets a comma-separated string containing errors that occurred during pattern execution. This should be consulted if the ExecutionResult returns an error.
Public property | ExecutionResult | Gets a Boolean that indicates whether there are any results logged from the previous pattern execution. True indicates there are results.
Public property | ExecutionState | Returns the state of the pattern execution hardware. Possible values are Stopped, Running, WaitingForTrigger, Complete, Aborted, and Error.
Public property | Name | Gets the name of this pattern site.
Public property | ResultCount | Gets the number of elements in the result from the last pattern execution.
Public property | ResultWidth | Gets the width of the result, that is, the number of bits in each element of the response. The result width is established by the highest ordinal assigned to a response signal in the site definition.
Top


IKtMDsrPatternSite2 Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSite2 Interface
See Also

IKtMDsrPatternSite2 interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrPatternSite2
   Inherits IKtMDsrPatternSite
C#
public interface IKtMDsrPatternSite2 : IKtMDsrPatternSite
Visual C++
__interface IKtMDsrPatternSite2 : IKtMDsrPatternSite

Properties

 | Name | Description
Public property | EdgePlacementResolution | Returns the edge placement resolution that was used when this pattern was activated. If EdgePlacementResolutionAuto was True at the time of activation, the return value is the value selected by the DSR. (Inherited from IKtMDsrPatternSite.)
Public property | EdgePlacementResolutionAuto | Returns a Boolean that indicates whether this site was activated with EdgePlacementResolutionAuto. (Inherited from IKtMDsrPatternSite.)
Public property | ExecutionErrors | Gets a comma-separated string containing errors that occurred during pattern execution. This should be consulted if the ExecutionResult returns an error. (Inherited from IKtMDsrPatternSite.)
Public property | ExecutionResult | Gets a Boolean that indicates whether there are any results logged from the previous pattern execution. True indicates there are results. (Inherited from IKtMDsrPatternSite.)
Public property | ExecutionState | Returns the state of the pattern execution hardware. Possible values are Stopped, Running, WaitingForTrigger, Complete, Aborted, and Error. (Inherited from IKtMDsrPatternSite.)
Public property | Name | Gets the name of this pattern site. (Inherited from IKtMDsrPatternSite.)
Public property | ResultCount | Gets the number of elements in the result from the last pattern execution. (Inherited from IKtMDsrPatternSite.)
Public property | ResultWidth | Gets the width of the result, that is, the number of bits in each element of the response. The result width is established by the highest ordinal assigned to a response signal in the site definition. (Inherited from IKtMDsrPatternSite.)
Top

Methods

 | Name | Description
Public method | Abort | Asynchronously stops the execution of a pattern. The pattern aborts and discards any intermediate results. (Inherited from IKtMDsrPatternSite.)
Public method | FetchLineInformation | Gets the information associated with the specified index in the result array. (Inherited from IKtMDsrPatternSite.)
Public method | FetchResultByte | Gets an array of results and returns them as bytes. The FetchResultByte function works for sites where all ordinals are less than 8 (0-7). (Inherited from IKtMDsrPatternSite.)
Public method | FetchResultInt16 | Gets results in an array of 16-bit integers. The FetchResultInt16 function works for sites with ordinals less than 16 (0-15). (Inherited from IKtMDsrPatternSite.)
Public method | FetchResultSegmentByte | Gets the specified segment of the result as an array of bytes. The FetchResultSegmentByte function works for sites with ordinals less than 8 (0-7). (Inherited from IKtMDsrPatternSite.)
Public method | FetchResultSegmentInt16 | Returns the specified segment of the results as an array of 16-bit integers. The FetchResultSegmentInt16 function works for sites with ordinals less than 16 (0-15). (Inherited from IKtMDsrPatternSite.)
Public method | FetchResultSegmentWide | Returns the result as an array of 32-bit integers. It is only needed when the result data is wider than16 bits (Ordinals for results data are > 15).
Public method | FetchResultWide | Returns the result as an array of 32-bit integers. It is only needed when the result data is wider than16 bits (Ordinals for results data are > 15).
Public method | FetchTrinaryResult | Returns an array of captured results. The 32 bits for each element contain two bits for each ordinal (0 - 15); this indicates the actual state of the DUT response on logged compares. (Inherited from IKtMDsrPatternSite.)
Public method | FetchTrinaryResultSegment | Returns an array of captured results. The 32 bits for each element contain two bits for each ordinal (0 - 15); this indicates the actual state of the DUT response on logged compares. (Inherited from IKtMDsrPatternSite.)
Public method | FetchTrinaryResultSegmentWide | Returns a segment from the captured result as an array of 32-bit integers. Only needed when the result data is wider than 32 bits.
Public method | FetchTrinaryResultWide | Returns a segment from the captured result as an array of 32-bit integers. Only needed when the result data is wider than 32 bits.
Public method | Initiate | Begin the execution of the pattern. If Trigger Mode is set to Immediate, the pattern will begin executing immediately. If Trigger Mode is set to Trigger, the hardware will fully initialize, then it will wait for a trigger event before proceeding. (Inherited from IKtMDsrPatternSite.)
Public method | ReevaluateDcLevels | Takes a list of variable expressions separated by semicolons (;), evaluates them, and then recalculates the DcLevels values based on the new values of the variables. (Inherited from IKtMDsrPatternSite.)
Public method | ReevaluateVariables | Takes a list of variable expressions separated by semicolons (;), evaluates them, and then recalculates the values in the WaveformTables based on the new values of the variables. (Inherited from IKtMDsrPatternSite.)
Public method | SaveResultsToFile | Saves the results and all of the line information, as text, to the specified file. The individual elements are comma-separated. (Inherited from IKtMDsrPatternSite.)
Public method | SetDcLevel | Specifies a single DC level to apply on the given signal within this pattern. SetDcLevel cannot be called while the pattern is executing. (Inherited from IKtMDsrPatternSite.)
Public method | SetSignal | Changes a single signal over a series of clock periods in the compiled waveform. That is, it writes the characters of the provided string into the designated signal in subsequent vectors. (Inherited from IKtMDsrPatternSite.)
Public method | SetVector | Overwrites the vector data at the specified location in a compiled pattern. (Inherited from IKtMDsrPatternSite.)
Public method | SetWaveformTable | Overwrites the Waveform Table at the specified location in the compiled pattern. (Inherited from IKtMDsrPatternSite.)
Public method | WaitForAcquisitionComplete | This function waits for the pattern to complete execution before it returns. If a pattern has not been initiated or if it has already completed, the function will return immediately. (Inherited from IKtMDsrPatternSite.)
Top

Remarks

For more information, see the PatternSites Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | Abort | Asynchronously stops the execution of a pattern. The pattern aborts and discards any intermediate results. (Inherited from IKtMDsrPatternSite.)
Public method | FetchLineInformation | Gets the information associated with the specified index in the result array. (Inherited from IKtMDsrPatternSite.)
Public method | FetchResultByte | Gets an array of results and returns them as bytes. The FetchResultByte function works for sites where all ordinals are less than 8 (0-7). (Inherited from IKtMDsrPatternSite.)
Public method | FetchResultInt16 | Gets results in an array of 16-bit integers. The FetchResultInt16 function works for sites with ordinals less than 16 (0-15). (Inherited from IKtMDsrPatternSite.)
Public method | FetchResultSegmentByte | Gets the specified segment of the result as an array of bytes. The FetchResultSegmentByte function works for sites with ordinals less than 8 (0-7). (Inherited from IKtMDsrPatternSite.)
Public method | FetchResultSegmentInt16 | Returns the specified segment of the results as an array of 16-bit integers. The FetchResultSegmentInt16 function works for sites with ordinals less than 16 (0-15). (Inherited from IKtMDsrPatternSite.)
Public method | FetchResultSegmentWide | Returns the result as an array of 32-bit integers. It is only needed when the result data is wider than16 bits (Ordinals for results data are > 15).
Public method | FetchResultWide | Returns the result as an array of 32-bit integers. It is only needed when the result data is wider than16 bits (Ordinals for results data are > 15).
Public method | FetchTrinaryResult | Returns an array of captured results. The 32 bits for each element contain two bits for each ordinal (0 - 15); this indicates the actual state of the DUT response on logged compares. (Inherited from IKtMDsrPatternSite.)
Public method | FetchTrinaryResultSegment | Returns an array of captured results. The 32 bits for each element contain two bits for each ordinal (0 - 15); this indicates the actual state of the DUT response on logged compares. (Inherited from IKtMDsrPatternSite.)
Public method | FetchTrinaryResultSegmentWide | Returns a segment from the captured result as an array of 32-bit integers. Only needed when the result data is wider than 32 bits.
Public method | FetchTrinaryResultWide | Returns a segment from the captured result as an array of 32-bit integers. Only needed when the result data is wider than 32 bits.
Public method | Initiate | Begin the execution of the pattern. If Trigger Mode is set to Immediate, the pattern will begin executing immediately. If Trigger Mode is set to Trigger, the hardware will fully initialize, then it will wait for a trigger event before proceeding. (Inherited from IKtMDsrPatternSite.)
Public method | ReevaluateDcLevels | Takes a list of variable expressions separated by semicolons (;), evaluates them, and then recalculates the DcLevels values based on the new values of the variables. (Inherited from IKtMDsrPatternSite.)
Public method | ReevaluateVariables | Takes a list of variable expressions separated by semicolons (;), evaluates them, and then recalculates the values in the WaveformTables based on the new values of the variables. (Inherited from IKtMDsrPatternSite.)
Public method | SaveResultsToFile | Saves the results and all of the line information, as text, to the specified file. The individual elements are comma-separated. (Inherited from IKtMDsrPatternSite.)
Public method | SetDcLevel | Specifies a single DC level to apply on the given signal within this pattern. SetDcLevel cannot be called while the pattern is executing. (Inherited from IKtMDsrPatternSite.)
Public method | SetSignal | Changes a single signal over a series of clock periods in the compiled waveform. That is, it writes the characters of the provided string into the designated signal in subsequent vectors. (Inherited from IKtMDsrPatternSite.)
Public method | SetVector | Overwrites the vector data at the specified location in a compiled pattern. (Inherited from IKtMDsrPatternSite.)
Public method | SetWaveformTable | Overwrites the Waveform Table at the specified location in the compiled pattern. (Inherited from IKtMDsrPatternSite.)
Public method | WaitForAcquisitionComplete | This function waits for the pattern to complete execution before it returns. If a pattern has not been initiated or if it has already completed, the function will return immediately. (Inherited from IKtMDsrPatternSite.)
Top


IKtMDsrPatternSites Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSites Interface
See Also

IKtMDsrPatternSites interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrPatternSites
C#
public interface IKtMDsrPatternSites
Visual C++
__interface IKtMDsrPatternSites

Properties

 | Name | Description
Public property | ConditionalLoopFailureMode | Match loops and watch loops include a loop counter which, if expired, indicates that the loop has failed. This attribute selects what will happen when the loop counter expires (either stop execution or exit the loop and continue).
Public property | ConditionalLoopSuccessMode | Configures if the DSR will execute a MatchLoop at least one extra time after a successful loop, or if the MatchLoop will require no compares in the final few cycles of the loop.
Public property | Count | Returns the number of currently active sites.
Public property | EndBehavior | Sets the behavior of the signal lines upon completion of a pattern to either retain the last state of the signal lines from the last period or repeat the last waveform character of the last period.
Public property | ForceValidateEnable | If true, any WaveformTables compiled will perform force validation by adding a compare operation to validate a successful force on the last cycle of operations that include force operations.
Public property | Item | Pointer to the IKtMDsrPatternSite interface. The PatternSite interface has operations to control the execution of compiled patterns.
Public property | Name | Gets the site activated for pattern generation at a given index.
Public property | ResultBufferSize | Specifies the amount of memory, in bytes, to be reserved for results for this pattern. This memory is taken from the memory reserved for results using Instrument Configure Memory.
Public property | TriggerMode | The trigger mode determines whether the pattern begins executing immediately after it is initiated or whether it waits for a trigger event.
Public property | TriggerSource | Gets or sets the trigger source used to begin execution for this pattern after calling Initiate.
Public property | WhatToLog | Sets the compares to log during pattern execution (all compares; first failed compare; all failed compares). If "first failed compare" is selected, the first failure terminates the pattern execution.
Top

Methods

 | Name | Description
Public method | Activate | Activates a site for pattern operations using the specified PatternExec and with the specified EdgePlacementResolution. The pattern is compiled and downloaded to the pattern cache.
Public method | ActivateFromCache | Activates a previously-compiled PatternSite that has been saved in cache.
Public method | ActivatePattern | Activates a site for pattern operations. Parameters specify the site, pattern, waveform table, DcLevels, and EdgePlacementResolution. The pattern is compiled and downloaded to the pattern cache.
Public method | CompilePattern | Compiles the pattern components for the specified site and saves the compiled pattern to the specified destination (either a file or cache). The name will be used to refer to the site when it is later activated from cache.
Public method | CompilePatternExec | Compiles the components into a PatternSite and saves it to the specified destination (either a file or cache). The name will be used to later reference the PatternSite.
Public method | DownloadPatternToCache | Downloads the compiled pattern from the file system to the cache and assigns a name, CacheName, to the compiled pattern.
Public method | Inactivate | Releases the resources associated with this site. The state of the individual channels is not changed (that is, the channels are not disabled).
Public method | InactivateAndDisable | Releases the resources associated with this site. The individual channels are disabled.
Public method | ListCache | Returns a comma-separated list of PatternSites previously saved in cache, and the amount of memory each is using.
Top

Remarks

For more information on the PatternSites interface, see the PatternSites Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | Activate | Activates a site for pattern operations using the specified PatternExec and with the specified EdgePlacementResolution. The pattern is compiled and downloaded to the pattern cache.
Public method | ActivateFromCache | Activates a previously-compiled PatternSite that has been saved in cache.
Public method | ActivatePattern | Activates a site for pattern operations. Parameters specify the site, pattern, waveform table, DcLevels, and EdgePlacementResolution. The pattern is compiled and downloaded to the pattern cache.
Public method | CompilePattern | Compiles the pattern components for the specified site and saves the compiled pattern to the specified destination (either a file or cache). The name will be used to refer to the site when it is later activated from cache.
Public method | CompilePatternExec | Compiles the components into a PatternSite and saves it to the specified destination (either a file or cache). The name will be used to later reference the PatternSite.
Public method | DownloadPatternToCache | Downloads the compiled pattern from the file system to the cache and assigns a name, CacheName, to the compiled pattern.
Public method | Inactivate | Releases the resources associated with this site. The state of the individual channels is not changed (that is, the channels are not disabled).
Public method | InactivateAndDisable | Releases the resources associated with this site. The individual channels are disabled.
Public method | ListCache | Returns a comma-separated list of PatternSites previously saved in cache, and the amount of memory each is using.
Top


Properties

 | Name | Description
Public property | ConditionalLoopFailureMode | Match loops and watch loops include a loop counter which, if expired, indicates that the loop has failed. This attribute selects what will happen when the loop counter expires (either stop execution or exit the loop and continue).
Public property | ConditionalLoopSuccessMode | Configures if the DSR will execute a MatchLoop at least one extra time after a successful loop, or if the MatchLoop will require no compares in the final few cycles of the loop.
Public property | Count | Returns the number of currently active sites.
Public property | EndBehavior | Sets the behavior of the signal lines upon completion of a pattern to either retain the last state of the signal lines from the last period or repeat the last waveform character of the last period.
Public property | ForceValidateEnable | If true, any WaveformTables compiled will perform force validation by adding a compare operation to validate a successful force on the last cycle of operations that include force operations.
Public property | Item | Pointer to the IKtMDsrPatternSite interface. The PatternSite interface has operations to control the execution of compiled patterns.
Public property | Name | Gets the site activated for pattern generation at a given index.
Public property | ResultBufferSize | Specifies the amount of memory, in bytes, to be reserved for results for this pattern. This memory is taken from the memory reserved for results using Instrument Configure Memory.
Public property | TriggerMode | The trigger mode determines whether the pattern begins executing immediately after it is initiated or whether it waits for a trigger event.
Public property | TriggerSource | Gets or sets the trigger source used to begin execution for this pattern after calling Initiate.
Public property | WhatToLog | Sets the compares to log during pattern execution (all compares; first failed compare; all failed compares). If "first failed compare" is selected, the first failure terminates the pattern execution.
Top


IKtMDsrPatternSites2 Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPatternSites2 Interface
See Also

IKtMDsrPatternSites2 interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrPatternSites2
   Inherits IKtMDsrPatternSites
C#
public interface IKtMDsrPatternSites2 : IKtMDsrPatternSites
Visual C++
__interface IKtMDsrPatternSites2 : IKtMDsrPatternSites

Properties

 | Name | Description
Public property | ConditionalLoopFailureMode | Match loops and watch loops include a loop counter which, if expired, indicates that the loop has failed. This attribute selects what will happen when the loop counter expires (either stop execution or exit the loop and continue). (Inherited from IKtMDsrPatternSites.)
Public property | ConditionalLoopSuccessMode | Configures if the DSR will execute a MatchLoop at least one extra time after a successful loop, or if the MatchLoop will require no compares in the final few cycles of the loop. (Inherited from IKtMDsrPatternSites.)
Public property | Count | Returns the number of currently active sites. (Inherited from IKtMDsrPatternSites.)
Public property | EndBehavior | Sets the behavior of the signal lines upon completion of a pattern to either retain the last state of the signal lines from the last period or repeat the last waveform character of the last period. (Inherited from IKtMDsrPatternSites.)
Public property | ForceValidateEnable | If true, any WaveformTables compiled will perform force validation by adding a compare operation to validate a successful force on the last cycle of operations that include force operations. (Inherited from IKtMDsrPatternSites.)
Public property | Item | Pointer to the IKtMDsrPatternSite interface. The PatternSite interface has operations to control the execution of compiled patterns. (Inherited from IKtMDsrPatternSites.)
Public property | Item2 | Pointer to the IKtMDsrPatternSite interface. The PatternSite interface has operations to control the execution of compiled patterns.
Public property | Name | Gets the site activated for pattern generation at a given index. (Inherited from IKtMDsrPatternSites.)
Public property | ResultBufferSize | Specifies the amount of memory, in bytes, to be reserved for results for this pattern. This memory is taken from the memory reserved for results using Instrument Configure Memory. (Inherited from IKtMDsrPatternSites.)
Public property | TriggerMode | The trigger mode determines whether the pattern begins executing immediately after it is initiated or whether it waits for a trigger event. (Inherited from IKtMDsrPatternSites.)
Public property | TriggerSource | Gets or sets the trigger source used to begin execution for this pattern after calling Initiate. (Inherited from IKtMDsrPatternSites.)
Public property | WhatToLog | Sets the compares to log during pattern execution (all compares; first failed compare; all failed compares). If "first failed compare" is selected, the first failure terminates the pattern execution. (Inherited from IKtMDsrPatternSites.)
Top

Methods

 | Name | Description
Public method | Activate | Activates a site for pattern operations using the specified PatternExec and with the specified EdgePlacementResolution. The pattern is compiled and downloaded to the pattern cache. (Inherited from IKtMDsrPatternSites.)
Public method | ActivateFromCache | Activates a previously-compiled PatternSite that has been saved in cache. (Inherited from IKtMDsrPatternSites.)
Public method | ActivatePattern | Activates a site for pattern operations. Parameters specify the site, pattern, waveform table, DcLevels, and EdgePlacementResolution. The pattern is compiled and downloaded to the pattern cache. (Inherited from IKtMDsrPatternSites.)
Public method | CompilePattern | Compiles the pattern components for the specified site and saves the compiled pattern to the specified destination (either a file or cache). The name will be used to refer to the site when it is later activated from cache. (Inherited from IKtMDsrPatternSites.)
Public method | CompilePatternExec | Compiles the components into a PatternSite and saves it to the specified destination (either a file or cache). The name will be used to later reference the PatternSite. (Inherited from IKtMDsrPatternSites.)
Public method | DownloadPatternToCache | Downloads the compiled pattern from the file system to the cache and assigns a name, CacheName, to the compiled pattern. (Inherited from IKtMDsrPatternSites.)
Public method | Inactivate | Releases the resources associated with this site. The state of the individual channels is not changed (that is, the channels are not disabled). (Inherited from IKtMDsrPatternSites.)
Public method | InactivateAndDisable | Releases the resources associated with this site. The individual channels are disabled. (Inherited from IKtMDsrPatternSites.)
Public method | ListCache | Returns a comma-separated list of PatternSites previously saved in cache, and the amount of memory each is using. (Inherited from IKtMDsrPatternSites.)
Top

Remarks

For more information on the PatternSites interface, see the PatternSites Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Properties

 | Name | Description
Public property | ConditionalLoopFailureMode | Match loops and watch loops include a loop counter which, if expired, indicates that the loop has failed. This attribute selects what will happen when the loop counter expires (either stop execution or exit the loop and continue). (Inherited from IKtMDsrPatternSites.)
Public property | ConditionalLoopSuccessMode | Configures if the DSR will execute a MatchLoop at least one extra time after a successful loop, or if the MatchLoop will require no compares in the final few cycles of the loop. (Inherited from IKtMDsrPatternSites.)
Public property | Count | Returns the number of currently active sites. (Inherited from IKtMDsrPatternSites.)
Public property | EndBehavior | Sets the behavior of the signal lines upon completion of a pattern to either retain the last state of the signal lines from the last period or repeat the last waveform character of the last period. (Inherited from IKtMDsrPatternSites.)
Public property | ForceValidateEnable | If true, any WaveformTables compiled will perform force validation by adding a compare operation to validate a successful force on the last cycle of operations that include force operations. (Inherited from IKtMDsrPatternSites.)
Public property | Item | Pointer to the IKtMDsrPatternSite interface. The PatternSite interface has operations to control the execution of compiled patterns. (Inherited from IKtMDsrPatternSites.)
Public property | Item2 | Pointer to the IKtMDsrPatternSite interface. The PatternSite interface has operations to control the execution of compiled patterns.
Public property | Name | Gets the site activated for pattern generation at a given index. (Inherited from IKtMDsrPatternSites.)
Public property | ResultBufferSize | Specifies the amount of memory, in bytes, to be reserved for results for this pattern. This memory is taken from the memory reserved for results using Instrument Configure Memory. (Inherited from IKtMDsrPatternSites.)
Public property | TriggerMode | The trigger mode determines whether the pattern begins executing immediately after it is initiated or whether it waits for a trigger event. (Inherited from IKtMDsrPatternSites.)
Public property | TriggerSource | Gets or sets the trigger source used to begin execution for this pattern after calling Initiate. (Inherited from IKtMDsrPatternSites.)
Public property | WhatToLog | Sets the compares to log during pattern execution (all compares; first failed compare; all failed compares). If "first failed compare" is selected, the first failure terminates the pattern execution. (Inherited from IKtMDsrPatternSites.)
Top


IKtMDsrPpmuSite Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPpmuSite Interface
See Also

IKtMDsrPpmuSite interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrPpmuSite
C#
public interface IKtMDsrPpmuSite
Visual C++
__interface IKtMDsrPpmuSite

Properties

 | Name | Description
Public property | AverageMode | Controls the averaging performed for measurements. Configures whether the PPMU should perform simple averaging, perform averaging to noise reduction (reject power-line frequency noise), or omit averaging to return the highest speed measurements.
Public property | CurrentLimit | Returns the maximum current the module can produce on this channel based on the current settings.
Public property | ForceMode | Allows querying of the Force Mode. To set the ForceMode attribute, use the Force function or one of the Force and Measure functions.
Public property | Level | Returns the force level currently in use. To set the Level attribute, use the Force function or one of the Force and Measure functions.
Public property | Name | Returns the site block name for the specified index.
Public property | SettlingDelay | Specifies the delay, in seconds, between applying the Force and performing the measurement.
Top

Methods

 | Name | Description
Public method | Force | This function forces a current, voltage or shuts off the force function. No measurement is performed.
Public method | ForceCurrentMeasureCurrent | Function that forces the specified current and measures the actual current. Note that the ability to force the current depends on the system impedance.
Public method | ForceCurrentMeasureVoltage | Function that forces the specified current and measures the voltage.
Public method | ForceNothingMeasureVoltage | Stops any active forcing function (either current or voltage) and measures voltage.
Public method | ForceVoltageMeasureCurrent | Function that forces the specified voltage and measures the current.
Public method | ForceVoltageMeasureVoltage | Function that forces the specified voltage and measures the actual voltage. Note that the ability to force the voltage depends on the system impedance.
Top

Remarks

For more information, see the PpmuSites Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | Force | This function forces a current, voltage or shuts off the force function. No measurement is performed.
Public method | ForceCurrentMeasureCurrent | Function that forces the specified current and measures the actual current. Note that the ability to force the current depends on the system impedance.
Public method | ForceCurrentMeasureVoltage | Function that forces the specified current and measures the voltage.
Public method | ForceNothingMeasureVoltage | Stops any active forcing function (either current or voltage) and measures voltage.
Public method | ForceVoltageMeasureCurrent | Function that forces the specified voltage and measures the current.
Public method | ForceVoltageMeasureVoltage | Function that forces the specified voltage and measures the actual voltage. Note that the ability to force the voltage depends on the system impedance.
Top


Properties

 | Name | Description
Public property | AverageMode | Controls the averaging performed for measurements. Configures whether the PPMU should perform simple averaging, perform averaging to noise reduction (reject power-line frequency noise), or omit averaging to return the highest speed measurements.
Public property | CurrentLimit | Returns the maximum current the module can produce on this channel based on the current settings.
Public property | ForceMode | Allows querying of the Force Mode. To set the ForceMode attribute, use the Force function or one of the Force and Measure functions.
Public property | Level | Returns the force level currently in use. To set the Level attribute, use the Force function or one of the Force and Measure functions.
Public property | Name | Returns the site block name for the specified index.
Public property | SettlingDelay | Specifies the delay, in seconds, between applying the Force and performing the measurement.
Top


IKtMDsrPpmuSites Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrPpmuSites Interface
See Also

IKtMDsrPpmuSites interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrPpmuSites
C#
public interface IKtMDsrPpmuSites
Visual C++
__interface IKtMDsrPpmuSites

Properties

 | Name | Description
Public property | Count | Returns the number of sites that have been activated for PPMU operations.
Public property | Item | Returns a pointer to the IKtMDsrPpmuSite interface for the specified site.
Public property | Name | Returns the site activated for PPMU use for a given index.
Top

Methods

 | Name | Description
Public method | Activate | Activates a site for PPMU operations. Once activated, the site block name can be passed to the Item function to access PPMU functions for this site.
Public method | Inactivate | Releases PPMU resources associated with this site without altering the signals on the channels.
Public method | InactivateAndDisable | Releases PPMU resources associated with this site and places the channels into a high impedance state.
Top

Remarks

For more information on the PpmuSites interface, see the PpmuSites Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | Activate | Activates a site for PPMU operations. Once activated, the site block name can be passed to the Item function to access PPMU functions for this site.
Public method | Inactivate | Releases PPMU resources associated with this site without altering the signals on the channels.
Public method | InactivateAndDisable | Releases PPMU resources associated with this site and places the channels into a high impedance state.
Top


Properties

 | Name | Description
Public property | Count | Returns the number of sites that have been activated for PPMU operations.
Public property | Item | Returns a pointer to the IKtMDsrPpmuSite interface for the specified site.
Public property | Name | Returns the site activated for PPMU use for a given index.
Top


IKtMDsrSignal Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSignal Interface
See Also

IKtMDsrSignal interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrSignal
C#
public interface IKtMDsrSignal
Visual C++
__interface IKtMDsrSignal

Properties

 | Name | Description
Public property | Direction | Gets or sets the direction of this signal. The direction is relative to the DUT.
Public property | Name | The Name of the current Signal block.
Top

Remarks

For more information, see the Signals Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Properties

 | Name | Description
Public property | Direction | Gets or sets the direction of this signal. The direction is relative to the DUT.
Public property | Name | The Name of the current Signal block.
Top


IKtMDsrSignalGroup Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSignalGroup Interface
See Also

IKtMDsrSignalGroup interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrSignalGroup
C#
public interface IKtMDsrSignalGroup
Visual C++
__interface IKtMDsrSignalGroup

Properties

 | Name | Description
Public property | Name | The Name of the current SignalGroup block.
Public property | Signals | Sets the list of Signals to use for this SignalGroup. To add multiple signals at the same time, they should be defined using conventional STIL signal-reference-expression syntax. For instance "Sig1+Sig2+Bus[0..7]".
Top

Remarks

For more information, see the SignalGroups Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Properties

 | Name | Description
Public property | Name | The Name of the current SignalGroup block.
Public property | Signals | Sets the list of Signals to use for this SignalGroup. To add multiple signals at the same time, they should be defined using conventional STIL signal-reference-expression syntax. For instance "Sig1+Sig2+Bus[0..7]".
Top


IKtMDsrSignalGroups Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSignalGroups Interface
See Also

IKtMDsrSignalGroups interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrSignalGroups
C#
public interface IKtMDsrSignalGroups
Visual C++
__interface IKtMDsrSignalGroups

Properties

 | Name | Description
Public property | Count | Returns the number of SignalGroup blocks.
Public property | Item | Returns the SignalGroup block with the specified name.
Public property | Name | Returns the SignalGroup name for the specified index.
Top

Methods

 | Name | Description
Public method | Add | Adds a SignalGroup block of the specified name.
Public method | Remove | Removes the SignalGroup block with the specified name.
Top

Remarks

For more information on the SignalGroups interface, see the SignalGroups Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | Add | Adds a SignalGroup block of the specified name.
Public method | Remove | Removes the SignalGroup block with the specified name.
Top


Properties

 | Name | Description
Public property | Count | Returns the number of SignalGroup blocks.
Public property | Item | Returns the SignalGroup block with the specified name.
Public property | Name | Returns the SignalGroup name for the specified index.
Top


IKtMDsrSignals Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSignals Interface
See Also

IKtMDsrSignals interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrSignals
C#
public interface IKtMDsrSignals
Visual C++
__interface IKtMDsrSignals

Properties

 | Name | Description
Public property | Count | Returns the number of Signal blocks defined.
Public property | Item | Returns the Signal block with the specified name.
Public property | Name | Returns the Signal block name for the specified index.
Top

Methods

 | Name | Description
Public method | Add | Adds a Signal of the specified name.
Public method | AddSignalList | Takes a list of Signal names and creates a new Signal for each, including an assigned direction. This provides a way to define several Signals at once.
Public method | Remove | Removes the Signal block with the specified name.
Top

Remarks

For more information on the Signals interface, see the Signals Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | Add | Adds a Signal of the specified name.
Public method | AddSignalList | Takes a list of Signal names and creates a new Signal for each, including an assigned direction. This provides a way to define several Signals at once.
Public method | Remove | Removes the Signal block with the specified name.
Top


Properties

 | Name | Description
Public property | Count | Returns the number of Signal blocks defined.
Public property | Item | Returns the Signal block with the specified name.
Public property | Name | Returns the Signal block name for the specified index.
Top


IKtMDsrSite Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSite Interface
See Also

IKtMDsrSite interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrSite
C#
public interface IKtMDsrSite
Visual C++
__interface IKtMDsrSite

Properties

 | Name | Description
Public property | Name | The Name of the current Signal block.
Public property | Trigger0Source | Configures the trigger event that maps to Trigger0 in the WatchLoop.
Public property | Trigger1Source | Configures the trigger event that maps to Trigger1 in the WatchLoop.
Public property | Trigger2Source | Configures the trigger event that maps to Trigger2 in the WatchLoop.
Public property | Trigger3Source | Configures the trigger event that maps to Trigger3 in the WatchLoop.
Public property | Trigger4Source | Configures the trigger event that maps to Trigger4 in the WatchLoop.
Public property | Trigger5Source | Configures the trigger event that maps to Trigger5 in the WatchLoop.
Top

Methods

 | Name | Description
Public method | AssignSignal | Defines the mapping from a signal to a channel and specifies the ordinal. The ordinal specifies the bit or element number to use when packing measurement results into bytes or arrays.
Public method | AssignSignalList | Provides a simple way to define several signals from a comma-separated list of Signal names. Automatically assigns channels and ordinals. First Signal name is assigned Channels[0]; ordinals begin from highest ordinal already assigned for that site.
Public method | QuerySite | Returns the Signals, Channels, and Ordinals defined in the site.
Top

Remarks

For more information, see the Sites Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | AssignSignal | Defines the mapping from a signal to a channel and specifies the ordinal. The ordinal specifies the bit or element number to use when packing measurement results into bytes or arrays.
Public method | AssignSignalList | Provides a simple way to define several signals from a comma-separated list of Signal names. Automatically assigns channels and ordinals. First Signal name is assigned Channels[0]; ordinals begin from highest ordinal already assigned for that site.
Public method | QuerySite | Returns the Signals, Channels, and Ordinals defined in the site.
Top


Properties

 | Name | Description
Public property | Name | The Name of the current Signal block.
Public property | Trigger0Source | Configures the trigger event that maps to Trigger0 in the WatchLoop.
Public property | Trigger1Source | Configures the trigger event that maps to Trigger1 in the WatchLoop.
Public property | Trigger2Source | Configures the trigger event that maps to Trigger2 in the WatchLoop.
Public property | Trigger3Source | Configures the trigger event that maps to Trigger3 in the WatchLoop.
Public property | Trigger4Source | Configures the trigger event that maps to Trigger4 in the WatchLoop.
Public property | Trigger5Source | Configures the trigger event that maps to Trigger5 in the WatchLoop.
Top


IKtMDsrSite2 Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSite2 Interface
See Also

IKtMDsrSite2 interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrSite2
   Inherits IKtMDsrSite
C#
public interface IKtMDsrSite2 : IKtMDsrSite
Visual C++
__interface IKtMDsrSite2 : IKtMDsrSite

Properties

 | Name | Description
Public property | Marker0Destination | Sets the destination of all Marker0 references for patterns run on this site. The destination specifies on what signal the marker is generated.
Public property | Marker1Destination | Sets the destination of all Marker1 references for patterns run on this site. The destination specifies on what signal the marker is generated.
Public property | Marker2Destination | Sets the destination of all Marker2 references for patterns run on this site. The destination specifies on what signal the marker is generated.
Public property | Name | The Name of the current Signal block. (Inherited from IKtMDsrSite.)
Public property | Trigger0Source | Configures the trigger event that maps to Trigger0 in the WatchLoop. (Inherited from IKtMDsrSite.)
Public property | Trigger1Source | Configures the trigger event that maps to Trigger1 in the WatchLoop. (Inherited from IKtMDsrSite.)
Public property | Trigger2Source | Configures the trigger event that maps to Trigger2 in the WatchLoop. (Inherited from IKtMDsrSite.)
Public property | Trigger3Source | Configures the trigger event that maps to Trigger3 in the WatchLoop. (Inherited from IKtMDsrSite.)
Public property | Trigger4Source | Configures the trigger event that maps to Trigger4 in the WatchLoop. (Inherited from IKtMDsrSite.)
Public property | Trigger5Source | Configures the trigger event that maps to Trigger5 in the WatchLoop. (Inherited from IKtMDsrSite.)
Top

Methods

 | Name | Description
Public method | AssignSignal | Defines the mapping from a signal to a channel and specifies the ordinal. The ordinal specifies the bit or element number to use when packing measurement results into bytes or arrays. (Inherited from IKtMDsrSite.)
Public method | AssignSignalList | Provides a simple way to define several signals from a comma-separated list of Signal names. Automatically assigns channels and ordinals. First Signal name is assigned Channels[0]; ordinals begin from highest ordinal already assigned for that site. (Inherited from IKtMDsrSite.)
Public method | QuerySite | Returns the Signals, Channels, and Ordinals defined in the site. (Inherited from IKtMDsrSite.)
Top

Remarks

For more information, see the Sites Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Properties

 | Name | Description
Public property | Marker0Destination | Sets the destination of all Marker0 references for patterns run on this site. The destination specifies on what signal the marker is generated.
Public property | Marker1Destination | Sets the destination of all Marker1 references for patterns run on this site. The destination specifies on what signal the marker is generated.
Public property | Marker2Destination | Sets the destination of all Marker2 references for patterns run on this site. The destination specifies on what signal the marker is generated.
Public property | Name | The Name of the current Signal block. (Inherited from IKtMDsrSite.)
Public property | Trigger0Source | Configures the trigger event that maps to Trigger0 in the WatchLoop. (Inherited from IKtMDsrSite.)
Public property | Trigger1Source | Configures the trigger event that maps to Trigger1 in the WatchLoop. (Inherited from IKtMDsrSite.)
Public property | Trigger2Source | Configures the trigger event that maps to Trigger2 in the WatchLoop. (Inherited from IKtMDsrSite.)
Public property | Trigger3Source | Configures the trigger event that maps to Trigger3 in the WatchLoop. (Inherited from IKtMDsrSite.)
Public property | Trigger4Source | Configures the trigger event that maps to Trigger4 in the WatchLoop. (Inherited from IKtMDsrSite.)
Public property | Trigger5Source | Configures the trigger event that maps to Trigger5 in the WatchLoop. (Inherited from IKtMDsrSite.)
Top


IKtMDsrSites Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSites Interface
See Also

IKtMDsrSites interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrSites
C#
public interface IKtMDsrSites
Visual C++
__interface IKtMDsrSites

Properties

 | Name | Description
Public property | Count | Returns the number of Site blocks defined.
Public property | Item | Returns the Site block with the specified name.
Public property | Name | Returns the Site block name for the specified index.
Top

Methods

 | Name | Description
Public method | Add | Adds a Site with the specified name.
Public method | Remove | Removes the Site of the specified name. Fails if the Site is not defined.
Top

Remarks

For more information on the Sites interface, see the Sites Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | Add | Adds a Site with the specified name.
Public method | Remove | Removes the Site of the specified name. Fails if the Site is not defined.
Top


Properties

 | Name | Description
Public property | Count | Returns the number of Site blocks defined.
Public property | Item | Returns the Site block with the specified name.
Public property | Name | Returns the Site block name for the specified index.
Top


IKtMDsrSites2 Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSites2 Interface
See Also

IKtMDsrSites2 interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrSites2
   Inherits IKtMDsrSites
C#
public interface IKtMDsrSites2 : IKtMDsrSites
Visual C++
__interface IKtMDsrSites2 : IKtMDsrSites

Properties

 | Name | Description
Public property | Count | Returns the number of Site blocks defined. (Inherited from IKtMDsrSites.)
Public property | Item | Returns the Site block with the specified name. (Inherited from IKtMDsrSites.)
Public property | Item2 | Returns the Site block with the specified name.
Public property | Name | Returns the Site block name for the specified index. (Inherited from IKtMDsrSites.)
Top

Methods

 | Name | Description
Public method | Add | Adds a Site with the specified name. (Inherited from IKtMDsrSites.)
Public method | Remove | Removes the Site of the specified name. Fails if the Site is not defined. (Inherited from IKtMDsrSites.)
Top

Remarks

For more information on the Sites interface, see the Sites Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Properties

 | Name | Description
Public property | Count | Returns the number of Site blocks defined. (Inherited from IKtMDsrSites.)
Public property | Item | Returns the Site block with the specified name. (Inherited from IKtMDsrSites.)
Public property | Item2 | Returns the Site block with the specified name.
Public property | Name | Returns the Site block name for the specified index. (Inherited from IKtMDsrSites.)
Top


IKtMDsrStaticSite Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrStaticSite Interface
See Also

IKtMDsrStaticSite interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrStaticSite
C#
public interface IKtMDsrStaticSite
Visual C++
__interface IKtMDsrStaticSite

Properties

 | Name | Description
Public property | Name | Returns the site block name for the specified index.
Top

Methods

 | Name | Description
Public method | ReadThreeStateVector | Inputs a vector and builds it into two integers, one representing the data value and the other indicating if a valid 1 or 0 was detected. The bits of the integers are mapped to the channels based on the ordinals provided in the Site.
Public method | ReadVector | Inputs a vector and builds it into an integer. The bits of the integer are mapped to the channels based on the ordinals provided in the site.
Public method | WriteThreeStateVector | Stimulates the DUT with a vector based on two integers. The bits of the integer are mapped to the channels based on the ordinals provided in the site. The Data parameter sets the truth value; the Enable parameter enables the signal.
Public method | WriteVector | Stimulates the DUT with a vector based on one integer. The bits of the integer are mapped to channels based on the ordinals in the Site. The Data parameter sets the truth value. All bits configured in the site as Signal In or InOut are written.
Top

Remarks

For more information, see the StaticSites Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | ReadThreeStateVector | Inputs a vector and builds it into two integers, one representing the data value and the other indicating if a valid 1 or 0 was detected. The bits of the integers are mapped to the channels based on the ordinals provided in the Site.
Public method | ReadVector | Inputs a vector and builds it into an integer. The bits of the integer are mapped to the channels based on the ordinals provided in the site.
Public method | WriteThreeStateVector | Stimulates the DUT with a vector based on two integers. The bits of the integer are mapped to the channels based on the ordinals provided in the site. The Data parameter sets the truth value; the Enable parameter enables the signal.
Public method | WriteVector | Stimulates the DUT with a vector based on one integer. The bits of the integer are mapped to channels based on the ordinals in the Site. The Data parameter sets the truth value. All bits configured in the site as Signal In or InOut are written.
Top


Properties

 | Name | Description
Public property | Name | Returns the site block name for the specified index.
Top


IKtMDsrStaticSites Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrStaticSites Interface
See Also

IKtMDsrStaticSites interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrStaticSites
C#
public interface IKtMDsrStaticSites
Visual C++
__interface IKtMDsrStaticSites

Properties

 | Name | Description
Public property | Count | Returns the number of sites that have been activated for StaticSite operations.
Public property | Item | Returns a pointer to the IKtMDsrPpmuSite interface for the specified site.
Public property | Name | Returns the static site name for a given index.
Top

Methods

 | Name | Description
Public method | Activate | Activates a site for StaticSite operations. Once activated, the site block name can be passed to the Item function to access the StaticSite functions for this site.
Public method | Inactivate | Releases StaticSite resources associated with this site without altering the signals on the channels.
Public method | InactivateAndDisable | Releases StaticSite resources associated with this site and disables the signals on the channels.
Top

Remarks

For more information on the StaticSites interface, see the StaticSites Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | Activate | Activates a site for StaticSite operations. Once activated, the site block name can be passed to the Item function to access the StaticSite functions for this site.
Public method | Inactivate | Releases StaticSite resources associated with this site without altering the signals on the channels.
Public method | InactivateAndDisable | Releases StaticSite resources associated with this site and disables the signals on the channels.
Top


Properties

 | Name | Description
Public property | Count | Returns the number of sites that have been activated for StaticSite operations.
Public property | Item | Returns a pointer to the IKtMDsrPpmuSite interface for the specified site.
Public property | Name | Returns the static site name for a given index.
Top


IKtMDsrSystem Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSystem Interface
See Also

IKtMDsrSystem interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrSystem
C#
public interface IKtMDsrSystem
Visual C++
__interface IKtMDsrSystem

Properties

 | Name | Description
Public property | Licensing | Gets a pointer to the IKtMDsrCarrierLicensing interface.
Public property | SerialNumber | The module serial number.
Public property | TimeoutMilliseconds | Queries the timeout used for IO to the module.
Public property | TraceEnabled | If True, output trace log of all driver calls to an XML file, using a unique file name based on date and time in the same directory as the application executable accessing the driver OR as specified using tracing options when initializing the driver.
Top

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Properties

 | Name | Description
Public property | Licensing | Gets a pointer to the IKtMDsrCarrierLicensing interface.
Public property | SerialNumber | The module serial number.
Public property | TimeoutMilliseconds | Queries the timeout used for IO to the module.
Public property | TraceEnabled | If True, output trace log of all driver calls to an XML file, using a unique file name based on date and time in the same directory as the application executable accessing the driver OR as specified using tracing options when initializing the driver.
Top


IKtMDsrSystem2 Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSystem2 Interface
See Also

IKtMDsrSystem2 interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrSystem2
   Inherits IKtMDsrSystem
C#
public interface IKtMDsrSystem2 : IKtMDsrSystem
Visual C++
__interface IKtMDsrSystem2 : IKtMDsrSystem

Properties

 | Name | Description
Public property | About | Read Only - Returns addition information about the system beyond the firmware and hardware versions. This is typically included in an SFP (Soft Front Panel) About Box dialog.
Public property | Licensing | Gets a pointer to the IKtMDsrCarrierLicensing interface. (Inherited from IKtMDsrSystem.)
Public property | Options | Read Only - A comma separated list of the effective options of the system. See Remarks.
Public property | SerialNumber | The module serial number. (Inherited from IKtMDsrSystem.)
Public property | TimeoutMilliseconds | Queries the timeout used for IO to the module. (Inherited from IKtMDsrSystem.)
Public property | TraceEnabled | If True, output trace log of all driver calls to an XML file, using a unique file name based on date and time in the same directory as the application executable accessing the driver OR as specified using tracing options when initializing the driver. (Inherited from IKtMDsrSystem.)
Top

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Properties

 | Name | Description
Public property | About | Read Only - Returns addition information about the system beyond the firmware and hardware versions. This is typically included in an SFP (Soft Front Panel) About Box dialog.
Public property | Licensing | Gets a pointer to the IKtMDsrCarrierLicensing interface. (Inherited from IKtMDsrSystem.)
Public property | Options | Read Only - A comma separated list of the effective options of the system. See Remarks.
Public property | SerialNumber | The module serial number. (Inherited from IKtMDsrSystem.)
Public property | TimeoutMilliseconds | Queries the timeout used for IO to the module. (Inherited from IKtMDsrSystem.)
Public property | TraceEnabled | If True, output trace log of all driver calls to an XML file, using a unique file name based on date and time in the same directory as the application executable accessing the driver OR as specified using tracing options when initializing the driver. (Inherited from IKtMDsrSystem.)
Top


IKtMDsrSystemLicensing Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrSystemLicensing Interface
See Also

IKtMDsrCarrierLicensing interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrSystemLicensing
C#
public interface IKtMDsrSystemLicensing
Visual C++
__interface IKtMDsrSystemLicensing

Properties

 | Name | Description
Public property | HostIdentifier | The unique key identifying the system controller for licensing purposes. Also called HostID.
Public property | InstalledLicenses | A semicolon-separated list of the software licenses installed on the system controller. Each software license consists of a comma-separated Feature Name and Description.
Top

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Properties

 | Name | Description
Public property | HostIdentifier | The unique key identifying the system controller for licensing purposes. Also called HostID.
Public property | InstalledLicenses | A semicolon-separated list of the software licenses installed on the system controller. Each software license consists of a comma-separated Feature Name and Description.
Top


IKtMDsrTrigger Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrTrigger Interface
See Also

IKtMDsrTrigger interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrTrigger
C#
public interface IKtMDsrTrigger
Visual C++
__interface IKtMDsrTrigger

Properties

 | Name | Description
Public property | Direction | This property sets the direction of those DSR signals that are bi-directional and can be either a trigger input or a marker output. This property applies to GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], and PXI_STAR.
Public property | ExternalTriggerTermination | This property configures the input termination impedance of the two front panel trigger inputs, GPIO1 (External1) and GPIO2 (External2). Two values are programmable, 50 ohms and high impedance (the default, which is nominally 10K ohm).
Public property | ExternalTriggerThresholdLevel | Sets the threshold voltage levels for the front panel signals, GPIO1 (External1) and GPIO2 (External2), when they are programmed as trigger inputs. The threshold voltages can be set independently for each trigger input over the range -2VDC to 4VDC.
Public property | MarkerPulseWidth | This property sets the pulse width of marker outputs. The pulse width can be programmed independently for the 12 DSR signals that can be used as markers: GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], PXI_STAR, and PXIe_DSTARC.
Public property | Polarity | For a marker output, Polarity controls whether the marker will go high (positive) or low (negative). For a trigger input, Polarity controls whether a trigger will be detected on the rising (positive) edge or on the falling (negative) edge of the input.
Top

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Properties

 | Name | Description
Public property | Direction | This property sets the direction of those DSR signals that are bi-directional and can be either a trigger input or a marker output. This property applies to GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], and PXI_STAR.
Public property | ExternalTriggerTermination | This property configures the input termination impedance of the two front panel trigger inputs, GPIO1 (External1) and GPIO2 (External2). Two values are programmable, 50 ohms and high impedance (the default, which is nominally 10K ohm).
Public property | ExternalTriggerThresholdLevel | Sets the threshold voltage levels for the front panel signals, GPIO1 (External1) and GPIO2 (External2), when they are programmed as trigger inputs. The threshold voltages can be set independently for each trigger input over the range -2VDC to 4VDC.
Public property | MarkerPulseWidth | This property sets the pulse width of marker outputs. The pulse width can be programmed independently for the 12 DSR signals that can be used as markers: GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], PXI_STAR, and PXIe_DSTARC.
Public property | Polarity | For a marker output, Polarity controls whether the marker will go high (positive) or low (negative). For a trigger input, Polarity controls whether a trigger will be detected on the rising (positive) edge or on the falling (negative) edge of the input.
Top


IKtMDsrTriggerEvent Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrTriggerEvent Interface
See Also

IKtMDsrTriggerEvent interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrTriggerEvent
C#
public interface IKtMDsrTriggerEvent
Visual C++
__interface IKtMDsrTriggerEvent

Methods

 | Name | Description
Public method | GenerateSoftwareEvents | Generates the events indicated by the bits set in the EventBits parameter. If set, the least significant bit generates the SoftwareTrigger0 event, and the corresponding bits, through bit 15, generate events up through SoftwareTrigger15.
Top

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | GenerateSoftwareEvents | Generates the events indicated by the bits set in the EventBits parameter. If set, the least significant bit generates the SoftwareTrigger0 event, and the corresponding bits, through bit 15, generate events up through SoftwareTrigger15.
Top


IKtMDsrTriggers Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrTriggers Interface
See Also

IKtMDsrTriggers interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrTriggers
C#
public interface IKtMDsrTriggers
Visual C++
__interface IKtMDsrTriggers

Properties

 | Name | Description
Public property | Count | Returns the number of trigger and marker signals supported by the DSR module.
Public property | Item | Pointer to the IKtMDsrTrigger interface.
Public property | Name | Returns the trigger or marker name for a given Index. For example, for an Index of 5, the name "PXI_TRIG0" is returned as shown in the table below.
Top

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Properties

 | Name | Description
Public property | Count | Returns the number of trigger and marker signals supported by the DSR module.
Public property | Item | Pointer to the IKtMDsrTrigger interface.
Public property | Name | Returns the trigger or marker name for a given Index. For example, for an Index of 5, the name "PXI_TRIG0" is returned as shown in the table below.
Top


IKtMDsrWaveformTable Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrWaveformTable Interface
See Also

IKtMDsrWaveformTable interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrWaveformTable
C#
public interface IKtMDsrWaveformTable
Visual C++
__interface IKtMDsrWaveformTable

Properties

 | Name | Description
Public property | Name | The Name of the current WaveformTable block.
Public property | Period | The period of the waveforms in this WaveformTable. That is, the total time of each waveform.
Public property | Signals | Comma-separated list of Signals defined for this Waveform Table.
Top

Methods

 | Name | Description
Public method | DefineWaveformCharacter | Defines a new waveform character. This then defines the waveform to be produced when this character is executed on one of the specified signals. This function is called once for each waveform character in the WaveformTable.
Public method | QueryWaveformCharacter | Returns an array of times and an array of events given the specified signal and waveform character.
Public method | QueryWaveformCharacters | Returns all the Waveform Characters defined for the specified Signal.
Top

Remarks

For more information, see the WaveformTables Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | DefineWaveformCharacter | Defines a new waveform character. This then defines the waveform to be produced when this character is executed on one of the specified signals. This function is called once for each waveform character in the WaveformTable.
Public method | QueryWaveformCharacter | Returns an array of times and an array of events given the specified signal and waveform character.
Public method | QueryWaveformCharacters | Returns all the Waveform Characters defined for the specified Signal.
Top


Properties

 | Name | Description
Public property | Name | The Name of the current WaveformTable block.
Public property | Period | The period of the waveforms in this WaveformTable. That is, the total time of each waveform.
Public property | Signals | Comma-separated list of Signals defined for this Waveform Table.
Top


IKtMDsrWaveformTables Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IKtMDsrWaveformTables Interface
See Also

IKtMDsrWaveformTables interface.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Interface IKtMDsrWaveformTables
C#
public interface IKtMDsrWaveformTables
Visual C++
__interface IKtMDsrWaveformTables

Properties

 | Name | Description
Public property | Count | Returns the number of WaveformTable blocks defined.
Public property | Item | Returns the WaveformTable block with the specified name.
Public property | Name | Returns the WaveformTable name for the specified index.
Top

Methods

 | Name | Description
Public method | Add | Adds a WaveformTable block of specified name.
Public method | AddSimpleWaveformTable | Creates a basic waveform table that defines commonly-defined waveform characters at a given drive time and compare time.
Public method | Remove | Removes the WaveformTable block of specified name.
Top

Remarks

For more information on the WaveformTables interface, see the WaveformTables Overview.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Methods

 | Name | Description
Public method | Add | Adds a WaveformTable block of specified name.
Public method | AddSimpleWaveformTable | Creates a basic waveform table that defines commonly-defined waveform characters at a given drive time and compare time.
Public method | Remove | Removes the WaveformTable block of specified name.
Top


Properties

 | Name | Description
Public property | Count | Returns the number of WaveformTable blocks defined.
Public property | Item | Returns the WaveformTable block with the specified name.
Public property | Name | Returns the WaveformTable name for the specified index.
Top


Enums

[image]

KtMDsr IVI Driver Reference Keysight Technologies
Keysight.KtMDsr.Interop Enums

Enumerations

 | Enumeration | Description
Public enumeration | KtMDsrABusNodeCategoryEnum |
Public enumeration | KtMDsrCalibrationStatusEnum |
Public enumeration | KtMDsrDcLevelEnum | DcLevels
Public enumeration | KtMDsrDcLevelsLogicFamilyEnum | DcLevel LogicFamilies
Public enumeration | KtMDsrErrorCodesEnum |
Public enumeration | KtMDsrInstrumentAuxiliaryOutputControlEnum | Set Auxilary Output pins
Public enumeration | KtMDsrInstrumentReferenceClockSourceEnum | Reference Clock Sources
Public enumeration | KtMDsrPatternLineTypeEnum | Pattern LineTypes
Public enumeration | KtMDsrPatternSiteConditionalLoopFailureModeEnum | ConditionalLoop Failure Mode
Public enumeration | KtMDsrPatternSiteConditionalLoopSuccessModeEnum | Conditional Loop success mode
Public enumeration | KtMDsrPatternSiteExecutionStateEnum | The State of the current PatternSite during Execution
Public enumeration | KtMDsrPatternSiteSaveDestinationEnum | Where to save a Compiled PatternSite
Public enumeration | KtMDsrPatternSitesEndBehaviorEnum | What to do after the last Vector in Pattern execution.
Public enumeration | KtMDsrPatternSitesTriggerModeEnum | How Pattern generation will being.
Public enumeration | KtMDsrPatternSitesWhatToLogEnum | What data to log
Public enumeration | KtMDsrPpmuSiteAverageModeEnum | Averaging of Ppmu measurements.
Public enumeration | KtMDsrPpmuSiteForceModeEnum | What to force prior to a Ppmu measurement.
Public enumeration | KtMDsrSignalDirectionEnum | The direction of the signal: input to the DUT; output from the DUT; either.
Public enumeration | KtMDsrTriggerDirectionEnum | The direction of the trigger. Trigger = DSR receives a trigger. Marker = DSR generates a trigger.
Public enumeration | KtMDsrTriggerExternalTriggerTerminationEnum | The termination of the trigger line at the module.
Public enumeration | KtMDsrTriggerPolarityEnum | The polarity for trigger inputs and marker outputs, positive or negative.
Public enumeration | KtMDsrUpdateStatusEnum | Enumeration of values returned by System.Update
Public enumeration | KtMDsrWaveformTableEventEnum | Which events to generate during pattern execution.


KtMDsrABusNodeCategoryEnum Enumeration

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrABusNodeCategoryEnum Enumeration
See Also

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Enumeration KtMDsrABusNodeCategoryEnum
C#
public enum KtMDsrABusNodeCategoryEnum
Visual C++
public enum class KtMDsrABusNodeCategoryEnum

Members

Member name | Value | Description
KtMDsrABusNodeCategoryAll | 0x00000000 |
KtMDsrABusNodeCategoryCarrier | 0x00000001 |
KtMDsrABusNodeCategoryPlugin | 0x00000002 |

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrCalibrationStatusEnum Enumeration

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrCalibrationStatusEnum Enumeration
See Also

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Enumeration KtMDsrCalibrationStatusEnum
C#
public enum KtMDsrCalibrationStatusEnum
Visual C++
public enum class KtMDsrCalibrationStatusEnum

Members

Member name | Value | Description
KtMDsrCalibrationStatusInstrumentCalibrated | 0x00000000 |
KtMDsrCalibrationStatusDue | 0x00000001 |
KtMDsrCalibrationStatusExpired | 0x00000002 |
KtMDsrCalibrationStatusNotCalibrated | 0x00000003 |
KtMDsrCalibrationStatusNotSubjectToCalibration | 0x00000004 |
KtMDsrCalibrationStatusModuleCalibrated | 0x00000005 |

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrDcLevelEnum Enumeration

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrDcLevelEnum Enumeration
See Also

DcLevels

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Enumeration KtMDsrDcLevelEnum
C#
public enum KtMDsrDcLevelEnum
Visual C++
public enum class KtMDsrDcLevelEnum

Members

Member name | Value | Description
KtMDsrDcLevelIOH | 0x00000000 | This is the current output by the active load when the input voltage is over the commutation voltage (VCOM). It is used with IOL and VCOM to configure the active load.
KtMDsrDcLevelIOL | 0x00000001 | This is the current output by the active load when the input voltage is under the commutation voltage (VCOM). It is used with IOH and VCOM to configure the active load.
KtMDsrDcLevelVIT | 0x00000002 | Module sourced termination voltage for 50 Ohm input termination. Setting this to a value other than NaN turns on the 50 Ohm load.
KtMDsrDcLevelVCOM | 0x00000003 | This is the active load commutation voltage, the voltage at which the load switches from sinking current to sourcing current. It is used with IOH and IOL to configure the active load.
KtMDsrDcLevelVHH | 0x00000004 | Voltage forced by the DSR on the high voltage pin when high voltage is active.
KtMDsrDcLevelVIH | 0x00000005 | DUT high voltage input. This is the voltage produced by the DSR for a 1.
KtMDsrDcLevelVIL | 0x00000006 | DUT low voltage input. This is the voltage produced by the DSR for a 0.
KtMDsrDcLevelVOH | 0x00000007 | DUT output high threshold.
KtMDsrDcLevelVOL | 0x00000008 | DUT output low threshold.
KtMDsrDcLevelVHYST | 0x00000009 | Hysteresis applied to the DUT output. This is the peak-to-peak hysteresis voltage. Inputs are coerced to 0, 50 mV or 100 mV.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrDcLevelsLogicFamilyEnum Enumeration

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrDcLevelsLogicFamilyEnum Enumeration
See Also

DcLevel LogicFamilies

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Enumeration KtMDsrDcLevelsLogicFamilyEnum
C#
public enum KtMDsrDcLevelsLogicFamilyEnum
Visual C++
public enum class KtMDsrDcLevelsLogicFamilyEnum

Members

Member name | Value | Description
KtMDsrDcLevelsLogicFamilyLVCMOS_1_2 | 0x00000000 | 1.2 V Low Voltage CMOS
KtMDsrDcLevelsLogicFamilyLVCMOS_1_8 | 0x00000001 | 1.8 V Low Voltage CMOS
KtMDsrDcLevelsLogicFamilyLVCMOS_2_5 | 0x00000002 | 2.5 V Low Voltage CMOS
KtMDsrDcLevelsLogicFamilyCMOS_5 | 0x00000003 | 5 V CMOS
KtMDsrDcLevelsLogicFamilyTTL | 0x00000004 | 3.3 V Low Voltage Transistor-Transistor Logic
KtMDsrDcLevelsLogicFamilyLVTTL | 0x00000005 | 5 V Transistor-Transistor Logic
KtMDsrDcLevelsLogicFamilyLVDS | 0x00000006 | Low Voltage Differential Signaling
KtMDsrDcLevelsLogicFamilyCustom | 0x00000007 | The DSR sets DcLevel logic family to CUSTOM whenever the DcLevels are not set to a specific logic family. That is, when SetDcLevels or SetDcLevel is called, or a STIL file is loaded, or an OpenXML file does not specify a logic family.
KtMDsrDcLevelsLogicFamilyPECL | 0x00000008 | Positive Emitter Coupled Logic

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrErrorCodesEnum Enumeration

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrErrorCodesEnum Enumeration
See Also

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Enumeration KtMDsrErrorCodesEnum
C#
public enum KtMDsrErrorCodesEnum
Visual C++
public enum class KtMDsrErrorCodesEnum

Members

Member name | Value | Description
E_KTMDSR_IO_GENERAL | 0x80044214 | I/O error.
E_KTMDSR_IO_TIMEOUT | 0x80044215 | I/O timeout error.
E_KTMDSR_MODEL_NOT_SUPPORTED | 0x80044216 | Instrument model does not support this feature.
E_KTMDSR_CHECK_ERROR_QUEUE | 0x80044000 |
E_KTMDSR_FILE_TYPE_NOT_RECOGNIZED | 0x8004400B |
E_KTMDSR_FIRMWARE_UPDATE_ERROR | 0x8004400F |
E_KTMDSR_FIRMWARE_UPDATE_REQUIRED | 0x80044014 | A firmware update is required for proper operation. This error is reported when an operation, normally Apply, that requires current firmware is executed. The only way to solve this is to update the module(s) by calling System.Update - a system restart or power cycle may be required after the update.
E_KTMDSR_INCOMPATIBLE_SOFTWARE_VERSION_ERROR | 0x8004400A |
E_KTMDSR_INSTRUMENT_CALIBRATION_DUE | 0x80044020 | The instrument calibration will be due soon. This message is generated when Calibration.DueDate is within CalDueReminder days if EnablePeriodCal and EnableInstrumentCalWarnings are true.
E_KTMDSR_INSTRUMENT_CALIBRATION_EXPIRED | 0x80044021 | The instrument calibration has expired. This message is generated when Calibration.DueDate has passed if EnablePeriodCal and EnableInstrumentCalWarnings are true.
E_KTMDSR_INSTRUMENT_NOT_CALIBRATED | 0x80044022 | The instrument is not calibrated is generated if the current set of modules is not calibrated and if EnablePeriodCal and EnableInstrumentCalWarnings are true. This condition can occur when the modules used were not calibrated as a set.
E_KTMDSR_INTERNAL_APPLICATION_ERROR | 0x80044008 | An unhandled error condition occurred in the software driver. Please report this to Keysight support.
E_KTMDSR_LICENSE_SYSTEM_ERROR | 0x8004401A |
E_KTMDSR_LICENSE_VALIDATION_ERROR | 0x8004400C |
E_KTMDSR_MISSING_CLOCK_ERROR | 0x8004400D |
E_KTMDSR_MODULE_CALIBRATION_DUE | 0x80044023 | The module calibration will be due soon. This message is generated when Modules.Item.Calibration.DueDate is within CalDueReminder days if EnablePeriodCal and EnableInstrumentCalWarnings are true.
E_KTMDSR_MODULE_CALIBRATION_EXPIRED | 0x80044024 | The module calibration has expired. This message is generated when Modules.Item.Calibration.DueDate has passed if EnablePeriodCal and EnableInstrumentCalWarnings are true.
E_KTMDSR_MODULE_NOT_CALIBRATED | 0x80044025 | The module is not calibrated is generated if the module is not calibrated and if EnablePeriodCal and EnableInstrumentCalWarnings are true.
E_KTMDSR_MODULE_VALIDATE_FAILED | 0x80044004 |
E_KTMDSR_OPERATION_ABORTED | 0x80044006 |
E_KTMDSR_PARAMETER_VALIDATION_ERROR | 0x80044002 | This error is reported from Apply when one or more parameters fail the validation checks. See error details for more information.
E_KTMDSR_SELFTEST_FAILED | 0x80044012 |
E_KTMDSR_UNABLE_TO_INITIALIZE_HARDWARE | 0x80044001 | This error is reported when Initialize fails to open the hardware or the hardware reports an error and the IVI driver aborts the initialization.
E_KTMDSR_UNRECOGNIZED_ERROR | 0x80044003 | This error is reported when the fundamental reports an error not recognized by the IVI driver.
E_KTMDSR_UNSUPPORTED_FEATURE | 0x80044009 | The feature is not supported by the software driver.
E_KTMDSR_VALIDATION_ERROR | 0x80044007 |
E_KTMDSR_VERIFY_OPERATION_ERROR | 0x8004400E |
E_KTMDSR_WAIT_ABORTED | 0x80044005 |
E_KTMDSR_SITE_ACTIVATION_ERROR | 0x80044FA0 |
E_KTMDSR_PARSING_INPUT_FILE_ERROR | 0x80044FA1 |
E_KTMDSR_CARRIER_FIRMWARE_UPDATE_REQUIRED | 0x80044FA5 |
E_KTMDSR_FIRMWARE_UPDATE_IN_PROCESS | 0x80044FA6 |
E_KTMDSR_FIRMWARE_UPDATE_SUCCESS | 0x80044FA4 |
E_KTMDSR_ACQUISITION_TIMEOUT | 0x800440C8 |
E_KTMDSR_OPERATION_ERROR | 0x80044029 |
E_KTMDSR_COMPILE_PATTERN_ERROR | 0x80044FA8 |
E_KTMDSR_INVALID_FILE_CONTENT | 0x80044FA3 |
E_KTMDSR_FILE_NOT_FOUND | 0x80044FA2 |
E_KTMDSR_MEZZANINE_FIRMWARE_UPDATE_SUCCESS | 0x80044FA7 |
E_KTMDSR_HARDWARE_TIMEOUT | 0x80044026 |
E_KTMDSR_SOFTWARE_TIMEOUT | 0x80044027 |
E_KTMDSR_OUT_OF_MEMORY_ERROR | 0x80044028 |
E_KTMDSR_HARDWARE_RESOURCE_NOT_AVAILABLE | 0x8004402A |
E_KTMDSR_FPGA_PROGRAMMING_ERROR | 0x8004402B |
E_KTMDSR_PROPERTY_NOT_SUPPORTED | 0x8004402C |
E_KTMDSR_TEST_FAILED_INCORRECT_VERSION | 0x8004402D |
E_KTMDSR_NONVOLATILE_READ_ERROR | 0x8004402D |
E_KTMDSR_NONVOLATILE_WRITE_ERROR | 0x8004402E |
E_KTMDSR_THERMAL_SHUTDOWN_ERROR | 0x8004402F |

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrInstrumentAuxiliaryOutputControlEnum Enumeration

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrInstrumentAuxiliaryOutputControlEnum Enumeration
See Also

Set Auxilary Output pins

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Enumeration KtMDsrInstrumentAuxiliaryOutputControlEnum
C#
public enum KtMDsrInstrumentAuxiliaryOutputControlEnum
Visual C++
public enum class KtMDsrInstrumentAuxiliaryOutputControlEnum

Members

Member name | Value | Description
KtMDsrInstrumentAuxiliaryOutputControlGround | 0x00000000 | Ground
KtMDsrInstrumentAuxiliaryOutputControlHighImpedance | 0x00000001 | High Impedence

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrInstrumentReferenceClockSourceEnum Enumeration

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrInstrumentReferenceClockSourceEnum Enumeration
See Also

Reference Clock Sources

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Enumeration KtMDsrInstrumentReferenceClockSourceEnum
C#
public enum KtMDsrInstrumentReferenceClockSourceEnum
Visual C++
public enum class KtMDsrInstrumentReferenceClockSourceEnum

Members

Member name | Value | Description
KtMDsrInstrumentReferenceClockSourceDStarA | 0x00000000 | D* A
KtMDsrInstrumentReferenceClockSourceFrontPanel | 0x00000001 | Front Panel
KtMDsrInstrumentReferenceClockSourcePXI100 | 0x00000002 | PXI 100MHz

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrPatternLineTypeEnum Enumeration

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrPatternLineTypeEnum Enumeration
See Also

Pattern LineTypes

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Enumeration KtMDsrPatternLineTypeEnum
C#
public enum KtMDsrPatternLineTypeEnum
Visual C++
public enum class KtMDsrPatternLineTypeEnum

Members

Member name | Value | Description
KtMDsrPatternLineTypeVector | 0x00000000 | Vector
KtMDsrPatternLineTypeMatchLoop | 0x00000001 | MatchLoop
KtMDsrPatternLineTypeLoop | 0x00000002 | Loop
KtMDsrPatternLineTypeGoTo | 0x00000003 | GoTo
KtMDsrPatternLineTypeBlank | 0x00000004 | Blank
KtMDsrPatternLineTypeWatchLoop | 0x00000005 | WatchLoop
KtMDsrPatternLineTypeMacro | 0x00000007 | Macro
KtMDsrPatternLineTypeShift | 0x00000006 | Shift
KtMDsrPatternLineTypeStop | 0x0000000B | Stop

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrPatternSiteConditionalLoopFailureModeEnum Enumeration

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrPatternSiteConditionalLoopFailureModeEnum Enumeration
See Also

ConditionalLoop Failure Mode

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Enumeration KtMDsrPatternSiteConditionalLoopFailureModeEnum
C#
public enum KtMDsrPatternSiteConditionalLoopFailureModeEnum
Visual C++
public enum class KtMDsrPatternSiteConditionalLoopFailureModeEnum

Members

Member name | Value | Description
KtMDsrPatternSiteConditionalLoopFailureModeStopOnFail | 0x00000000 | Stop Execution if LoopCount exceeded.
KtMDsrPatternSiteConditionalLoopFailureModeContinueOnFail | 0x00000001 | Continue Execution if LoopCount is exceeded.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrPatternSiteConditionalLoopSuccessModeEnum Enumeration

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrPatternSiteConditionalLoopSuccessModeEnum Enumeration
See Also

Conditional Loop success mode

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Enumeration KtMDsrPatternSiteConditionalLoopSuccessModeEnum
C#
public enum KtMDsrPatternSiteConditionalLoopSuccessModeEnum
Visual C++
public enum class KtMDsrPatternSiteConditionalLoopSuccessModeEnum

Members

Member name | Value | Description
KtMDsrPatternSiteConditionalLoopSuccessModeExtraLoop | 0x00000000 | Loop one or more additional times after a succesful MatchLoop.
KtMDsrPatternSiteConditionalLoopSuccessModeNoCompare | 0x00000001 | Exit at the end of the first successful loop if no Compares exist at the end of the Loop.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrPatternSiteExecutionStateEnum Enumeration

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrPatternSiteExecutionStateEnum Enumeration
See Also

The State of the current PatternSite during Execution

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Enumeration KtMDsrPatternSiteExecutionStateEnum
C#
public enum KtMDsrPatternSiteExecutionStateEnum
Visual C++
public enum class KtMDsrPatternSiteExecutionStateEnum

Members

Member name | Value | Description
KtMDsrPatternSiteExecutionStateExecuting | 0x00000000 | Pattern is currently running.
KtMDsrPatternSiteExecutionStateStopped | 0x00000001 | Pattern has not yet been Initiated.
KtMDsrPatternSiteExecutionStateWaitingForInitiateTrigger | 0x00000002 | Pattern has been Initiated and is waiting for appropriate trigger.
KtMDsrPatternSiteExecutionStateComplete | 0x00000003 | Pattern has reached the end of execution
KtMDsrPatternSiteExecutionStateAborted | 0x00000004 | Pattern has been Aborted by user.
KtMDsrPatternSiteExecutionStateError | 0x00000005 | Error occured during PatternExecution. Check ExecutionErrors.
KtMDsrPatternSiteExecutionStateWaitingForMatchLoop | 0x00000006 | Waiting for a successful MatchLoop
KtMDsrPatternSiteExecutionStateWatchingForTrigger0 | 0x00000007 | Watching for Trigger0 in a WatchLoop.
KtMDsrPatternSiteExecutionStateWatchingForTrigger1 | 0x00000008 | Watching for Trigger1 in a WatchLoop.
KtMDsrPatternSiteExecutionStateWatchingForTrigger2 | 0x00000009 | Watching for Trigger2 in a WatchLoop.
KtMDsrPatternSiteExecutionStateWatchingForTrigger3 | 0x0000000A | Watching for Trigger3 in a WatchLoop.
KtMDsrPatternSiteExecutionStateWatchingForTrigger4 | 0x0000000B | Watching for Trigger4 in a WatchLoop.
KtMDsrPatternSiteExecutionStateWatchingForTrigger5 | 0x0000000C | Watching for Trigger5 in a WatchLoop.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrPatternSiteSaveDestinationEnum Enumeration

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrPatternSiteSaveDestinationEnum Enumeration
See Also

Where to save a Compiled PatternSite

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Enumeration KtMDsrPatternSiteSaveDestinationEnum
C#
public enum KtMDsrPatternSiteSaveDestinationEnum
Visual C++
public enum class KtMDsrPatternSiteSaveDestinationEnum

Members

Member name | Value | Description
KtMDsrPatternSiteSaveDestinationFile | 0x00000000 | External file.
KtMDsrPatternSiteSaveDestinationCache | 0x00000001 | On Board memory of the Dsr.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrPatternSitesEndBehaviorEnum Enumeration

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrPatternSitesEndBehaviorEnum Enumeration
See Also

What to do after the last Vector in Pattern execution.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Enumeration KtMDsrPatternSitesEndBehaviorEnum
C#
public enum KtMDsrPatternSitesEndBehaviorEnum
Visual C++
public enum class KtMDsrPatternSitesEndBehaviorEnum

Members

Member name | Value | Description
KtMDsrPatternSitesEndBehaviorRetainLastLevel | 0x00000000 | Hold at last Level for all channels.
KtMDsrPatternSitesEndBehaviorRepeatLastWaveformCharacter | 0x00000001 | Repeat last Vector for all Channels.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrPatternSitesTriggerModeEnum Enumeration

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrPatternSitesTriggerModeEnum Enumeration
See Also

How Pattern generation will being.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Enumeration KtMDsrPatternSitesTriggerModeEnum
C#
public enum KtMDsrPatternSitesTriggerModeEnum
Visual C++
public enum class KtMDsrPatternSitesTriggerModeEnum

Members

Member name | Value | Description
KtMDsrPatternSitesTriggerModeImmediate | 0x00000000 | Triggered by Initiate.
KtMDsrPatternSitesTriggerModeTriggered | 0x00000001 | Trigger set in TriggerSource starts execution.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrPatternSitesWhatToLogEnum Enumeration

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrPatternSitesWhatToLogEnum Enumeration
See Also

What data to log

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Enumeration KtMDsrPatternSitesWhatToLogEnum
C#
public enum KtMDsrPatternSitesWhatToLogEnum
Visual C++
public enum class KtMDsrPatternSitesWhatToLogEnum

Members

Member name | Value | Description
KtMDsrPatternSitesWhatToLogEveryCycleWithCompare | 0x00000000 | Every cycle with a compare. Use this setting when the pattern is defined with the intent of capturing all compares.
KtMDsrPatternSitesWhatToLogEveryCycleWithFailingCompare | 0x00000001 | All failed compares. This setting is useful when the pattern expects specific values for all DUT response signals.
KtMDsrPatternSitesWhatToLogFirstCycleWithFailingCompareAndTeminate | 0x00000002 | The first failed compare. After the failed compare, the pattern execution terminates. A successful completion will result in ExecutionState of "Complete" and ExecutionErrors = "None."

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrPpmuSiteAverageModeEnum Enumeration

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrPpmuSiteAverageModeEnum Enumeration
See Also

Averaging of Ppmu measurements.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Enumeration KtMDsrPpmuSiteAverageModeEnum
C#
public enum KtMDsrPpmuSiteAverageModeEnum
Visual C++
public enum class KtMDsrPpmuSiteAverageModeEnum

Members

Member name | Value | Description
KtMDsrPpmuSiteAverageModeNone | 0x00000000 | A single measurement is performed.
KtMDsrPpmuSiteAverageModeAverage64 | 0x00000001 | 64 measurements are performed as quickly as possible and averaged together.
KtMDsrPpmuSiteAverageModeWindow50Hz | 0x00000002 | Measurements are made over a single 50 Hz power-line cycle in order to maximize noise immunity in 50 Hz environments.
KtMDsrPpmuSiteAverageModeWindow60Hz | 0x00000003 | Measurements are made over a single 60 Hz power-line cycle in order to maximize noise immunity in 60 Hz environments.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrPpmuSiteForceModeEnum Enumeration

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrPpmuSiteForceModeEnum Enumeration
See Also

What to force prior to a Ppmu measurement.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Enumeration KtMDsrPpmuSiteForceModeEnum
C#
public enum KtMDsrPpmuSiteForceModeEnum
Visual C++
public enum class KtMDsrPpmuSiteForceModeEnum

Members

Member name | Value | Description
KtMDsrPpmuSiteForceModeNothing | 0x00000000 | Force nothing.
KtMDsrPpmuSiteForceModeVoltage | 0x00000001 | Force configured Voltage.
KtMDsrPpmuSiteForceModeCurrent | 0x00000002 | Force configured Current.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrSignalDirectionEnum Enumeration

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrSignalDirectionEnum Enumeration
See Also

The direction of the signal: input to the DUT; output from the DUT; either.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Enumeration KtMDsrSignalDirectionEnum
C#
public enum KtMDsrSignalDirectionEnum
Visual C++
public enum class KtMDsrSignalDirectionEnum

Members

Member name | Value | Description
KtMDsrSignalDirectionIn | 0x00000000 | Specifies that the signal is an input to the DUT (and output from the DSR).
KtMDsrSignalDirectionOut | 0x00000001 | Specifies that the signal is an output from the DUT (and input to the DSR).
KtMDsrSignalDirectionInOut | 0x00000002 | Specifies that the signal can be either an input to the DUT or an output from the DUT.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrTriggerDirectionEnum Enumeration

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrTriggerDirectionEnum Enumeration
See Also

The direction of the trigger. Trigger = DSR receives a trigger. Marker = DSR generates a trigger.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Enumeration KtMDsrTriggerDirectionEnum
C#
public enum KtMDsrTriggerDirectionEnum
Visual C++
public enum class KtMDsrTriggerDirectionEnum

Members

Member name | Value | Description
KtMDsrTriggerDirectionMarker | 0x00000001 | The trigger is an output from the DSR (i.e., the DSR generates a Marker).
KtMDsrTriggerDirectionTrigger | 0x00000000 | The trigger is an input to the DSR (i.e., the DSR receives a trigger).

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrTriggerExternalTriggerTerminationEnum Enumeration

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrTriggerExternalTriggerTerminationEnum Enumeration
See Also

The termination of the trigger line at the module.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Enumeration KtMDsrTriggerExternalTriggerTerminationEnum
C#
public enum KtMDsrTriggerExternalTriggerTerminationEnum
Visual C++
public enum class KtMDsrTriggerExternalTriggerTerminationEnum

Members

Member name | Value | Description
KtMDsrTriggerExternalTriggerTerminationLowImpedance50Ohm | 0x00000001 | The module will connect a low impedance, nominally 50 ohms, to the trigger line.
KtMDsrTriggerExternalTriggerTerminationHighImpedance10kOhm | 0x00000000 | The module's trigger line will be high impedance (i.e. the low impedance termination will be disconnected).

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrTriggerPolarityEnum Enumeration

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrTriggerPolarityEnum Enumeration
See Also

The polarity for trigger inputs and marker outputs, positive or negative.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Enumeration KtMDsrTriggerPolarityEnum
C#
public enum KtMDsrTriggerPolarityEnum
Visual C++
public enum class KtMDsrTriggerPolarityEnum

Members

Member name | Value | Description
KtMDsrTriggerPolarityPositive | 0x00000000 | Positive polarity: Rising edge for trigger inputs, high level for marker output pulses.
KtMDsrTriggerPolarityNegative | 0x00000001 | Negative polarity: Falling edge for trigger inputs, low level for marker output pulses.

Remarks

This enum has different meanings for trigger inputs and marker outputs. For trigger inputs, it controls which edge, rising or falling, is the triggering edge. For marker outputs, it controls whether the marker pulse goes high or low.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrUpdateStatusEnum Enumeration

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrUpdateStatusEnum Enumeration
See Also

Enumeration of values returned by System.Update

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Enumeration KtMDsrUpdateStatusEnum
C#
public enum KtMDsrUpdateStatusEnum
Visual C++
public enum class KtMDsrUpdateStatusEnum

Members

Member name | Value | Description
KtMDsrUpdateStatusSuccess | 0x00000001 | The update was successful. Neither a restart nor a power cycle is required.
KtMDsrUpdateStatusRestartRequired | 0x00000002 | The update was successful, but a Windows restart is required before using the system.
KtMDsrUpdateStatusPowerCycleRequired | 0x00000003 | The update was successful, but an instrument and computer power cycle is required before using the instrument. A restart without power cycle is not sufficient.
KtMDsrUpdateStatusInProgress | 0x00000000 | The update is still in progress.
KtMDsrUpdateStatusFailed | 0x00000004 | The update failed.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


KtMDsrWaveformTableEventEnum Enumeration

[image]

KtMDsr IVI Driver Reference Keysight Technologies
KtMDsrWaveformTableEventEnum Enumeration
See Also

Which events to generate during pattern execution.

Namespace: Keysight.KtMDsr.Interop
Assembly: Keysight.KtMDsr.Interop (in Keysight.KtMDsr.Interop.dll)

Syntax

Visual Basic
Public Enumeration KtMDsrWaveformTableEventEnum
C#
public enum KtMDsrWaveformTableEventEnum
Visual C++
public enum class KtMDsrWaveformTableEventEnum

Members

Member name | Value | Description
KtMDsrWaveformTableEventForceUp | 0x00000001 | Force High Voltage.
KtMDsrWaveformTableEventForceDown | 0x00000000 | Force Low Voltage
KtMDsrWaveformTableEventCompareUnknown | 0x00000004 | No Compare
KtMDsrWaveformTableEventForceOff | 0x00000002 | Force High Impedence
KtMDsrWaveformTableEventForcePrior | 0x00000003 | Force previous event (Low or High Voltage).
KtMDsrWaveformTableEventCompareLow | 0x00000006 | Compare Expection a Low Voltage.
KtMDsrWaveformTableEventCompareHigh | 0x00000005 | Compare expecting a High Voltage.
KtMDsrWaveformTableEventCompareOff | 0x00000007 | Compare expecting High Impedence.

See Also

Reference

Keysight.KtMDsr.Interop Namespace


Ivi.Driver.Interop Namespace

[image]

KtMDsr IVI Driver Reference Keysight Technologies
Ivi.Driver.Interop Namespace

Interfaces

 | Interface | Description
Public interface | IIviClassWrapper | IVI Driver class wrapper interface
Public interface | IIviComponentIdentity | IVI Driver component identity interface
Public interface | IIviDriver | IVI Driver root interface
Public interface | IIviDriverIdentity | IVI Driver identity interface
Public interface | IIviDriverOperation | IVI Driver operation interface
Public interface | IIviDriverUtility | IVI Driver utility interface

Enumerations

 | Enumeration | Description
Public enumeration | IviDriver_ErrorCodes | IVI Driver (inherent features) defined HRESULTS


Interfaces

 | Interface | Description
Public interface | IIviClassWrapper | IVI Driver class wrapper interface
Public interface | IIviComponentIdentity | IVI Driver component identity interface
Public interface | IIviDriver | IVI Driver root interface
Public interface | IIviDriverIdentity | IVI Driver identity interface
Public interface | IIviDriverOperation | IVI Driver operation interface
Public interface | IIviDriverUtility | IVI Driver utility interface


IIviClassWrapper Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviClassWrapper Interface
See Also

IVI Driver class wrapper interface

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Interface IIviClassWrapper
C#
public interface IIviClassWrapper
Visual C++
__interface IIviClassWrapper

Properties

 | Name | Description
Public property | NativeCHandle | The C session handle that the COM wrapper is currently using to communicate with an IVI-C specific driver.
Top

Methods

 | Name | Description
Public method | AttachToExistingCSession | Binds a COM wrapper object to an existing IVI-C specific driver session.
Top

See Also

Reference

Ivi.Driver.Interop Namespace


Methods

 | Name | Description
Public method | AttachToExistingCSession | Binds a COM wrapper object to an existing IVI-C specific driver session.
Top


AttachToExistingCSession Method

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviClassWrapper..::.AttachToExistingCSession Method
IIviClassWrapper See Also

Binds a COM wrapper object to an existing IVI-C specific driver session.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Sub AttachToExistingCSession ( _
    ByVal  Vi As Integer  _
)
C#
public void  AttachToExistingCSession(
    int  Vi
)
Visual C++
HRESULT AttachToExistingCSession(
    long  Vi
);

Parameters

Vi

Requirements

Supported Models

All supported

See Also

Reference

IIviClassWrapper Interface
Ivi.Driver.Interop Namespace


Properties

 | Name | Description
Public property | NativeCHandle | The C session handle that the COM wrapper is currently using to communicate with an IVI-C specific driver.
Top


NativeCHandle Property

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviClassWrapper..::.NativeCHandle Property
IIviClassWrapper See Also

The C session handle that the COM wrapper is currently using to communicate with an IVI-C specific driver.

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public ReadOnly Property NativeCHandle As Integer
C#
public int  NativeCHandle { get; }
Visual C++
HRESULT get_NativeCHandle(
    long*  val
);

Requirements

Supported Models

All supported

See Also

Reference

IIviClassWrapper Interface
Ivi.Driver.Interop Namespace


IIviComponentIdentity Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviComponentIdentity Interface
See Also

IVI Driver component identity interface

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Interface IIviComponentIdentity
C#
public interface IIviComponentIdentity
Visual C++
__interface IIviComponentIdentity

Properties

 | Name | Description
Public property | Description | Returns "IVI Driver for the KtMDsr Digital Stimulus Response module"; if compiled for 64-bit, the description is followed by a trailing substring, "[Compiled for 64-bit.]"
Public property | Revision | The revision of this KtMDsr driver. The string is of the form <Major>.<Minor>.<Build>.<Patch>.
Public property | Vendor | The name of the vendor that supplies the implementing component. Returns "Keysight Technologies".
Top

See Also

Reference

Ivi.Driver.Interop Namespace


Properties

 | Name | Description
Public property | Description | Returns "IVI Driver for the KtMDsr Digital Stimulus Response module"; if compiled for 64-bit, the description is followed by a trailing substring, "[Compiled for 64-bit.]"
Public property | Revision | The revision of this KtMDsr driver. The string is of the form <Major>.<Minor>.<Build>.<Patch>.
Public property | Vendor | The name of the vendor that supplies the implementing component. Returns "Keysight Technologies".
Top


Methods

 | Name | Description
Public method | Close | Closes the session to the module. The module hardware and software resources used by the driver are released. Driver methods and properties that access the instrument are not accessible after Close is called.
Public method | Initialize | Opens a session with from one to twelve DSR modules. Performs a Reset and optionally queries the instrument to validate the model. After initialization, the DSR module(s) are accessible by the driver methods and properties.
Top


Properties

 | Name | Description
Public property | DriverOperation | Pointer to the IIviDriverOperation interface. The IIviDriverOperation interface contains methods and properties that manage the operation of the driver.
Public property | Identity | Pointer to the IIviDriverIdentity interface which provides attributes that identify this version of the driver and the instrument to which it is connected. All attributes are read-only.
Public property | Initialized | True between the time of a successful call to the Initialize function and a successful call to Close function. False at all other times.
Public property | Utility | Pointer to the IVI-standard IIviDriverUtility interface which provides the ability to reset the driver and execute self-test.
Top


IIviDriverIdentity Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverIdentity Interface
See Also

IVI Driver identity interface

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Interface IIviDriverIdentity
   Inherits IIviComponentIdentity
C#
public interface IIviDriverIdentity : IIviComponentIdentity
Visual C++
__interface IIviDriverIdentity : IIviComponentIdentity

Properties

 | Name | Description
Public property | Description | Returns "IVI Driver for the KtMDsr Digital Stimulus Response module"; if compiled for 64-bit, the description is followed by a trailing substring, "[Compiled for 64-bit.]" (Inherited from IIviComponentIdentity.)
Public property | GroupCapabilities | An IVI-specified attribute used to describe the class compliance. The IVI Foundation has not defined a class relevant to the DSR; therefore, this returns an empty string.
Public property | Identifier | Identifies the instrument driver. Returns: "KtMDsr"
Public property | InstrumentFirmwareRevision | The firmware revision loaded onto the module. The string is of the form <Major>.<Minor>.<Build>.<Patch>.
Public property | InstrumentManufacturer | Returns the instrument manufacturer, "Keysight Technologies".
Public property | InstrumentModel | The model number of the instrument. Returns "M9195A".
Public property | Revision | The revision of this KtMDsr driver. The string is of the form <Major>.<Minor>.<Build>.<Patch>. (Inherited from IIviComponentIdentity.)
Public property | SpecificationMajorVersion | An IVI-specified attribute used to describe the class compliance. The IVI Foundation has not defined a class relevant to the DSR; therefore, this returns zero.
Public property | SpecificationMinorVersion | An IVI-specified attribute used to describe the class compliance. The IVI Foundation has not defined a class relevant to the DSR; therefore, this returns zero.
Public property | SupportedInstrumentModels | A comma-separated list of instrument models that the IVI specific driver can control. Returns "M9195A".
Public property | Vendor | The name of the vendor that supplies the implementing component. Returns "Keysight Technologies". (Inherited from IIviComponentIdentity.)
Top

See Also

Reference

Ivi.Driver.Interop Namespace


Properties

 | Name | Description
Public property | Description | Returns "IVI Driver for the KtMDsr Digital Stimulus Response module"; if compiled for 64-bit, the description is followed by a trailing substring, "[Compiled for 64-bit.]" (Inherited from IIviComponentIdentity.)
Public property | GroupCapabilities | An IVI-specified attribute used to describe the class compliance. The IVI Foundation has not defined a class relevant to the DSR; therefore, this returns an empty string.
Public property | Identifier | Identifies the instrument driver. Returns: "KtMDsr"
Public property | InstrumentFirmwareRevision | The firmware revision loaded onto the module. The string is of the form <Major>.<Minor>.<Build>.<Patch>.
Public property | InstrumentManufacturer | Returns the instrument manufacturer, "Keysight Technologies".
Public property | InstrumentModel | The model number of the instrument. Returns "M9195A".
Public property | Revision | The revision of this KtMDsr driver. The string is of the form <Major>.<Minor>.<Build>.<Patch>. (Inherited from IIviComponentIdentity.)
Public property | SpecificationMajorVersion | An IVI-specified attribute used to describe the class compliance. The IVI Foundation has not defined a class relevant to the DSR; therefore, this returns zero.
Public property | SpecificationMinorVersion | An IVI-specified attribute used to describe the class compliance. The IVI Foundation has not defined a class relevant to the DSR; therefore, this returns zero.
Public property | SupportedInstrumentModels | A comma-separated list of instrument models that the IVI specific driver can control. Returns "M9195A".
Public property | Vendor | The name of the vendor that supplies the implementing component. Returns "Keysight Technologies". (Inherited from IIviComponentIdentity.)
Top


IIviDriverOperation Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverOperation Interface
See Also

IVI Driver operation interface

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Interface IIviDriverOperation
C#
public interface IIviDriverOperation
Visual C++
__interface IIviDriverOperation

Properties

 | Name | Description
Public property | Cache | This IVI standard attribute has no effect on the KtMDsr driver.
Public property | DriverSetup | Returns the driver setup string that the user specified in the IVI configuration store when the instrument driver session was initialized or passed in the OptionString parameter of the Initialize function.
Public property | InterchangeCheck | This is an optional IVI-standard attribute and is not implemented by the KtMDsr. It flags warnings when measurements are made when certain settings have not been altered from their default values.
Public property | IoResourceDescriptor | The resource descriptor specifies the connection to module. It may be specified in the Configuration Store or passed in the ResourceName parameter of the Initialize function. It is null if the driver is not initialized.
Public property | LogicalName | The Logical Name identifies a driver session in the Configuration Store. If Logical Name is not empty, the driver was initialized from information in the driver session. If empty, the driver was initialized without using the Configuration Store.
Public property | QueryInstrumentStatus | This is an IVI-standard method used to query a remote instrument at the end of each method or property that performs I/O to the instrument. This is not implemented in the KtMDsr.
Public property | RangeCheck | Drivers may choose to always validate some property/parameter values, never validate others, and optionally validate others, to avoid sending invalid commands to the instrument. If True, the driver performs optional validations.
Public property | RecordCoercions | This is an optional IVI-standard method. This is not implemented by the KtMDsr. It controls the logging of settings that have been rounded or coerced before applying them to the hardware.
Public property | Simulate | If True, the driver does not perform I/O to the instrument, but returns simulated values for output parameters and results.
Top

Methods

 | Name | Description
Public method | ClearInterchangeWarnings | This is an optional IVI-standard method for managing the reset values of instrument attributes. This capability is not implemented by the KtMDsr.
Public method | GetNextCoercionRecord | This is an optional IVI-standard method. It interrogates how settings have been rounded or coerced before applying them to the hardware. This is not implemented by the KtMDsr.
Public method | GetNextInterchangeWarning | This is an optional IVI-standard query. This is not implemented by the KtMDsr. It flags warnings when measurements are made when certain settings have not been altered from there default values.
Public method | InvalidateAllAttributes | This IVI-standard function invalidates all of the driver's cached values. The KtMDsr driver always manages its state cache internally; therefore, this function performs no operations and returns Success.
Public method | ResetInterchangeCheck | This is an optional IVI-standard function. This is not implemented by the KtMDsr. It controls warnings when measurements are initiated while certain settings have not been altered from their default values.
Top

See Also

Reference

Ivi.Driver.Interop Namespace


Methods

 | Name | Description
Public method | ClearInterchangeWarnings | This is an optional IVI-standard method for managing the reset values of instrument attributes. This capability is not implemented by the KtMDsr.
Public method | GetNextCoercionRecord | This is an optional IVI-standard method. It interrogates how settings have been rounded or coerced before applying them to the hardware. This is not implemented by the KtMDsr.
Public method | GetNextInterchangeWarning | This is an optional IVI-standard query. This is not implemented by the KtMDsr. It flags warnings when measurements are made when certain settings have not been altered from there default values.
Public method | InvalidateAllAttributes | This IVI-standard function invalidates all of the driver's cached values. The KtMDsr driver always manages its state cache internally; therefore, this function performs no operations and returns Success.
Public method | ResetInterchangeCheck | This is an optional IVI-standard function. This is not implemented by the KtMDsr. It controls warnings when measurements are initiated while certain settings have not been altered from their default values.
Top


Properties

 | Name | Description
Public property | Cache | This IVI standard attribute has no effect on the KtMDsr driver.
Public property | DriverSetup | Returns the driver setup string that the user specified in the IVI configuration store when the instrument driver session was initialized or passed in the OptionString parameter of the Initialize function.
Public property | InterchangeCheck | This is an optional IVI-standard attribute and is not implemented by the KtMDsr. It flags warnings when measurements are made when certain settings have not been altered from their default values.
Public property | IoResourceDescriptor | The resource descriptor specifies the connection to module. It may be specified in the Configuration Store or passed in the ResourceName parameter of the Initialize function. It is null if the driver is not initialized.
Public property | LogicalName | The Logical Name identifies a driver session in the Configuration Store. If Logical Name is not empty, the driver was initialized from information in the driver session. If empty, the driver was initialized without using the Configuration Store.
Public property | QueryInstrumentStatus | This is an IVI-standard method used to query a remote instrument at the end of each method or property that performs I/O to the instrument. This is not implemented in the KtMDsr.
Public property | RangeCheck | Drivers may choose to always validate some property/parameter values, never validate others, and optionally validate others, to avoid sending invalid commands to the instrument. If True, the driver performs optional validations.
Public property | RecordCoercions | This is an optional IVI-standard method. This is not implemented by the KtMDsr. It controls the logging of settings that have been rounded or coerced before applying them to the hardware.
Public property | Simulate | If True, the driver does not perform I/O to the instrument, but returns simulated values for output parameters and results.
Top


IIviDriverUtility Interface

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IIviDriverUtility Interface
See Also

IVI Driver utility interface

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Interface IIviDriverUtility
C#
public interface IIviDriverUtility
Visual C++
__interface IIviDriverUtility

Methods

 | Name | Description
Public method | Disable | Quickly places the instrument in a state where it has no, or minimal, effect on the external system to which it is connected. As a side effect of this call, the instrument is Reset.
Public method | ErrorQuery | This function always returns an ErrorCode of 0 and the ErrorMessage "No Error".
Public method | LockObject | The driver throws an exception if LockObject is called.
Public method | Reset | Places the instrument in the Initialized state. This is the same state the instrument is put in by Initialize, with the exception of PatternCache and TraceEnabled.
Public method | ResetWithDefaults | Does the equivalent of Reset and then, configures the driver to option string settings used when Initialize was executed.
Public method | SelfTest | Performs a self-test on the module. If self-test passes, the TestResult is zero and TestMessage is 'Self test passed'. If self-test fails, TestResult will always return the error code -2147205102, and TestMessage will provide information on the failure(s).
Public method | UnlockObject | The driver throws an exception if UnlockObject is called.
Top

See Also

Reference

Ivi.Driver.Interop Namespace


Methods

 | Name | Description
Public method | Disable | Quickly places the instrument in a state where it has no, or minimal, effect on the external system to which it is connected. As a side effect of this call, the instrument is Reset.
Public method | ErrorQuery | This function always returns an ErrorCode of 0 and the ErrorMessage "No Error".
Public method | LockObject | The driver throws an exception if LockObject is called.
Public method | Reset | Places the instrument in the Initialized state. This is the same state the instrument is put in by Initialize, with the exception of PatternCache and TraceEnabled.
Public method | ResetWithDefaults | Does the equivalent of Reset and then, configures the driver to option string settings used when Initialize was executed.
Public method | SelfTest | Performs a self-test on the module. If self-test passes, the TestResult is zero and TestMessage is 'Self test passed'. If self-test fails, TestResult will always return the error code -2147205102, and TestMessage will provide information on the failure(s).
Public method | UnlockObject | The driver throws an exception if UnlockObject is called.
Top


Enums

[image]

KtMDsr IVI Driver Reference Keysight Technologies
Ivi.Driver.Interop Enums

Enumerations

 | Enumeration | Description
Public enumeration | IviDriver_ErrorCodes | IVI Driver (inherent features) defined HRESULTS


IviDriver_ErrorCodes Enumeration

[image]

KtMDsr IVI Driver Reference Keysight Technologies
IviDriver_ErrorCodes Enumeration
See Also

IVI Driver (inherent features) defined HRESULTS

Namespace: Ivi.Driver.Interop
Assembly: Ivi.Driver.Interop (in Ivi.Driver.Interop.DLL)

Syntax

Visual Basic
Public Enumeration IviDriver_ErrorCodes
C#
public enum IviDriver_ErrorCodes
Visual C++
public enum class IviDriver_ErrorCodes

Members

Member name | Value | Description
S_IVI_SUCCESS | 0x00000000 | Success.
E_IVI_CANNOT_RECOVER | 0x80047000 | Unrecoverable failure.
E_IVI_INSTRUMENT_STATUS | 0x80047001 | Instrument error detected.
E_IVI_CANNOT_OPEN_FILE | 0x80047002 | File could not be opened.
E_IVI_READING_FILE | 0x80047003 | File could not be read.
E_IVI_WRITING_FILE | 0x80047004 | File could not be written.
E_IVI_INVALID_PATHNAME | 0x8004700B | The path name is invalid.
E_IVI_INVALID_VALUE | 0x80047010 | Invalid value for parameter or property.
E_IVI_METHOD_NOT_SUPPORTED | 0x80047011 | Method not supported.
E_IVI_PROPERTY_NOT_SUPPORTED | 0x80047012 | Property not supported.
E_IVI_VALUE_NOT_SUPPORTED | 0x80047013 | The enumeration value for the parameter is not supported.
E_IVI_NOT_INITIALIZED | 0x8004701D | A connection to the instrument has not been initialized.
E_IVI_UNKNOWN_CHANNEL_NAME | 0x80047020 | Channel or repeated capability name specified is not valid for the instrument.
E_IVI_TOO_MANY_OPEN_FILES | 0x80047023 | Too many files opened.
E_IVI_CHANNEL_NAME_REQUIRED | 0x80047044 | Channel or repeated capability name required.
E_IVI_MISSING_OPTION_NAME | 0x80047049 | The option string contains an entry without a name.
E_IVI_MISSING_OPTION_VALUE | 0x8004704A | The option string contains an entry without a value.
E_IVI_BAD_OPTION_NAME | 0x8004704B | The option string contains an entry with an unknown option name.
E_IVI_BAD_OPTION_VALUE | 0x8004704C | The option string contains an entry with an unknown option value.
E_IVI_OUT_OF_MEMORY | 0x80047056 | The necessary memory could not be allocated.
E_IVI_OPERATION_PENDING | 0x80047057 | Operation in progress.
E_IVI_NULL_POINTER | 0x80047058 | Null pointer passed for parameter or property.
E_IVI_UNEXPECTED_RESPONSE | 0x80047059 | Unexpected response from the instrument.
E_IVI_FILE_NOT_FOUND | 0x8004705B | File not found.
E_IVI_INVALID_FILE_FORMAT | 0x8004705C | The file format is invalid.
E_IVI_STATUS_NOT_AVAILABLE | 0x8004705D | The instrument status is not available.
E_IVI_ID_QUERY_FAILED | 0x8004705E | Instrument ID query failed.
E_IVI_RESET_FAILED | 0x8004705F | Instrument reset failed.
E_IVI_RESOURCE_UNKNOWN | 0x80047060 | Insufficient location information or resource not present in the system.
E_IVI_ALREADY_INITIALIZED | 0x80047061 | The driver is already initialized.
E_IVI_CANNOT_CHANGE_SIMULATION_STATE | 0x80047062 | The simulation state cannot be changed.
E_IVI_INVALID_NUMBER_OF_LEVELS_IN_SELECTOR | 0x80047063 | The number of levels in the selector is not valid for the repeated capability.
E_IVI_INVALID_RANGE_IN_SELECTOR | 0x80047064 | The range is not valid for the repeated capability.
E_IVI_UNKNOWN_NAME_IN_SELECTOR | 0x80047065 | Unknown name in selector.
E_IVI_BADLY_FORMED_SELECTOR | 0x80047066 | The repeated capability selector is badly-formed.
E_IVI_UNKNOWN_PHYSICAL_IDENTIFIER | 0x80047067 | Unknown physical repeated capability selector.
S_IVI_NSUP_ID_QUERY | 0x00047065 | Identification query not supported.
S_IVI_NSUP_RESET | 0x00047066 | Reset operation not supported.
S_IVI_NSUP_SELF_TEST | 0x00047067 | Self test operation not supported.
S_IVI_NSUP_ERROR_QUERY | 0x00047068 | Error query operation not supported.
S_IVI_NSUP_REV_QUERY | 0x00047069 | Revision query not supported.

See Also

Reference

Ivi.Driver.Interop Namespace


Errors and Warnings

[image]

KtMDsr IVI Driver Reference Keysight Technologies
Errors and Warnings

Errors

Name | Value (Hex) | Value (Decimal) | Description
E_IVI_CANNOT_RECOVER | 0x80047000 | -2147192832 | Failure cannot recover.
E_IVI_INSTRUMENT_STATUS | 0x80047001 | -2147192831 | Instrument error detected. Use ErrorQuery() to determine error(s).
E_IVI_CANNOT_OPEN_FILE | 0x80047002 | -2147192830 | Cannot open file.
E_IVI_READING_FILE | 0x80047003 | -2147192829 | Error reading file.
E_IVI_WRITING_FILE | 0x80047004 | -2147192828 | Error writing file.
E_IVI_INVALID_PATHNAME | 0x8004700B | -2147192821 | The path name is invalid.
E_IVI_INVALID_VALUE | 0x80047010 | -2147192816 | Invalid value (%1) for method %2, parameter %3.
E_IVI_METHOD_NOT_SUPPORTED | 0x80047011 | -2147192815 | Does not support this class-compliant feature: method %1.
E_IVI_PROPERTY_NOT_SUPPORTED | 0x80047012 | -2147192814 | Does not support this class-compliant feature: property %1.
E_IVI_VALUE_NOT_SUPPORTED | 0x80047013 | -2147192813 | Does not support this class-compliant feature: (enumeration) value %1 passed as the value for parameter %2 in method %3.
E_IVI_NOT_INITIALIZED | 0x8004701D | -2147192803 | A connection to the instrument has not been established.
E_IVI_UNKNOWN_CHANNEL_NAME | 0x80047020 | -2147192800 | Unknown channel name.
E_IVI_TOO_MANY_OPEN_FILES | 0x80047023 | -2147192797 | Too many files are opened.
E_IVI_CHANNEL_NAME_REQUIRED | 0x80047044 | -2147192764 | A channel name is required.
E_IVI_MISSING_OPTION_NAME | 0x80047049 | -2147192759 | The option string is missing an option name.
E_IVI_MISSING_OPTION_VALUE | 0x8004704A | -2147192758 | The option string is missing an option value.
E_IVI_BAD_OPTION_NAME | 0x8004704B | -2147192757 | The %1 name in the option string is unknown.
E_IVI_BAD_OPTION_VALUE | 0x8004704C | -2147192756 | The %1 value in the option string is unknown.
E_IVI_OUT_OF_MEMORY | 0x80047056 | -2147192746 | Could not allocate necessary memory.
E_IVI_OPERATION_PENDING | 0x80047057 | -2147192745 | Operation in progress.
E_IVI_NULL_POINTER | 0x80047058 | -2147192744 | Null pointer passed for method %1, parameter %2.
E_IVI_UNEXPECTED_RESPONSE | 0x80047059 | -2147192743 | Unexpected response from the instrument.
E_IVI_FILE_NOT_FOUND | 0x8004705B | -2147192741 | File not found.
E_IVI_INVALID_FILE_FORMAT | 0x8004705C | -2147192740 | Invalid file format.
E_IVI_STATUS_NOT_AVAILABLE | 0x8004705D | -2147192739 | The instrument status is not available.
E_IVI_ID_QUERY_FAILED | 0x8004705E | -2147192738 | Instrument ID query failed.
E_IVI_RESET_FAILED | 0x8004705F | -2147192737 | Instrument reset failed.
E_IVI_RESOURCE_UNKNOWN | 0x80047060 | -2147192736 | Unknown resource.
E_IVI_ALREADY_INITIALIZED | 0x80047061 | -2147192735 | The driver is already initialized.
E_IVI_CANNOT_CHANGE_SIMULATION_STATE | 0x80047062 | -2147192734 | The simulation state cannot be changed.
E_IVI_INVALID_NUMBER_OF_LEVELS_IN_SELECTOR | 0x80047063 | -2147192733 | The number of levels in the selector is not valid for the %1 repeated capability.
E_IVI_INVALID_RANGE_IN_SELECTOR | 0x80047064 | -2147192732 | The range %1 is not valid for the repeated capability %2.
E_IVI_UNKNOWN_NAME_IN_SELECTOR | 0x80047065 | -2147192731 | Unknown name in selector.
E_IVI_BADLY_FORMED_SELECTOR | 0x80047066 | -2147192730 | The repeated capability selector is badly-formed.
E_IVI_UNKNOWN_PHYSICAL_IDENTIFIER | 0x80047067 | -2147192729 | Unknown physical repeated capability selector.
E_KTMDSR_CHECK_ERROR_QUEUE | 0x80044000 | -2147205120 | An error occurred. Use the Utility.ErrorQuery call to check the error queue for more error details.
E_KTMDSR_UNABLE_TO_INITIALIZE_HARDWARE | 0x80044001 | -2147205119 | Unable to initialize hardware.
E_KTMDSR_PARAMETER_VALIDATION_ERROR | 0x80044002 | -2147205118 | Validation error.
E_KTMDSR_UNRECOGNIZED_ERROR | 0x80044003 | -2147205117 | Unrecognized error during %1. Fundamental status result %2
E_KTMDSR_MODULE_VALIDATE_FAILED | 0x80044004 | -2147205116 | Module validate failed. Normally the result of incorrect firmware loaded or hardware failure.
E_KTMDSR_WAIT_ABORTED | 0x80044005 | -2147205115 | A wait operation was aborted.
E_KTMDSR_OPERATION_ABORTED | 0x80044006 | -2147205114 | Operation aborted.
E_KTMDSR_VALIDATION_ERROR | 0x80044007 | -2147205113 | Validation error. This is normally the result of an incorrect combination of settings even though each setting is within the valid limits.
E_KTMDSR_INTERNAL_APPLICATION_ERROR | 0x80044008 | -2147205112 | An internal application error has occurred.
E_KTMDSR_UNSUPPORTED_FEATURE | 0x80044009 | -2147205111 | This feature is not supported by the software driver.
E_KTMDSR_INCOMPATIBLE_SOFTWARE_VERSION_ERROR | 0x8004400A | -2147205110 | The software is incompatible with either the hardware version or the current firmware version.
E_KTMDSR_FILE_TYPE_NOT_RECOGNIZED | 0x8004400B | -2147205109 | File type not recognized.
E_KTMDSR_LICENSE_VALIDATION_ERROR | 0x8004400C | -2147205108 | License requirements not supported.
E_KTMDSR_MISSING_CLOCK_ERROR | 0x8004400D | -2147205107 | Missing clock. Check cables.
E_KTMDSR_VERIFY_OPERATION_ERROR | 0x8004400E | -2147205106 | Verify operation failed. Check cables.
E_KTMDSR_FIRMWARE_UPDATE_ERROR | 0x8004400F | -2147205105 | Firmware update error.
E_KTMDSR_SELFTEST_FAILED | 0x80044012 | -2147205102 | Self test failed.
E_KTMDSR_FIRMWARE_UPDATE_REQUIRED | 0x80044014 | -2147205100 | Firmware update required
E_KTMDSR_LICENSE_SYSTEM_ERROR | 0x8004401A | -2147205094 | An error occurred in the licensing system.
E_KTMDSR_INSTRUMENT_CALIBRATION_DUE | 0x80044020 | -2147205088 | Instrument calibration will be due soon.
E_KTMDSR_INSTRUMENT_CALIBRATION_EXPIRED | 0x80044021 | -2147205087 | Instrument calibration has expired.
E_KTMDSR_INSTRUMENT_NOT_CALIBRATED | 0x80044022 | -2147205086 | Instrument not calibrated.
E_KTMDSR_MODULE_CALIBRATION_DUE | 0x80044023 | -2147205085 | Module calibration will be due soon.
E_KTMDSR_MODULE_CALIBRATION_EXPIRED | 0x80044024 | -2147205084 | Module calibration has expired.
E_KTMDSR_MODULE_NOT_CALIBRATED | 0x80044025 | -2147205083 | Module not calibrated.
E_KTMDSR_HARDWARE_TIMEOUT | 0x80044026 | -2147205082 | Hardware Timeout
E_KTMDSR_SOFTWARE_TIMEOUT | 0x80044027 | -2147205081 | Software Timeout
E_KTMDSR_OUT_OF_MEMORY_ERROR | 0x80044028 | -2147205080 | Memory allocation failure
E_KTMDSR_OPERATION_ERROR | 0x80044029 | -2147205079 | Operation error
E_KTMDSR_HARDWARE_RESOURCE_NOT_AVAILABLE | 0x8004402A | -2147205078 | Hardware resource allocation failure
E_KTMDSR_FPGA_PROGRAMMING_ERROR | 0x8004402B | -2147205077 | FPGA programming error
E_KTMDSR_PROPERTY_NOT_SUPPORTED | 0x8004402C | -2147205076 | Property not supported
E_KTMDSR_TEST_FAILED_INCORRECT_VERSION | 0x8004402D | -2147205075 | Test failed due to incorrect version
E_KTMDSR_NONVOLATILE_READ_ERROR | 0x8004402D | -2147205075 | Nonvolatile read failed
E_KTMDSR_NONVOLATILE_WRITE_ERROR | 0x8004402E | -2147205074 | Nonvolatile write failed
E_KTMDSR_THERMAL_SHUTDOWN_ERROR | 0x8004402F | -2147205073 |
E_KTMDSR_ACQUISITION_TIMEOUT | 0x800440C8 | -2147204920 | Acquisition has timed out
E_KTMDSR_IO_GENERAL | 0x80044214 | -2147204588 | I/O error: %1.
E_KTMDSR_IO_TIMEOUT | 0x80044215 | -2147204587 | I/O timeout error: %1.
E_KTMDSR_MODEL_NOT_SUPPORTED | 0x80044216 | -2147204586 | Instrument model does not support this feature: %1.
E_KTMDSR_SITE_ACTIVATION_ERROR | 0x80044FA0 | -2147201120 | Unable to activate requested Site
E_KTMDSR_PARSING_INPUT_FILE_ERROR | 0x80044FA1 | -2147201119 | Error(s) when parsing input file
E_KTMDSR_FILE_NOT_FOUND | 0x80044FA2 | -2147201118 | File not found
E_KTMDSR_INVALID_FILE_CONTENT | 0x80044FA3 | -2147201117 | Invalid File content
E_KTMDSR_FIRMWARE_UPDATE_SUCCESS | 0x80044FA4 | -2147201116 | Firmware update successful
E_KTMDSR_CARRIER_FIRMWARE_UPDATE_REQUIRED | 0x80044FA5 | -2147201115 | Carrier firmware update required
E_KTMDSR_FIRMWARE_UPDATE_IN_PROCESS | 0x80044FA6 | -2147201114 | Firmware update in process
E_KTMDSR_MEZZANINE_FIRMWARE_UPDATE_SUCCESS | 0x80044FA7 | -2147201113 | Mezzanine firmware update successful
E_KTMDSR_COMPILE_PATTERN_ERROR | 0x80044FA8 | -2147201112 | Unable to compile pattern
Top

Warnings

Name | Value (Hex) | Value (Decimal) | Description
S_IVI_SUCCESS | 0x0 | 0 | Success.
S_IVI_NSUP_ID_QUERY | 0x47065 | 290917 | ID Query is not supported by this instrument.
S_IVI_NSUP_RESET | 0x47066 | 290918 | Reset is not supported by this instrument.
S_IVI_NSUP_SELF_TEST | 0x47067 | 290919 | Self test is not supported by this instrument.
S_IVI_NSUP_ERROR_QUERY | 0x47068 | 290920 | Error query is not supported by this instrument.
S_IVI_NSUP_REV_QUERY | 0x47069 | 290921 | Firmware revision query is not supported by this instrument.
Top


KtMDsr IVI-C Driver

KtMDsr IVI-C Driver

The KtMDsr driver includes a fully compliant IVI-C driver. The topics in this section detail how to perform specific programming tasks using the IVI-C functionality available with the KtMDsr driver.

In This Section

Initializing the IVI-C Driver

Presents the steps required to properly initialize the IVI-C driver.

Accessing Instrument-Specific Functionality

Explains how to access the specialized functionality of the KtMDsr driver.

Using Simulation

Provides information on using the simulation capabilities of the driver.

Programming with the IVI-C Driver in Various Development Environment

Demonstrates how the KtMDsr driver can be used in a various application development environments (ADEs).

Reference

Presents reference documentation for each IVI-C function and attribute.


Initializing the IVI-C Driver

Initializing the IVI-C Driver

When using this specific driver directly, the client application will necessarily have references to the specific driver (through the use of the "KtMDsr" in function call names and by directly references KtMDsr.h and KtMDsr.lib); For many applications, this is perfectly acceptable.

The examples below in the section describing the Initialize function will present this technique for initializing an IVI-C driver.

Calling the Initialize Function

The IVI-defined Initialize and Initialize With Options functions offer a variety of options and parameters that control fundamental aspects of the driver's behavior. It is critical to understand what options are available and how they impact driver operation.

ResourceName

The resource name parameter can be a logical name present in the IVI Configuration Store or a physical resource descriptor. If the ResourceName is a logical name, then additional options stored in the IVI Configuration Store will be loaded and processed. This allows client code to reuse driver option settings and to keep the driver code as concise as possible, by removing settings that can be stored in the IVI Configuration Store. It is important to note that any parameters or options passed directly to the Initialize function via the OptionString parameter (discussed below) override any settings found in the IVI Configuration Store.

Interface Physical Resource Descriptor Syntax
GPIB GPIB[board]::primary address[::secondary address][::INSTR]
Example: GPIB0::18::INSTR
ASRL ASRL[board][::INSTR]
Example: ASRL1::INSTR
TCPIP TCPIP[board]::host address[::LAN device name]::INSTR
Example: TCPIP0::127.0.0.1::INSTR
TCPIP TCPIP[board]::host address::port::SOCKET
Example: TCPIP0::127.0.0.1::5025::SOCKET
USB USB[board]::manufacturer ID::model code::serial number[::USB interface number][::INSTR]
Example: USB0::2391::291::SN_001001::INSTR
PXI PXI[bus]::device[::function][::INSTR]
Example: PXI1::5::INSTR
PXI PXI0::CHASSISchassis::SLOTslot[::FUNCfunction][::INSTR]
PXI0::bus-device[.function][::INSTR]

IdQuery

If this is enabled, the driver will query the instrument model and compare it with a list of instrument models that is supported by the driver. If the model is not supported, Initialize will fail with the IVI_ERROR_ID_QUERY_FAILED error code.

Reset

If this is enabled, the driver will perform a reset of the instrument. If the reset fails, Initialize will fail with the IVI_ERROR_RESET_FAILED error code.

OptionString

The OptionString allows the user to pass optional settings to the driver. These settings override any settings that are specified in the IVI Configuration Store. If the IVI Configuration Store is not used (a resource descriptor is passed as the ResourceName instead of a logical name) then any setting that is not specified has a default value as specified by IVI.

Option Name | Description | Default
QueryInstrStatus | Specifies whether the IVI specific driver queries the instrument status at the end of each user operation. Querying the instrument status is very useful for debugging. After validating the program, the user can set this attribute to False to disable status checking and maximize performance. The user specifies this value for the entire IVI driver session. | false
Simulate | Specifies whether or not the IVI specific driver simulates instrument driver I/O operations. If simulation is enabled, the specific driver functions do not perform instrument I/O. For output parameters that represent instrument data, the specific driver functions return simulated values. | false
Cache | Specifies whether or not to cache the value of attributes. When caching is enabled, the IVI specific driver keeps track of the current instrument settings so that it can avoid sending redundant commands to the instrument. | true
InterchangeCheck | Specifies whether the IVI specific driver performs interchangeability checking. If the Interchange Check attribute is enabled, the specific driver maintains a record of each interchangeability warning that it encounters. The user calls the Get Next Interchange Warning function to extract and delete the oldest interchangeability warning from the list. | false
RangeCheck | Specifies whether the IVI specific driver validates attribute values and function parameters. If enabled, the specific driver validates the parameter values that users pass to driver functions. Validating attribute values and function parameters is useful for debugging. After validating the program, the user can set this attribute to False to disable range checking and maximize performance. | true
RecordCoercions | Specifies whether the IVI specific driver keeps a list of the value coercions it makes for ViInt32 and ViReal64 attributes. If the Record Value Coercions attribute is enabled, the specific driver maintains a record of each coercion. The user calls the Get Next Coercion Record function to extract and delete the oldest coercion record from the list. | false
DriverSetup | Specifies additional settings supported by the driver, but not defined by IVI. | ""

DriverSetup

This is used to specify settings that are supported by the driver but not defined by IVI. If the Options String parameter contains an assignment for the Driver Setup attribute, the Initialize function assumes that everything following 'DriverSetup=' is part of the assignment. The following settings are supported by the KtMDsr driver.

Option Name | Description | Default
Model | Instrument model to use during simulation. Must be one of the supported model strings as returned by the SUPPORTED_INSTRUMENT_MODELS attribute. | (default_model)
Trace | If true, output trace log of all driver calls to an XML file in the same directory as the application executable accessing the driver or as specified by the TraceName option. The log file may be viewed in your web browser. Beginning with Keysight IO Libraries Suite 16.0, driver trace messages may also be viewed with the IO Monitor utility. See IO Monitor help for details. | false
TraceName | If specified, sets the path and file name for the XML log file output when option Trace=true. It is not necessary to include the .xml extension with the name. Example: 'DriverSetup = Trace=true, TraceName=C:\Temp\TraceOut' If not specified, tracing generates a unique XML trace file name based on the date and time. A new file is created each time the driver is initialized with tracing enabled. | ""
TraceArray | If true, array parameter data is output to the trace log. | false
TraceArraySizeMax | Specifies the maximum number of elements to trace for array parameters. Requires option 'TraceArray=true'. | 10
TraceSizeMax | Specifies the maximum size of the trace log file in bytes. Once the file reaches this size, tracing will be turned off automatically by the driver. | 1000000
TraceSaveInterval | Specifies how often the driver should save trace data to the trace log file. The value is specified in minutes. | 1

Example 1 (simulation)

The following code initializes the driver in simulation mode and specifies the model to simulate.

C++ Copy Code Copy Code
#include "KtMDsr.h" // Specific driver header file

void main()
{
  ViStatus status;
  ViSession session;

  // Initialize the driver in simulation mode.  Resource name is ignored when Simulate=true.
  // IdQuery and Reset options are enabled.
  status = KtMDsr_InitWithOptions("PXI8::0::0::INSTR", VI_TRUE, VI_TRUE, "Simulate=true, DriverSetup= Model=M9195A_B", &session);

  // ... call KtMDsr driver functions

  status = KtMDsr_close(session);
}


Accessing Repeated Capabilities

Accessing Repeated Capabilities

This page provides the list of supported repeated capabilities and repeated capability names for the KtMDsr driver. All DSR repeated capabilities are IVI-COM style dynamic, and do not have physical names since they are dynamic.

Repeated Capabilities

The KtMDsr driver supports the following repeated capabilities:

  • Pattern
  • WaveformTable
  • DcLevel
  • Site
  • SignalGroup
  • PatternExec
  • Signal
  • PatternBurst
  • CaptureSite
  • PpmuSite
  • StaticSite
  • PatternSite
  • MacroDef
  • Module
  • Trigger

For a detailed explanation of repeated capabilities, including repeated capability styles, physical names, and dynamic repeated capabilities, see the topic Repeated Capabilities.


Accessing Instrument-Specific Functionality

Accessing Instrument-Specific Functionality

As the name implies, the instrument-specific capabilities are those methods and properties that are unique to the instrument. In practice, the instrument-specific portion of the driver exposes the full functionality of the instrument - including functionality that may also be available in the class-compliant capabilities. Users that do not care about interchangeability or that need to access functionality that is not defined by IVI will use the instrument-specific interfaces in application programs.

When to use the instrument specific interfaces

  • When the required functionality is not exposed in the class-compliant interfaces.
  • When interchangeability is not a requirement.
  • When performance is critical. Sometimes a driver may perform better using the instrument specific interfaces because they match the instrument functionality more closely than the class-compliant interfaces.

Example

The following example demonstrates accessing instrument-specific function on the driver. Note that instrument-specific function calls are always prefixed with the instrument-specific prefix ("KtMDsr"). In contrast, calls to IVI-defined class-compliant functions are prefixed with the IVI class name.

C++ Copy Code Copy Code
#include "KtMDsr.h"
void main()
{
  ViStatus status;
  ViSession session;
  ViReal64 reading;

  status = KtMDsr_InitWithOptions("MyLogicalName", VI_TRUE, VI_TRUE, "", &session);
  status = KtMDsr_ReadEx(session, 2000, 3, &reading);
  status = KtMDsr_close(session);
}

Using both the class driver and specific driver

When programming against the class driver, it is possible to get access to the specific driver session that is used internally by the class driver. This allows the client program to talk directly to the specific driver.

Example

The following client code uses the class driver and the specific driver.

C++ Copy Code Copy Code
#include "KtMDsr.h"
#include "IviDmm.h"
void main()
{
  ViStatus status;
  ViSession classSession;
  ViSession specificSession;
  ViReal64 reading;

  status = IviDmm_InitWithOptions("MyLogicalName", VI_TRUE, VI_TRUE, "", &classSession);
  status = IviDmm_Read(classSession, 2000, &reading);

  // Get access to the specific driver session
  status = IviDmm_GetSpecificDriverCHandle(classSession, &specificSession);
  // Call the specific driver
  // ReadEx takes an additional parameter
  // This is available only from the specific driver
  status = KtMDsr_ReadEx(specificSession, 2000, 3, &reading);

  status = IviDmm_close(classSession);
}


Using Simulation

Using Simulation

An IVI driver can operate without the presence of an actual instrument by using simulation mode. When simulation is turned on, the driver performs no instrument communication, but attempts to generate results which allow client applications to reasonably execute. You can turn on simulation using either of the following two techniques:

  • Passing the "simulate=VI_TRUE" option string parameter to the InitWithOptions function.
  • Setting the SIMULATE attribute to VI_TRUE.

The IVI-C driver contains a SIMULATE attribute. Note that you can turn simulation on, if you initialize a driver with it off. However, if you initialize an IVI-COM driver with simulation turned on, you will get an error (The simulation state cannot be changed) if you attempt to later turn it off. This is because you cannot initiate a live I/O session with an instrument after you have called the InitWithOptions function.

Using The Option String

The fourth and last parameter to the InitWithOptions function is the option string. See the help on InitWithOptions for more details. To turn simulation on with the option string, include the following in the option string:

simulate=VI_TRUE

For example, the InitWithOptions call might look like this:

KtMDsr_InitWithOptions("PXI8::0::0::INSTR", VI_TRUE, VI_TRUE, "Simulate=VI_TRUE", &session);

When the simulate option is set VI_TRUE, the value of the resource descriptor parameter (the first parameter above) is ignored. This is because no I/O connection will be made with the instrument, as is required by IVI-3.1: Driver Architecture Specification.

The Driver Session Simulate Attribute

A DriverSession in the IVI Configuration Store contains properties for the same items which can be set with the option string parameter. The name of a DriverSession, or the name of a LogicalName which points to a DriverSession, can be used as the first parameter to InitWithOptions. If the SIMULATE attribute in the DriverSession is true, the driver is initialized in simulation mode.

Changing the Instrument Model

Many drivers support more than one instrument model. Drivers will typically select one of these as the default model by creating a special type of entry in the IVI Configuration Store known as a Configurable Initial Settings. You can modify the Model value in the Configurable Initial Settings for the DriverSession of interest, or you can simply specify the model to simulate at runtime during the call to Initialize.

To have the driver simulate a specific model of your choosing, simply add the desired model to the DriverSetup string using the following special syntax:

Simulate=VI_TRUE, DriverSetup=Model=M9195A_B

The complete InitWithOptions call becomes:

KtMDsr_InitWithOptions("PXI8::0::0::INSTR", VI_TRUE, VI_TRUE, "Simulate=VI_TRUE, DriverSetup= Model=M9195A_B", &session);

If you set the model to a value not supported by the driver, the driver reports an error.

Limitations of Simulation

Simulation is designed to allow the driver to be used without an instrument or any I/O software or hardware. However, simulation is not intended to fully emulate the instrument. There are some important differences you should be aware of:

  • Many instruments have status systems, and these are not live. For instance, you can set Enable and Transition registers but queries of Condition and Event registers will always return a fixed value, which is usually zero.
  • There often is no parameter range checking or coercion unless done in the driver. Most drivers depend on the instrument to perform range checking and coercion of parameter values. In simulation mode, this will not occur. For example setting a frequency parameter to 1E99 will be accepted without error in simulation where an instrument would return a "parameter out of range" error.
  • KtMDsr_error_query typically returns no error.
  • Measurement data is not live. Most data queries will return a fixed value or a small array of values.


Programming the IVI-C Driver in Various Development Environments

Programming with the IVI-C Driver in Various Development Environments

IVI-C drivers are implemented using standard Windows DLL technology. Consequently, IVI-C drivers can be used in a wide variety of development environments.

The topics in this section provide detailed instructions on how to access and use IVI-C drivers in a variety of popular development environments. Each topic includes a complete example of IVI-C driver usage.

In This Section

Using LabWindows/CVI

Explains how to use the IVI-C driver in National Instruments LabWindows/CVI.

Using LabVIEW

Provides instructions on how to use the IVI-C driver in National Instruments LabVIEW.

Using Visual C++

Describes the process for including an IVI-C driver in a Visual C++ project.

Using .NET

Explains how to use the driver in .NET languages, such as VB.NET and C#.

Using MATLAB

Presents information on using the driver with MATLAB.

Using Simulation

Presents information on using the simulation capabilities of the driver.


Using LabWindows/CVI

Using LabWindows/CVI

This section describes how to use the KtMDsr IVI-C driver from LabWindows/CVI.

Adding the Instrument Driver to the Project

In order to access any of the driver functions, the proper header file (.h) must be included in the project and the proper import library (.lib) must be referenced. LabWindows can automatically reference these files given the location of the function panel file (.fp). The sections below explain the steps required to add the instrument driver to a LabWindows project based on the .fp file.

All IVI-C driver programs must do the following:

  • #include "KtMDsr.h"
  • Link to KtMDsr.lib
  • Prefix function calls with "KtMDsr_"

To use the KtMDsr specific driver, perform the following steps in LabWindows.

  1. From the Edit menu, choose Add Files to Project... and select Instrument (.fp).
  2. Browse to the location of the KtMDsr.fp file. The .fp file is installed in the "Drivers\KtMDsr" folder of your IVI installation folder. Typically this will be something like the following:
    "C:\Program Files\IVI Foundation\IVI\Drivers\KtMDsr"
  3. LabWindows adds the driver to your project and loads it automatically.

Initializing the Driver

Calling KtMDsr_InitWithOptions will establish an I/O connection to an instrument (often referred to as an "I/O session") or setup the driver to work in simulation mode. Calling KtMDsr_close at the end of your program is required by the IVI specifications, else unpredictable driver behavior could result. Any resources held by the driver will not be properly released if close is not called.

For more details on initializing the driver, see the topic: Initializing the Driver

Initializing Using a Resource Descriptor

The driver is typically initialized using a resource descriptor, often a VISA resource descriptor, as shown below.

C++ Copy Code Copy Code
ViSession session;
ViStatus status;
status = KtMDsr_InitWithOptions("PXI8::0::0::INSTR", VI_TRUE, VI_TRUE, "", &session);
status = KtMDsr_close(session);

Initializing Using Options

This example shows how IVI-defined initialization options and driver-specific options can be passed to the Initialize function.

For more details on initializing the driver, see the topic:Initializing the Driver

C++ Copy Code Copy Code
// If true, this will query the instrument model and fail initialization
// if the model is not supported by the driver
ViBoolean idQuery = VI_FALSE;

// If true, the instrument is reset at initialization
ViBoolean reset = VI_FALSE;

// Setup IVI-defined initialization options
ViConstString standardInitOptions =
  "Cache=true, InterchangeCheck=false, QueryInstrStatus=true, RangeCheck=true, RecordCoercions=false, Simulate=false";

status = KtMDsr_InitWithOptions("PXI8::0::0::INSTR", idQuery, reset, standardInitOptions, &session);
status = KtMDsr_close(vi);

Accessing Attributes

Accessing attributes in an IVI-C driver is accomplished via a set of IVI-defined accessor functions. There are two accessor functions for each attribute type -- one accessor for reading attribute values and another accessor for writing attribute values.

The standard attribute accessors for reading attribute values are:

  • GetAttributeViInt32
  • GetAttributeViInt64
  • GetAttributeViReal64
  • GetAttributeViBoolean
  • GetAttributeViString

Correspondingly, the standard attribute accessors for writing attribute values are:

  • SetAttributeViInt32
  • SetAttributeViInt64
  • SetAttributeViReal64
  • SetAttributeViBoolean
  • SetAttributeViString

Each attribute accessor takes an attribute ID that uniquely identifies the attribute to access. These attribute IDs are #define'd constants listed in the KtMDsr.h header file and documented in the "Attributes by Name" section of the help file.. The following example demonstrates basic usage of attribute accessors to read and write IVI-C driver attribute values.

The following code is for illustration only and may not apply directly to this driver.

C++ Copy Code Copy Code
ViStatus status;

// Set the value of an attribute
status = KtMDsr_SetAttributeViReal64(vi, VI_NULL, KTMDSR_ATTR_FREQ_VOLTAGE_RANGE, 20.0);

// Get the value of a property
ViReal64 voltageRange;
status = KtMDsr_GetAttributeViReal64(vi, VI_NULL, KTMDSR_ATTR_FREQ_VOLTAGE_RANGE, &voltageRange);

// Set the value of a property (enum)
// Note use of the #define'd constant for the attribute value
status = KtMDsr_SetAttributeViInt32(vi, VI_NULL, KTMDSR_ATTR_TEMP_TRANSDUCER_TYPE, KTMDSR_VAL_THERMOCOUPLE);

Complete Example

Complete, working example programs may be found by clicking the Windows Start Menu shortcut under:
All Programs, Keysight Instrument Drivers, IVI-COM-C Drivers, KtMDsr, Examples

C++ Copy Code Copy Code
#include "KtMDsr.h"

int main (int argc, char *argv[])
{
  ViSession session;
  ViStatus status;
  ViChar str[128];
  ViInt32 ErrorCode;
  ViChar ErrorMessage[256];

  // Initialize the driver
  status = KtMDsr_InitWithOptions("PXI8::0::0::INSTR", VI_TRUE, VI_TRUE, "", &session);
  if(status)
  {
    // Initialization failed
    KtMDsr_GetError(session, &ErrorCode, 255, ErrorMessage);
    printf("** InitWithOptions() Error: %d, %s\n", ErrorCode, ErrorMessage);
    printf("\nDone - Press Enter to Exit");
    getchar();
    return;
  }
  printf("Driver Initialized \n");

  // Read and output a few attributes
  status = KtMDsr_GetAttributeViString(session, "", KTMDSR_ATTR_SPECIFIC_DRIVER_PREFIX, 127, str);
  printf("DRIVER_PREFIX:      %s\n", str);
  status = KtMDsrl_GetAttributeViString(session, "", KTMDSR_ATTR_SPECIFIC_DRIVER_REVISION, 127, str);
  printf("DRIVER_REVISION:    %s\n", str);
  status = KtMDsr_GetAttributeViString(session, "", KTMDSR_ATTR_SPECIFIC_DRIVER_VENDOR, 127, str);
  printf("DRIVER_VENDOR:      %s\n", str);
  status = KtMDsr_GetAttributeViString(session, "", KTMDSR_ATTR_SPECIFIC_DRIVER_DESCRIPTION, 127, str);
  printf("DRIVER_DESCRIPTION: %s\n", str);
  status = KtMDsr_GetAttributeViString(session, "", KTMDSR_ATTR_INSTRUMENT_MODEL, 127, str);
  printf("INSTRUMENT_MODEL:   %s\n", str);
  status = KtMDsr_GetAttributeViString(session, "", KTMDSR_ATTR_INSTRUMENT_FIRMWARE_REVISION, 127, str);
  printf("FIRMWARE_REVISION:  %s\n", str);

  // TODO: Exercise driver functions and attributes

  // Check instrument for errors
  ErrorCode = 1;
  printf("\n");
  while(ErrorCode)
  {
    status = KtMDsr_error_query( session, &ErrorCode, ErrorMessage);
    printf("error_query: %d, %s\n", ErrorCode, ErrorMessage);
  }

  // Close the session
  status = KtMDsr_close(session);
  if(status)
  {
    KtMDsr_GetError(session, &ErrorCode, 255, ErrorMessage);
    printf("** Close() Error: %d, %s\n", ErrorCode, ErrorMessage);
  }
  else
    printf("Driver Closed \n");
}

For additional programming information see the Getting Started Guide on the IVI Foundation website.


Using LabVIEW

Using LabVIEW

LabVIEW provides rich support for accessing both IVI-COM and IVI-C drivers. The best mechanism to use depends upon a few factors, such as whether interchangeability is required and/or if access to instrument-specific functionality is desired. This topic explains the options available.

Using the LabVIEW Class Driver VIs

LabVIEW provides IVI Class Driver VIs that can be used to write interchangeable IVI applications. If interchangeability is the overriding requirement or if only the IVI-defined functions are needed in an application, then using the LabVIEW IVI Class Driver VIs is the preferred way to access the KtMDsr driver in LabVIEW. These VIs are located on the Functions palette under Instrument I/O -> IVI Class Drivers. You can use these VIs to load and access the underlying KtMDsr IVI-C driver.

Please see the National Instruments documentation for more details on using the IVI Class Driver VIs.

Using the LabVIEW Instrument Driver Import Wizard

National Instruments provides the LabVIEW Instrument Driver Import Wizard as a means to convert an IVI-C driver into a series of classic LabVIEW VIs arranged in standard LabVIEW menu palettes. This utility is not installed with the LabVIEW product, but it is freely available as a separate download from the National Instruments website. Unlike the IVI Class Driver VIs which only provide access to IVI-defined functions, the VIs produced by this utility provide access to the driver's instrument-specific functions. If interchangeability is not a requirement, then the LabVIEW Instrument Driver Import Wizard is a viable option.

Using the LabVIEW Class Browser

Although the import wizard produces convenient wrapper VIs for accessing the KtMDsr driver, it has some important shortcomings that should be considered when designing a LabVIEW application with IVI drivers. First, the import wizard only generates wrapper VIs for accessing IVI driver functions - no VIs are generated for any driver attributes. Since IVI drivers typically contain more attributes than functions, this means that most of the IVI driver functionality will not be accessible via the VIs produced by the import wizard. To access the attributes of the KtMDsr driver, the LabVIEW Property Node must be used.

Another disadvantage of using the import wizard is that it generates VIs that unnecessarily call into the KtMDsr driver through the IVI-C interface instead of the native IVI-COM interface. LabVIEW provides a very convenient tool called the Class Browser for accessing the IVI-COM driver directly. This avoids the overhead of going through the IVI-C wrapper layer, and, unlike the import wizard VIs, it can be used to access functions and attributes. Also unlike the import wizard which is a separate download utility, the Class Browser is a standard feature of LabVIEW.

For these reasons, it is generally preferable to use the Class Browser feature in lieu of the import wizard when accessing instrument-specific functionality. For details on using the Class Browser to access the KtMDsr driver, please see the IVI-COM topic Using LabVIEW.


Using Visual C++

Using Visual C++

This section describes how to use the KtMDsr IVI-C driver from Visual C++.

Referencing the Driver

In order to access any of the driver functions, the proper header file (.h) must be included in the project and the proper import library (.lib) must be referenced. This section demonstrates usage of the driver using instrument-specific references.

All IVI-C driver programs must do the following:

  • #include "KtMDsr.h"
  • Link to KtMDsr.lib
  • Prefix function calls with "KtMDsr_"

To use the KtMDsr specific driver, perform the following steps in Visual Studio.

  1. In solution explorer, right-click on the project and choose Properties.
  2. In the property pages dialog, expand the Linker node and select Input.
  3. In the Additional Dependencies field, enter "KtMDsr.lib".
  4. Click OK.
  5. In the main application source file (.cpp), add the following line to the top of the file:

    #include "KtMDsr.h"

Visual Studio must know the path to your driver's library (.lib) and header (.h) files. You can enter the following paths using the Tools, Options, Projects and Solutions, VC++ Directories dialog.

For Include Files (Win32 & x64) add: C:\Program Files (x86)\IVI Foundation\IVI\Include
For Library Files (Win32) add: C:\Program Files (x86)\IVI Foundation\IVI\Lib_\msc
For Library Files (x64) add: C:\Program Files (x86)\IVI Foundation\IVI\Lib_x64\msc
Note: For 32 bit operating systems paths start with: C:\Program Files\

Alternately, these paths may be entered in the Project Properties dialog, Configuration Properties, C++ and Linker panes.

Initializing the Driver

Calling KtMDsr_InitWithOptions will establish an I/O connection to an instrument (often referred to as an "I/O session") or setup the driver to work in simulation mode. Calling KtMDsr_close at the end of your program is required by the IVI specifications, else unpredictable driver behavior could result. Any resources held by the driver will not be properly released if close is not called.

For more details on initializing the driver, see the topic: Initializing the Driver

The driver is typically initialized using a resource descriptor, often a VISA resource descriptor, as shown below.

C++ Copy Code Copy Code
ViSession session;
ViStatus status;
status = KtMDsr_InitWithOptions("PXI8::0::0::INSTR", VI_TRUE, VI_TRUE, "", &session);
status = KtMDsr_close(session);

Initializing Using Options

This example shows how IVI-defined initialization options and driver-specific options can be passed to the Initialize function.

For more details on initializing the driver, see the topic: Initializing the Driver

C++ Copy Code Copy Code
// If true, this will query the instrument model and fail initialization
// if the model is not supported by the driver
ViBoolean idQuery = VI_FALSE;

// If true, the instrument is reset at initialization
ViBoolean reset = VI_FALSE;

// Setup IVI-defined initialization options
ViConstString standardInitOptions =
  "Cache=true, InterchangeCheck=false, QueryInstrStatus=true, RangeCheck=true, RecordCoercions=false, Simulate=false";

status = KtMDsr_InitWithOptions("PXI8::0::0::INSTR", idQuery, reset, standardInitOptions, &session);
status = KtMDsr_close(vi);

Accessing Attributes

Accessing attributes in an IVI-C driver is accomplished via a set of IVI-defined accessor functions. There are two accessor functions for each attribute type -- one accessor for reading (Get) attribute values and another accessor for writing (Set) attribute values.

The standard attribute accessors for reading attribute values are:

  • GetAttributeViInt32
  • GetAttributeViInt64
  • GetAttributeViReal64
  • GetAttributeViBoolean
  • GetAttributeViString

Correspondingly, the standard attribute accessors for writing attribute values are:

  • SetAttributeViInt32
  • SetAttributeViInt64
  • SetAttributeViReal64
  • SetAttributeViBoolean
  • SetAttributeViString

Each attribute accessor takes an attribute ID that uniquely identifies the attribute to access. These attribute IDs are #define'd constants listed in the KtMDsr.h header file and documented in the "Attributes by Name" section of the help file.. The following example demonstrates basic usage of attribute accessors to read and write IVI-C driver attribute values.

The following code is for illustration only and may not apply directly to this driver.

C++ Copy Code Copy Code
ViStatus status;

// Set the value of an attribute
status = KtMDsr_SetAttributeViReal64(vi, VI_NULL, KTMDSR_ATTR_VOLTAGE_RANGE, 20.0);

// Get the value of a property
ViReal64 voltageRange;
status = KtMDsr_GetAttributeViReal64(vi, VI_NULL, KTMDSR_ATTR_VOLTAGE_RANGE, &voltageRange);

// Set the value of a property (enum)
// Note use of the #define'd constant for the attribute value
status = KtMDsr_SetAttributeViInt32(vi, VI_NULL, KTMDSR_ATTR_TEMP_TRANSDUCER_TYPE, KTMDSR_VAL_THERMOCOUPLE);

Complete Example

Complete, working example programs may be found by clicking the Windows Start Menu shortcut under:
All Programs, Keysight Instrument Drivers, IVI-COM-C Drivers, KtMDsr, Examples

C++ Copy Code Copy Code
#include "KtMDsr.h"

void main()
{
  ViSession session;
  ViStatus status;
  ViChar str[128];
  ViInt32 ErrorCode;
  ViChar ErrorMessage[256];

  // Initialize the driver
  status = KtMDsr_InitWithOptions("PXI8::0::0::INSTR", VI_TRUE, VI_TRUE, "", &session);
  if(status)
  {
    // Initialization failed
    KtMDsr_GetError(session, &ErrorCode, 255, ErrorMessage);
    printf("** InitWithOptions() Error: %d, %s\n", ErrorCode, ErrorMessage);
    printf("\nDone - Press Enter to Exit");
    getchar();
    return;
  }
  printf("Driver Initialized \n");

  // Read and output a few attributes
  status = KtMDsr_GetAttributeViString(session, "", KTMDSR_ATTR_SPECIFIC_DRIVER_PREFIX, 127, str);
  printf("DRIVER_PREFIX:      %s\n", str);
  status = KtMDsrl_GetAttributeViString(session, "", KTMDSR_ATTR_SPECIFIC_DRIVER_REVISION, 127, str);
  printf("DRIVER_REVISION:    %s\n", str);
  status = KtMDsr_GetAttributeViString(session, "", KTMDSR_ATTR_SPECIFIC_DRIVER_VENDOR, 127, str);
  printf("DRIVER_VENDOR:      %s\n", str);
  status = KtMDsr_GetAttributeViString(session, "", KTMDSR_ATTR_SPECIFIC_DRIVER_DESCRIPTION, 127, str);
  printf("DRIVER_DESCRIPTION: %s\n", str);
  status = KtMDsr_GetAttributeViString(session, "", KTMDSR_ATTR_INSTRUMENT_MODEL, 127, str);
  printf("INSTRUMENT_MODEL:   %s\n", str);
  status = KtMDsr_GetAttributeViString(session, "", KTMDSR_ATTR_INSTRUMENT_FIRMWARE_REVISION, 127, str);
  printf("FIRMWARE_REVISION:  %s\n", str);

  // TODO: Exercise driver functions and attributes

  // Check instrument for errors
  ErrorCode = 1;
  printf("\n");
  while(ErrorCode)
  {
    status = KtMDsr_error_query( session, &ErrorCode, ErrorMessage);
    printf("error_query: %d, %s\n", ErrorCode, ErrorMessage);
  }

  // Close the session
  status = KtMDsr_close(session);
  if(status)
  {
    KtMDsr_GetError(session, &ErrorCode, 255, ErrorMessage);
    printf("** Close() Error: %d, %s\n", ErrorCode, ErrorMessage);
  }
  else
    printf("Driver Closed \n");
}

For additional programming information see the Getting Started Guide on the IVI Foundation website.


Using .NET

Using .NET

There is no standard mechanism for accessing an IVI-C driver in .NET languages. Though the Microsoft .NET framework provides the [DllImport] attribute as a means to access any DLL function, its use is not standardized within IVI and it is very tedious and error prone in practice.

However, since the KtMDsr driver is built upon an IVI-COM core driver, the best way to access the driver from .NET languages is via the .NET interop assembly provided with the driver. The interop assemblies directly accesses the IVI-COM driver (bypassing the IVI-C wrapper layer) and provide a way to author interchangeable .NET applications as well as instrument-specific applications that utility specialized driver features.

For details on using the KtMDsr driver in .NET applications, see the IVI-COM topic Using C#.


Using MATLAB

Using MATLAB

Although MATLAB provides support for accessing conventional Windows DLLs, such as IVI-C drivers, the KtMDsr driver includes a MATLAB wrapper that provides the most convenient way to access the KtMDsr driver. This wrapper directly accesses the underlying IVI-COM core driver, so the overhead of going through the KtMDsr driver's IVI-C wrapper layer is avoided.

For details on using the KtMDsr driver in MATLAB, please see the IVI-COM topic Using MATLAB.


IVI-C Reference

IVI-C Reference

The topics in this section document each function and attribute exposed from the IVI-C driver. Functions and attributes are presented in a hierarchical function tree as well as in a flat list by name.

In This Section

Hierarchy

Presents a hierarchical view of all driver functions and attributes.

Functions and Attributes

Displays the IVI-C functions and attributes together in a flat list.

Functions By Name

Lists all IVI-C functions sorted alphabetically by name.

Attributes By Name

Lists all IVI-C attributes sorted alphabetically by name.

Errors and Warnings

Presents all driver errors and warnings ordered by error code.


KtMDsr

KtMDsr
See Also

Tree Node: \KtMDsr

Branches

Name
Attribute Accessors
Inherent IVI Attributes
Instrument Specific
Utility
Top

Functions

 | Name | Description
Function | Close | Closes the session to the module. The module hardware and software resources used by the driver are released. Driver methods and properties that access the instrument are not accessible after Close is called.
Function | Initialize | Opens the I/O session to the instrument. Driver methods and properties that access the instrument are only accessible after Initialize is called. Initialize optionally performs a Reset and queries the instrument to validate the instrument model.
Function | Initialize With Options | Opens a session with from one to twelve DSR modules. Performs a Reset and optionally queries the instrument to validate the model. After initialization, the DSR module(s) are accessible by the driver methods and properties.
Top

See Also

Reference

KtMDsr


Attribute Accessors

Attribute Accessors
See Also

Tree Node: \KtMDsr\Attribute Accessors

Functions

 | Name | Description
Function | GetAttributeViBoolean | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | GetAttributeViInt32 | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | GetAttributeViReal64 | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | GetAttributeViSession | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | GetAttributeViString | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | SetAttributeViBoolean | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | SetAttributeViInt32 | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | SetAttributeViReal64 | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | SetAttributeViSession | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | SetAttributeViString | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Top

See Also

Reference

KtMDsr


KtMDsr_GetAttributeViBoolean Function

KtMDsr_GetAttributeViBoolean Function
Attribute Accessors See Also

This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.

Function Tree Node: \KtMDsr\Attribute Accessors\GetAttributeViBoolean
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_GetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

If the attribute applies to a repeated capability, the user passes a physical or virtual repeated capability identifier. Otherwise, the user passes VI_NULL or an empty string. For attributes requiring nested repeated capabilities, enter the names separated by a colon as in: "Window1:Trace2".

AttributeID

The ID of the attribute. The valid values for this parameter can be found in the driver header file.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Return Value

Success or failure code.

See Also

Reference

Attribute Accessors
KtMDsr


KtMDsr_GetAttributeViInt32 Function

KtMDsr_GetAttributeViInt32 Function
Attribute Accessors See Also

This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.

Function Tree Node: \KtMDsr\Attribute Accessors\GetAttributeViInt32
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

If the attribute applies to a repeated capability, the user passes a physical or virtual repeated capability identifier. Otherwise, the user passes VI_NULL or an empty string. For attributes requiring nested repeated capabilities, enter the names separated by a colon as in: "Window1:Trace2".

AttributeID

The ID of the attribute. The valid values for this parameter can be found in the driver header file.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Return Value

Success or failure code.

See Also

Reference

Attribute Accessors
KtMDsr


KtMDsr_GetAttributeViReal64 Function

KtMDsr_GetAttributeViReal64 Function
Attribute Accessors See Also

This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.

Function Tree Node: \KtMDsr\Attribute Accessors\GetAttributeViReal64
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_GetAttributeViReal64(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViReal64* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

If the attribute applies to a repeated capability, the user passes a physical or virtual repeated capability identifier. Otherwise, the user passes VI_NULL or an empty string. For attributes requiring nested repeated capabilities, enter the names separated by a colon as in: "Window1:Trace2".

AttributeID

The ID of the attribute. The valid values for this parameter can be found in the driver header file.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Return Value

Success or failure code.

See Also

Reference

Attribute Accessors
KtMDsr


KtMDsr_GetAttributeViSession Function

KtMDsr_GetAttributeViSession Function
Attribute Accessors See Also

This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.

Function Tree Node: \KtMDsr\Attribute Accessors\GetAttributeViSession
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_GetAttributeViSession(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViSession* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

If the attribute applies to a repeated capability, the user passes a physical or virtual repeated capability identifier. Otherwise, the user passes VI_NULL or an empty string. For attributes requiring nested repeated capabilities, enter the names separated by a colon as in: "Window1:Trace2".

AttributeID

The ID of the attribute. The valid values for this parameter can be found in the driver header file.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Return Value

Success or failure code.

See Also

Reference

Attribute Accessors
KtMDsr


KtMDsr_GetAttributeViString Function

KtMDsr_GetAttributeViString Function
Attribute Accessors See Also

This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.

Function Tree Node: \KtMDsr\Attribute Accessors\GetAttributeViString
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

If the attribute applies to a repeated capability, the user passes a physical or virtual repeated capability identifier. Otherwise, the user passes VI_NULL or an empty string. For attributes requiring nested repeated capabilities, enter the names separated by a colon as in: "Window1:Trace2".

AttributeID

The ID of the attribute. The valid values for this parameter can be found in the driver header file.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Return Value

Success or failure code.

See Also

Reference

Attribute Accessors
KtMDsr


KtMDsr_SetAttributeViBoolean Function

KtMDsr_SetAttributeViBoolean Function
Attribute Accessors See Also

This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.

Function Tree Node: \KtMDsr\Attribute Accessors\SetAttributeViBoolean
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

If the attribute applies to a repeated capability, the user passes a physical or virtual repeated capability identifier. Otherwise, the user passes VI_NULL or an empty string. For attributes requiring nested repeated capabilities, enter the names separated by a colon as in: "Window1:Trace2".

AttributeID

The ID of the attribute. The valid values for this parameter can be found in the driver header file.

AttributeValue

The value to which to set the attribute.

Return Value

Success or failure code.

See Also

Reference

Attribute Accessors
KtMDsr


KtMDsr_SetAttributeViInt32 Function

KtMDsr_SetAttributeViInt32 Function
Attribute Accessors See Also

This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.

Function Tree Node: \KtMDsr\Attribute Accessors\SetAttributeViInt32
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

If the attribute applies to a repeated capability, the user passes a physical or virtual repeated capability identifier. Otherwise, the user passes VI_NULL or an empty string. For attributes requiring nested repeated capabilities, enter the names separated by a colon as in: "Window1:Trace2".

AttributeID

The ID of the attribute. The valid values for this parameter can be found in the driver header file.

AttributeValue

The value to which to set the attribute.

Return Value

Success or failure code.

See Also

Reference

Attribute Accessors
KtMDsr


KtMDsr_SetAttributeViReal64 Function

KtMDsr_SetAttributeViReal64 Function
Attribute Accessors See Also

This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.

Function Tree Node: \KtMDsr\Attribute Accessors\SetAttributeViReal64
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SetAttributeViReal64(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViReal64 AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

If the attribute applies to a repeated capability, the user passes a physical or virtual repeated capability identifier. Otherwise, the user passes VI_NULL or an empty string. For attributes requiring nested repeated capabilities, enter the names separated by a colon as in: "Window1:Trace2".

AttributeID

The ID of the attribute. The valid values for this parameter can be found in the driver header file.

AttributeValue

The value to which to set the attribute.

Return Value

Success or failure code.

See Also

Reference

Attribute Accessors
KtMDsr


KtMDsr_SetAttributeViSession Function

KtMDsr_SetAttributeViSession Function
Attribute Accessors See Also

This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.

Function Tree Node: \KtMDsr\Attribute Accessors\SetAttributeViSession
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SetAttributeViSession(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViSession AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

If the attribute applies to a repeated capability, the user passes a physical or virtual repeated capability identifier. Otherwise, the user passes VI_NULL or an empty string. For attributes requiring nested repeated capabilities, enter the names separated by a colon as in: "Window1:Trace2".

AttributeID

The ID of the attribute. The valid values for this parameter can be found in the driver header file.

AttributeValue

The value to which to set the attribute.

Return Value

Success or failure code.

See Also

Reference

Attribute Accessors
KtMDsr


KtMDsr_SetAttributeViString Function

KtMDsr_SetAttributeViString Function
Attribute Accessors See Also

This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.

Function Tree Node: \KtMDsr\Attribute Accessors\SetAttributeViString
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViConstString AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

If the attribute applies to a repeated capability, the user passes a physical or virtual repeated capability identifier. Otherwise, the user passes VI_NULL or an empty string. For attributes requiring nested repeated capabilities, enter the names separated by a colon as in: "Window1:Trace2".

AttributeID

The ID of the attribute. The valid values for this parameter can be found in the driver header file.

AttributeValue

The value to which to set the attribute.

Return Value

Success or failure code.

See Also

Reference

Attribute Accessors
KtMDsr


KtMDsr_close Function

KtMDsr_close Function
KtMDsr See Also

Closes the session to the module. The module hardware and software resources used by the driver are released. Driver methods and properties that access the instrument are not accessible after Close is called.

Function Tree Node: \KtMDsr\Close
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_close(
    ViSession Vi
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

KtMDsr
KtMDsr


Inherent IVI Attributes

Inherent IVI Attributes
See Also

Tree Node: \KtMDsr\Inherent IVI Attributes

Branches

Name
Advanced Session Information
Driver Capabilities
Driver Identification
Instrument Identification
User Options
Top

See Also

Reference

KtMDsr


Advanced Session Information

Advanced Session Information
See Also

Tree Node: \KtMDsr\Inherent IVI Attributes\Advanced Session Information

Attributes

 | Name | Description
Attribute | Driver Setup | Returns the driver setup string that the user specified in the IVI configuration store when the instrument driver session was initialized or passed in the OptionString parameter of the Initialize function.
Attribute | I/O Resource Descriptor | The resource descriptor specifies the connection to module. It may be specified in the Configuration Store or passed in the ResourceName parameter of the Initialize function. It is null if the driver is not initialized.
Attribute | Logical Name | The Logical Name identifies a driver session in the Configuration Store. If Logical Name is not empty, the driver was initialized from information in the driver session. If empty, the driver was initialized without using the Configuration Store.
Top

See Also

Reference

KtMDsr


KTMDSR_ATTR_DRIVER_SETUP Attribute

KTMDSR_ATTR_DRIVER_SETUP Attribute
Advanced Session Information See Also

Returns the driver setup string that the user specified in the IVI configuration store when the instrument driver session was initialized or passed in the OptionString parameter of the Initialize function.

Attribute Tree Node: \KtMDsr\Inherent IVI Attributes\Advanced Session Information\Driver Setup
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_DRIVER_SETUP 1050007

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_DRIVER_SETUP.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Remarks

The DriverSetup string can be used to specify initial driver setup or special driver options. It can be specified in the IVI Configuration Store or provided when the Initialize method is called to begin the operation of the driver.

Refer to the Initialize method for the syntax of this string and how to set it programmatically.

Refer to Section 6.14, Initialize, for the restrictions on the format of the driver setup string. The string that this attribute returns does not have a predefined maximum length.

For information on the IVI standard see the IVI Foundation web site.

Requirements

Supported Models

All supported

See Also

Reference

Advanced Session Information
KtMDsr


KTMDSR_ATTR_IO_RESOURCE_DESCRIPTOR Attribute

KTMDSR_ATTR_IO_RESOURCE_DESCRIPTOR Attribute
Advanced Session Information See Also

The resource descriptor specifies the connection to module. It may be specified in the Configuration Store or passed in the ResourceName parameter of the Initialize function. It is null if the driver is not initialized.

Attribute Tree Node: \KtMDsr\Inherent IVI Attributes\Advanced Session Information\I/O Resource Descriptor
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_IO_RESOURCE_DESCRIPTOR 1050304

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_IO_RESOURCE_DESCRIPTOR.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Remarks

Refer to the Initialize method for the syntax of this string and how to set it programmatically.

Refer to Section 6.14, Initialize, for the restrictions on the format of the driver setup string. The string that this attribute returns does not have a predefined maximum length.

Requirements

Supported Models

All supported

See Also

Reference

Advanced Session Information
KtMDsr


KTMDSR_ATTR_LOGICAL_NAME Attribute

KTMDSR_ATTR_LOGICAL_NAME Attribute
Advanced Session Information See Also

The Logical Name identifies a driver session in the Configuration Store. If Logical Name is not empty, the driver was initialized from information in the driver session. If empty, the driver was initialized without using the Configuration Store.

Attribute Tree Node: \KtMDsr\Inherent IVI Attributes\Advanced Session Information\Logical Name
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_LOGICAL_NAME 1050305

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_LOGICAL_NAME.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Requirements

Supported Models

All supported

See Also

Reference

Advanced Session Information
KtMDsr


Driver Capabilities

Driver Capabilities
See Also

Tree Node: \KtMDsr\Inherent IVI Attributes\Driver Capabilities

Attributes

 | Name | Description
Attribute | Class Group Capabilities | An IVI-specified attribute used to describe the class compliance. The IVI Foundation has not defined a class relevant to the DSR; therefore, this returns an empty string.
Attribute | Supported Instrument Models | A comma-separated list of instrument models that the IVI specific driver can control. Returns "M9195A".
Top

See Also

Reference

KtMDsr


KTMDSR_ATTR_GROUP_CAPABILITIES Attribute

KTMDSR_ATTR_GROUP_CAPABILITIES Attribute
Driver Capabilities See Also

An IVI-specified attribute used to describe the class compliance. The IVI Foundation has not defined a class relevant to the DSR; therefore, this returns an empty string.

Attribute Tree Node: \KtMDsr\Inherent IVI Attributes\Driver Capabilities\Class Group Capabilities
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_GROUP_CAPABILITIES 1050401

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_GROUP_CAPABILITIES.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Requirements

Supported Models

All supported

See Also

Reference

Driver Capabilities
KtMDsr


KTMDSR_ATTR_SUPPORTED_INSTRUMENT_MODELS Attribute

KTMDSR_ATTR_SUPPORTED_INSTRUMENT_MODELS Attribute
Driver Capabilities See Also

A comma-separated list of instrument models that the IVI specific driver can control. Returns "M9195A".

Attribute Tree Node: \KtMDsr\Inherent IVI Attributes\Driver Capabilities\Supported Instrument Models
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SUPPORTED_INSTRUMENT_MODELS 1050327

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_SUPPORTED_INSTRUMENT_MODELS.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Requirements

Supported Models

All supported

See Also

Reference

Driver Capabilities
KtMDsr


Driver Identification

Driver Identification
See Also

Tree Node: \KtMDsr\Inherent IVI Attributes\Driver Identification

Attributes

 | Name | Description
Attribute | Specific Driver Class Spec Major Version | Returns the major version number of the class specification in accordance with which the IVI specific driver was developed. Zero is returned if the driver is not compliant with a class specification.
Attribute | Specific Driver Class Spec Minor Version | Returns the minor version number of the class specification in accordance with which the IVI specific driver was developed. Zero is returned if the driver is not compliant with a class specification.
Attribute | Specific Driver Description | Returns a brief description of the IVI specific driver. The string that this attribute returns contains a maximum of 256 bytes including the NUL byte.
Attribute | Specific Driver Prefix | Returns the case-sensitive prefix of the user-callable functions that the IVI-C specific driver exports. The string that this attribute returns contains a maximum of 32 bytes including the NUL byte.
Attribute | Specific Driver Revision | Returns version information about the IVI specific driver. The string that this attribute returns contains a maximum of 256 bytes including the NUL byte.
Attribute | Specific Driver Vendor | Returns the name of the vendor that supplies the IVI specific driver. The string that this attribute returns contains a maximum of 256 bytes including the NUL byte.
Top

See Also

Reference

KtMDsr


KTMDSR_ATTR_SPECIFIC_DRIVER_CLASS_SPEC_MAJOR_VERSION Attribute

KTMDSR_ATTR_SPECIFIC_DRIVER_CLASS_SPEC_MAJOR_VERSION Attribute
Driver Identification See Also

Returns the major version number of the class specification in accordance with which the IVI specific driver was developed. Zero is returned if the driver is not compliant with a class specification.

Attribute Tree Node: \KtMDsr\Inherent IVI Attributes\Driver Identification\Specific Driver Class Spec Major Version
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SPECIFIC_DRIVER_CLASS_SPEC_MAJOR_VERSION 1050515

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_SPECIFIC_DRIVER_CLASS_SPEC_MAJOR_VERSION.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

See Also

Reference

Driver Identification
KtMDsr


KTMDSR_ATTR_SPECIFIC_DRIVER_CLASS_SPEC_MINOR_VERSION Attribute

KTMDSR_ATTR_SPECIFIC_DRIVER_CLASS_SPEC_MINOR_VERSION Attribute
Driver Identification See Also

Returns the minor version number of the class specification in accordance with which the IVI specific driver was developed. Zero is returned if the driver is not compliant with a class specification.

Attribute Tree Node: \KtMDsr\Inherent IVI Attributes\Driver Identification\Specific Driver Class Spec Minor Version
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SPECIFIC_DRIVER_CLASS_SPEC_MINOR_VERSION 1050516

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_SPECIFIC_DRIVER_CLASS_SPEC_MINOR_VERSION.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

See Also

Reference

Driver Identification
KtMDsr


KTMDSR_ATTR_SPECIFIC_DRIVER_DESCRIPTION Attribute

KTMDSR_ATTR_SPECIFIC_DRIVER_DESCRIPTION Attribute
Driver Identification See Also

Returns a brief description of the IVI specific driver. The string that this attribute returns contains a maximum of 256 bytes including the NUL byte.

Attribute Tree Node: \KtMDsr\Inherent IVI Attributes\Driver Identification\Specific Driver Description
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SPECIFIC_DRIVER_DESCRIPTION 1050514

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_SPECIFIC_DRIVER_DESCRIPTION.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

See Also

Reference

Driver Identification
KtMDsr


KTMDSR_ATTR_SPECIFIC_DRIVER_PREFIX Attribute

KTMDSR_ATTR_SPECIFIC_DRIVER_PREFIX Attribute
Driver Identification See Also

Returns the case-sensitive prefix of the user-callable functions that the IVI-C specific driver exports. The string that this attribute returns contains a maximum of 32 bytes including the NUL byte.

Attribute Tree Node: \KtMDsr\Inherent IVI Attributes\Driver Identification\Specific Driver Prefix
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SPECIFIC_DRIVER_PREFIX 1050302

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_SPECIFIC_DRIVER_PREFIX.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

See Also

Reference

Driver Identification
KtMDsr


KTMDSR_ATTR_SPECIFIC_DRIVER_REVISION Attribute

KTMDSR_ATTR_SPECIFIC_DRIVER_REVISION Attribute
Driver Identification See Also

Returns version information about the IVI specific driver. The string that this attribute returns contains a maximum of 256 bytes including the NUL byte.

Attribute Tree Node: \KtMDsr\Inherent IVI Attributes\Driver Identification\Specific Driver Revision
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SPECIFIC_DRIVER_REVISION 1050551

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_SPECIFIC_DRIVER_REVISION.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

See Also

Reference

Driver Identification
KtMDsr


KTMDSR_ATTR_SPECIFIC_DRIVER_VENDOR Attribute

KTMDSR_ATTR_SPECIFIC_DRIVER_VENDOR Attribute
Driver Identification See Also

Returns the name of the vendor that supplies the IVI specific driver. The string that this attribute returns contains a maximum of 256 bytes including the NUL byte.

Attribute Tree Node: \KtMDsr\Inherent IVI Attributes\Driver Identification\Specific Driver Vendor
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SPECIFIC_DRIVER_VENDOR 1050513

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_SPECIFIC_DRIVER_VENDOR.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

See Also

Reference

Driver Identification
KtMDsr


Instrument Identification

Instrument Identification
See Also

Tree Node: \KtMDsr\Inherent IVI Attributes\Instrument Identification

Attributes

 | Name | Description
Attribute | Instrument Firmware Revision | The firmware revision loaded onto the module. The string is of the form <Major>.<Minor>.<Build>.<Patch>.
Attribute | Instrument Manufacturer | Returns the instrument manufacturer, "Keysight Technologies".
Attribute | Instrument Model | The model number of the instrument. Returns "M9195A".
Top

See Also

Reference

KtMDsr


KTMDSR_ATTR_INSTRUMENT_FIRMWARE_REVISION Attribute

KTMDSR_ATTR_INSTRUMENT_FIRMWARE_REVISION Attribute
Instrument Identification See Also

The firmware revision loaded onto the module. The string is of the form <Major>.<Minor>.<Build>.<Patch>.

Attribute Tree Node: \KtMDsr\Inherent IVI Attributes\Instrument Identification\Instrument Firmware Revision
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_INSTRUMENT_FIRMWARE_REVISION 1050510

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_INSTRUMENT_FIRMWARE_REVISION.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Requirements

Supported Models

All supported

See Also

Reference

Instrument Identification
KtMDsr


KTMDSR_ATTR_INSTRUMENT_MANUFACTURER Attribute

KTMDSR_ATTR_INSTRUMENT_MANUFACTURER Attribute
Instrument Identification See Also

Returns the instrument manufacturer, "Keysight Technologies".

Attribute Tree Node: \KtMDsr\Inherent IVI Attributes\Instrument Identification\Instrument Manufacturer
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_INSTRUMENT_MANUFACTURER 1050511

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_INSTRUMENT_MANUFACTURER.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Requirements

Supported Models

All supported

See Also

Reference

Instrument Identification
KtMDsr


KTMDSR_ATTR_INSTRUMENT_MODEL Attribute

KTMDSR_ATTR_INSTRUMENT_MODEL Attribute
Instrument Identification See Also

The model number of the instrument. Returns "M9195A".

Attribute Tree Node: \KtMDsr\Inherent IVI Attributes\Instrument Identification\Instrument Model
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_INSTRUMENT_MODEL 1050512

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_INSTRUMENT_MODEL.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Requirements

Supported Models

All supported

See Also

Reference

Instrument Identification
KtMDsr


User Options

User Options
See Also

Tree Node: \KtMDsr\Inherent IVI Attributes\User Options

Attributes

 | Name | Description
Attribute | Cache | This IVI standard attribute has no effect on the KtMDsr driver.
Attribute | Interchange Check | This is an optional IVI-standard attribute and is not implemented by the KtMDsr. It flags warnings when measurements are made when certain settings have not been altered from their default values.
Attribute | Query Instrument Status | This is an IVI-standard method used to query a remote instrument at the end of each method or property that performs I/O to the instrument. This is not implemented in the KtMDsr.
Attribute | Range Check | Drivers may choose to always validate some property/parameter values, never validate others, and optionally validate others, to avoid sending invalid commands to the instrument. If True, the driver performs optional validations.
Attribute | Record Value Coercions | This is an optional IVI-standard method. This is not implemented by the KtMDsr. It controls the logging of settings that have been rounded or coerced before applying them to the hardware.
Attribute | Simulate | If True, the driver does not perform I/O to the instrument, but returns simulated values for output parameters and results.
Top

See Also

Reference

KtMDsr


KTMDSR_ATTR_CACHE Attribute

KTMDSR_ATTR_CACHE Attribute
User Options See Also

This IVI standard attribute has no effect on the KtMDsr driver.

Attribute Tree Node: \KtMDsr\Inherent IVI Attributes\User Options\Cache
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_CACHE 1050004

ViStatus KtMDsr_GetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean* AttributeValue
);

ViStatus KtMDsr_SetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_CACHE.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

The IVI DriverOperation includes this attribute to control if instrument settings are cached by the driver to avoid unnecessary IO to the remote instruments.

The KtMDsr PXIe driver directly manages all of the instrument settings. The driver caches most instrument settings. This is intrinsic in the operation of the driver and is not controlled by this standard IVI attribute.

For information on the IVI standard see the IVI Foundation web site.

Requirements

Supported Models

All supported

See Also

Reference

User Options
KtMDsr


KTMDSR_ATTR_INTERCHANGE_CHECK Attribute

KTMDSR_ATTR_INTERCHANGE_CHECK Attribute
User Options See Also

This is an optional IVI-standard attribute and is not implemented by the KtMDsr. It flags warnings when measurements are made when certain settings have not been altered from their default values.

Attribute Tree Node: \KtMDsr\Inherent IVI Attributes\User Options\Interchange Check
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_INTERCHANGE_CHECK 1050021

ViStatus KtMDsr_GetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean* AttributeValue
);

ViStatus KtMDsr_SetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_INTERCHANGE_CHECK.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

Since this is not implemented, setting it to False is a valid operation.

If this is set to True, an error is generated indicating an invalid parameter setting.

Requirements

Supported Models

All supported

See Also

Reference

User Options
KtMDsr


KTMDSR_ATTR_QUERY_INSTRUMENT_STATUS Attribute

KTMDSR_ATTR_QUERY_INSTRUMENT_STATUS Attribute
User Options See Also

This is an IVI-standard method used to query a remote instrument at the end of each method or property that performs I/O to the instrument. This is not implemented in the KtMDsr.

Attribute Tree Node: \KtMDsr\Inherent IVI Attributes\User Options\Query Instrument Status
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_QUERY_INSTRUMENT_STATUS 1050003

ViStatus KtMDsr_GetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean* AttributeValue
);

ViStatus KtMDsr_SetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_QUERY_INSTRUMENT_STATUS.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Requirements

Supported Models

All supported

See Also

Reference

User Options
KtMDsr


KTMDSR_ATTR_RANGE_CHECK Attribute

KTMDSR_ATTR_RANGE_CHECK Attribute
User Options See Also

Drivers may choose to always validate some property/parameter values, never validate others, and optionally validate others, to avoid sending invalid commands to the instrument. If True, the driver performs optional validations.

Attribute Tree Node: \KtMDsr\Inherent IVI Attributes\User Options\Range Check
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_RANGE_CHECK 1050002

ViStatus KtMDsr_GetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean* AttributeValue
);

ViStatus KtMDsr_SetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_RANGE_CHECK.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

Regardless of the value the user sets this attribute to, the IVI driver is not required to duplicate all range checking operations that the System Module firmware performs. However, the KtMDsr driver performs most range checking regardless of the value of this attribute

Requirements

Supported Models

All supported

See Also

Reference

User Options
KtMDsr


KTMDSR_ATTR_RECORD_COERCIONS Attribute

KTMDSR_ATTR_RECORD_COERCIONS Attribute
User Options See Also

This is an optional IVI-standard method. This is not implemented by the KtMDsr. It controls the logging of settings that have been rounded or coerced before applying them to the hardware.

Attribute Tree Node: \KtMDsr\Inherent IVI Attributes\User Options\Record Value Coercions
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_RECORD_COERCIONS 1050006

ViStatus KtMDsr_GetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean* AttributeValue
);

ViStatus KtMDsr_SetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_RECORD_COERCIONS.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

The KtMDsr driver does not record coercions. Therefore setting this value to false succeeds.

If thie value is set to true, the KtMDsr reports an error.

Requirements

Supported Models

All supported

See Also

Reference

User Options
KtMDsr


KTMDSR_ATTR_SIMULATE Attribute

KTMDSR_ATTR_SIMULATE Attribute
User Options See Also

If True, the driver does not perform I/O to the instrument, but returns simulated values for output parameters and results.

Attribute Tree Node: \KtMDsr\Inherent IVI Attributes\User Options\Simulate
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SIMULATE 1050005

ViStatus KtMDsr_GetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean* AttributeValue
);

ViStatus KtMDsr_SetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_SIMULATE.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

This cannot be changed after initializing the driver. To set use "Simulate=true" in OptionString parameter of the Initialize method.

Requirements

Supported Models

All supported

See Also

Reference

User Options
KtMDsr


KtMDsr_init Function

KtMDsr_init Function
KtMDsr See Also

Opens the I/O session to the instrument. Driver methods and properties that access the instrument are only accessible after Initialize is called. Initialize optionally performs a Reset and queries the instrument to validate the instrument model.

Function Tree Node: \KtMDsr\Initialize
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_init(
    ViRsrc ResourceName,
    ViBoolean IdQuery,
    ViBoolean Reset,
    ViSession* Vi
);

Parameters

ResourceName

An IVI logical name or an instrument specific string that identifies the address of the instrument, such as a VISA resource descriptor string.

IdQuery

Specifies whether to verify the ID of the instrument.

Reset

Specifies whether to reset the instrument.

Vi

Unique identifier for an IVI session.

Return Value

Success or failure code.

See Also

Reference

KtMDsr
KtMDsr


KtMDsr_InitWithOptions Function

KtMDsr_InitWithOptions Function
KtMDsr See Also

Opens a session with from one to twelve DSR modules. Performs a Reset and optionally queries the instrument to validate the model. After initialization, the DSR module(s) are accessible by the driver methods and properties.

Function Tree Node: \KtMDsr\Initialize With Options
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_InitWithOptions(
    ViRsrc ResourceName,
    ViBoolean IdQuery,
    ViBoolean Reset,
    ViConstString OptionsString,
    ViSession* Vi
);

Parameters

ResourceName

An IVI logical name or a VISA resource descriptor that identifies the address of the instrument.

IdQuery

If this is enabled, the driver will query the instrument model and compare it with a list of instrument models that are supported by the driver. If the model is not supported, Initialize will fail with the E_IVI_ID_QUERY_FAILED error code.

Reset

This parameter is ignored, as the DSR is always reset upon initialization.

OptionsString

The OptionString parameter can be used to set various initial values and modes of the driver. Notably, simulation can be enabled with the string "Simulate=True".

Vi

Unique identifier for an IVI session.

Return Value

Success or failure code.

Remarks

For detailed parameter usage see: Initializing the IVI-C Driver

Requirements

Supported Models

All supported

See Also

Reference

KtMDsr
KtMDsr


Instrument Specific

Instrument Specific
See Also

Tree Node: \KtMDsr\Instrument Specific

Branches

Name
Calibration
CaptureSite
Channels
DcLevels
Instrument
MacroDef
Module
Pattern
PatternBurst
PatternExec
PatternFile
PatternSite
PpmuSite
Signal
SignalGroup
Site
StaticSite
System
Trigger
TriggerEvent
WaveformTable
Top

See Also

Reference

KtMDsr


Calibration

Calibration
See Also

Tree Node: \KtMDsr\Instrument Specific\Calibration

Functions

 | Name | Description
Function | Calibration Set Use Fixture | Indicates whether the Calibration will be performed with the factory-provided fixture.
Top

Attributes

 | Name | Description
Attribute | Calibration Adjustment Information | Read Only - A comma separated list of calibration adjustment information. Includes the calibration date and instrument identification. Returns an empty string if any of the modules in the current system have not been calibrated.
Attribute | Calibration Due Date | Read Only - The computed date of the next required instrument calibration. If the instrument is not subject to calibration, this will return "n/a". If the instrument is not calibrated this will return "unknown". If the instrument is calibrated this will return a date formatted for the current locale.
Attribute | Calibration Instrument Identifier | Read Only - A unique identifier for the collection of modules that make up the current instrument. This will not include modules that are independently calibrated (typically just the M9300A reference module). This value is used in tracking instrument calibration verification.
Attribute | Calibration Status | Read Only - This property indicates the calibration status of the instrument. The status is determined by comparing the (calibration due date - cal due reminder value) to the current date.
Attribute | Calibration Verification Information | Read Only - A comma separated list of calibration verification information. Includes the calibration date and instrument identification. Returns an empty string if any of the modules in the current system have not been calibrated.
Top

See Also

Reference

KtMDsr


KTMDSR_ATTR_CALIBRATION_ADJUSTMENT_INFORMATION Attribute

KTMDSR_ATTR_CALIBRATION_ADJUSTMENT_INFORMATION Attribute
Calibration See Also

Read Only - A comma separated list of calibration adjustment information. Includes the calibration date and instrument identification. Returns an empty string if any of the modules in the current system have not been calibrated.

Attribute Tree Node: \KtMDsr\Instrument Specific\Calibration\Calibration Adjustment Information
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_CALIBRATION_ADJUSTMENT_INFORMATION 1150269

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_CALIBRATION_ADJUSTMENT_INFORMATION.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Remarks

The instrument identifier is a 10 character hash code followed by each module's model and serial number.

If the response is empty, it does not mean that the modules have not been calibrated, but that they haven't been calibrated as a set. Use Modules Calibration AdjustmentInformation to determine all the systems a particular module has been calibrated in.

Requirements

Supported Models

All supported

See Also

Reference

Calibration
KtMDsr


KTMDSR_ATTR_CALIBRATION_DUE_DATE Attribute

KTMDSR_ATTR_CALIBRATION_DUE_DATE Attribute
Calibration See Also

Read Only - The computed date of the next required instrument calibration. If the instrument is not subject to calibration, this will return "n/a". If the instrument is not calibrated this will return "unknown". If the instrument is calibrated this will return a date formatted for the current locale.

Attribute Tree Node: \KtMDsr\Instrument Specific\Calibration\Calibration Due Date
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_CALIBRATION_DUE_DATE 1150270

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_CALIBRATION_DUE_DATE.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Remarks

Computing the calibration due date takes several things into account:

  • User specified setting of 'EnablePeriodicCal'
  • User specified setting of 'InstrumentCalInterval' and 'ModuleCalInterval'
  • The calibration verification date of each module (if any)
  • The calibration verification date of the instrument
The instrument will be considered calibrated if either
  • Calibration.VerificationInformation is not empty
  • At least one module has a calibration verification date and EnablePeriodCal=true and all other modules in the instrument have either
    • a calibration verification date
    • EnablePeriodicCal=false

The instrument uses the EnablePeriodicCal and InstrumentCalInterval settings from the Synthesizer module for computing the instrument calibration due date. Each module uses its own settings for computing the module due date.

The typical cases for computing due date are

  • The system has only Calibration.VerificationInformation (which excludes the reference) and the system does not include a reference � the due date is simply the date from the verification information plus the instrument calibration interval specified by the synthesizer module.
  • The system has Calibration.VerificationInformation and module verification for the reference -- the due date is the earlier of
    • the date from the verification information plus the instrument calibration interval specified by the synthesizer module.
    • the date from the reference verification date plus the module calibration interval specified by the reference module.
  • The system has only module verification � the due date is simply the earliest of each module's due date (that module's verification date plus that module's ModuleCalInterval setting).

A less typical case is when there is "overlapping" Calibration.VerificationInformation and module verification � if the instrument level calibration information has not expired, it is used to determine instrument calibration status and due date.

Requirements

Supported Models

All supported

See Also

Reference

Calibration
KtMDsr


KTMDSR_ATTR_CALIBRATION_INSTRUMENT_IDENTIFIER Attribute

KTMDSR_ATTR_CALIBRATION_INSTRUMENT_IDENTIFIER Attribute
Calibration See Also

Read Only - A unique identifier for the collection of modules that make up the current instrument. This will not include modules that are independently calibrated (typically just the M9300A reference module). This value is used in tracking instrument calibration verification.

Attribute Tree Node: \KtMDsr\Instrument Specific\Calibration\Calibration Instrument Identifier
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_CALIBRATION_INSTRUMENT_IDENTIFIER 1150271

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_CALIBRATION_INSTRUMENT_IDENTIFIER.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Remarks

An instrument is comprised of the modules the IVI driver is currently controlling. For the instrument to be calibrated, the current set of modules must have been calibrated as a system. The instrument identifier is a 10 character hash code followed by each module's model and serial number.

Requirements

Supported Models

All supported

See Also

Reference

Calibration
KtMDsr


KtMDsr_CalibrationSetUseFixture Function

KtMDsr_CalibrationSetUseFixture Function
Calibration See Also

Indicates whether the Calibration will be performed with the factory-provided fixture.

Function Tree Node: \KtMDsr\Instrument Specific\Calibration\Calibration Set Use Fixture
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_CalibrationSetUseFixture(
    ViSession Vi,
    ViBoolean UseFixture
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

UseFixture

True indicates that the Calibration operations should verify presence of the fixture (and absence as appropriate) and switch the relay on the fixture for Voltage or Current calibration.If this Boolean is set: Any cal operation will verify the fixture is attached or not as it expects and throw an exception if not what it expects.By default this will be true.Must be set before calibration begins, and caveat emptor if you change it during cal. (not validated by software).

Return Value

Success or failure code.

Remarks

This controls if the calibration algorithm should verify the presence of the available Keysight calibration fixture.

Using the DSR without the fixture requires external circuitry and should be attempted only with assistance from Keysight.

For a complete description of the calibration process, see the Calibration Overview.

See Also

Reference

Calibration
KtMDsr


KTMDSR_ATTR_CALIBRATION_STATUS Attribute

KTMDSR_ATTR_CALIBRATION_STATUS Attribute
Calibration See Also

Read Only - This property indicates the calibration status of the instrument. The status is determined by comparing the (calibration due date - cal due reminder value) to the current date.

Attribute Tree Node: \KtMDsr\Instrument Specific\Calibration\Calibration Status
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_CALIBRATION_STATUS 1150272

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_CALIBRATION_STATUS.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Defined Values

Name | Description
KTMDSR_VAL_CALIBRATION_STATUS_INSTRUMENT_CALIBRATED |
KTMDSR_VAL_CALIBRATION_STATUS_DUE |
KTMDSR_VAL_CALIBRATION_STATUS_EXPIRED |
KTMDSR_VAL_CALIBRATION_STATUS_NOT_CALIBRATED |
KTMDSR_VAL_CALIBRATION_STATUS_NOT_SUBJECT_TO_CALIBRATION |
KTMDSR_VAL_CALIBRATION_STATUS_MODULE_CALIBRATED |
Top

Requirements

Supported Models

All supported

See Also

Reference

Calibration
KtMDsr


KTMDSR_ATTR_CALIBRATION_VERIFICATION_INFORMATION Attribute

KTMDSR_ATTR_CALIBRATION_VERIFICATION_INFORMATION Attribute
Calibration See Also

Read Only - A comma separated list of calibration verification information. Includes the calibration date and instrument identification. Returns an empty string if any of the modules in the current system have not been calibrated.

Attribute Tree Node: \KtMDsr\Instrument Specific\Calibration\Calibration Verification Information
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_CALIBRATION_VERIFICATION_INFORMATION 1150273

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_CALIBRATION_VERIFICATION_INFORMATION.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Remarks

The instrument identifier is a 10 character hash code followed by each module's model and serial number.

If the response is empty, it does not mean that the modules have not been calibrated, but that they haven't been calibrated as a set. Use Modules.Item.Calibration.VerificationInformation to determine all the systems a particular module has been calibrated in.

Requirements

Supported Models

All supported

See Also

Reference

Calibration
KtMDsr


CaptureSite

CaptureSite
See Also

Tree Node: \KtMDsr\Instrument Specific\CaptureSite

Functions

 | Name | Description
Function | Capture Sites Set Requested Result Count | Sets the number of Results per channel to be collected.
Function | Capture Sites Set Trigger Mode | Sets the Trigger Mode. The trigger mode determines if execution of the pattern begins immediately when initiated or if the execution waits for a trigger event before executing.
Function | CaptureSite Abort | Asynchronously stop the execution of the pattern. That is, stop the capture of data.
Function | CaptureSite Fetch Result Byte | Returns the captured result in an array of bytes. Results must fit in a byte.
Function | CaptureSite Fetch Result Int16 | Returns the captured result in an array of 16-bit values. Results must fit in a 16-bit integer.
Function | CaptureSite Fetch Result Segment Byte | Returns a segment from the captured result. Result must fit in a byte.
Function | CaptureSite Fetch Result Segment Int16 | Returns a segment from the captured result. Result must fit in a 16-bit integer.
Function | CaptureSite Get Edge Placement Resolution | Returns the EdgePlacementResolution specified when this site was activated. Or, if EdgePlacementResolutionAuto was set to True, this is the edge placement resolution selected by the DSR.
Function | CaptureSite Get Edge Placement Resolution Auto | Returns the value of EdgePlacementResolutionAuto with which the site was activated.
Function | CaptureSite Initiate | Begin the execution of a pattern. If the Trigger Mode is set to Immediate, execution will begin immediately. If set to Trigger, the hardware will fully initialize, but will wait for a trigger event before proceeding.
Function | CaptureSite Wait For Acquisition Complete | The function will not return until this pattern is done executing. If a pattern has not been initiated or if it has already completed, the function will return immediately.
Function | CaptureSites Activate | Activates a site for data capture.
Function | CaptureSites Get Name | Returns the capturesite name that corresponds to the one-based index that the user specifies.
Function | CaptureSites Inactivate | Releases the resources associated with this site. The state of the individual channels is not changed.
Function | CaptureSites Inactivate And Disable | Releases the resources associated with this site. The individual channels are disabled.
Function | CaptureSites Set Trigger Source | Sets the trigger source for this pattern. String format is: SoftwareTrigger<0-15>.
Top

Attributes

 | Name | Description
Attribute | CaptureSite Edge Placement Resolution | Returns the EdgePlacementResolution specified when this site was activated. Or, if EdgePlacementResolutionAuto was set to True, this is the edge placement resolution selected by the DSR.
Attribute | CaptureSite Edge Placement Resolution Auto | Returns the value of EdgePlacementResolutionAuto with which the site was activated.
Attribute | CaptureSite Execution State | Returns the sequencer state.
Attribute | CaptureSite Requested Result Count | Number of Results per channel to be collected.
Attribute | CaptureSite Result Count | Gets the number of elements in the result in memory.
Attribute | CaptureSites Count |
Attribute | CaptureSites Trigger Mode | Sets the Trigger Mode. The trigger mode determines if execution of the pattern begins immediately when initiated or if the execution waits for a trigger event before executing.
Attribute | CaptureSites Trigger Source | Gets or sets the trigger source for this pattern. String format is: SoftwareTrigger<0-15>.
Top

See Also

Reference

KtMDsr


KtMDsr_CaptureSitesSetRequestedResultCount Function

KtMDsr_CaptureSitesSetRequestedResultCount Function
CaptureSite See Also

Sets the number of Results per channel to be collected.

Function Tree Node: \KtMDsr\Instrument Specific\CaptureSite\Capture Sites Set Requested Result Count
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_CaptureSitesSetRequestedResultCount(
    ViSession Vi,
    ViInt32 RequestedResultCount
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RequestedResultCount

Number of Results per channel to be collected.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

CaptureSite
KtMDsr


KtMDsr_CaptureSitesSetTriggerMode Function

KtMDsr_CaptureSitesSetTriggerMode Function
CaptureSite See Also

Sets the Trigger Mode. The trigger mode determines if execution of the pattern begins immediately when initiated or if the execution waits for a trigger event before executing.

Function Tree Node: \KtMDsr\Instrument Specific\CaptureSite\Capture Sites Set Trigger Mode
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_CaptureSitesSetTriggerMode(
    ViSession Vi,
    ViInt32 TriggerMode
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

TriggerMode

Sets the Trigger Mode. The trigger mode determines if execution of the pattern begins immediately when initiated or if the execution waits for a trigger event before executing.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

Defined Values For Parameter TriggerMode

Name | Description
KTMDSR_VAL_PATTERNSITE_TRIGGER_MODE_IMMEDIATE | Triggered by Initiate.
KTMDSR_VAL_PATTERNSITE_TRIGGER_MODE_TRIGGERED | Trigger set in TriggerSource starts execution.
Top

See Also

Reference

CaptureSite
KtMDsr


KtMDsr_CaptureSiteAbort Function

KtMDsr_CaptureSiteAbort Function
CaptureSite See Also

Asynchronously stop the execution of the pattern. That is, stop the capture of data.

Function Tree Node: \KtMDsr\Instrument Specific\CaptureSite\CaptureSite Abort
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_CaptureSiteAbort(
    ViSession Vi,
    ViConstString CaptureSite
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

CaptureSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the CaptureSite repeated capability.

Return Value

Success or failure code.

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

CaptureSite
KtMDsr


KTMDSR_ATTR_CAPTURESITE_EDGE_PLACEMENT_RESOLUTION Attribute

KTMDSR_ATTR_CAPTURESITE_EDGE_PLACEMENT_RESOLUTION Attribute
CaptureSite See Also

Returns the EdgePlacementResolution specified when this site was activated. Or, if EdgePlacementResolutionAuto was set to True, this is the edge placement resolution selected by the DSR.

Attribute Tree Node: \KtMDsr\Instrument Specific\CaptureSite\CaptureSite Edge Placement Resolution
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_CAPTURESITE_EDGE_PLACEMENT_RESOLUTION 1150232

ViStatus KtMDsr_GetAttributeViReal64(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViReal64* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the CaptureSite repeated capability.

AttributeID

Must be KTMDSR_ATTR_CAPTURESITE_EDGE_PLACEMENT_RESOLUTION.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

CaptureSite
KtMDsr


KTMDSR_ATTR_CAPTURESITE_EDGE_PLACEMENT_RESOLUTION_AUTO Attribute

KTMDSR_ATTR_CAPTURESITE_EDGE_PLACEMENT_RESOLUTION_AUTO Attribute
CaptureSite See Also

Returns the value of EdgePlacementResolutionAuto with which the site was activated.

Attribute Tree Node: \KtMDsr\Instrument Specific\CaptureSite\CaptureSite Edge Placement Resolution Auto
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_CAPTURESITE_EDGE_PLACEMENT_RESOLUTION_AUTO 1150233

ViStatus KtMDsr_GetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the CaptureSite repeated capability.

AttributeID

Must be KTMDSR_ATTR_CAPTURESITE_EDGE_PLACEMENT_RESOLUTION_AUTO.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

CaptureSite
KtMDsr


KTMDSR_ATTR_CAPTURESITE_EXECUTION_STATE Attribute

KTMDSR_ATTR_CAPTURESITE_EXECUTION_STATE Attribute
CaptureSite See Also

Returns the sequencer state.

Attribute Tree Node: \KtMDsr\Instrument Specific\CaptureSite\CaptureSite Execution State
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_CAPTURESITE_EXECUTION_STATE 1150220

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the CaptureSite repeated capability.

AttributeID

Must be KTMDSR_ATTR_CAPTURESITE_EXECUTION_STATE.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

This is primarily used to poll the DSR to determine if a pattern has completed execution or not.

Use WaitForAcquisitionComplete to stop the execution of a client program until the pattern finishes executing.

The values returns have the following meaning:

Execution state | Indicates
Stopped | The pattern has not yet been initiated.
Executing | The pattern is currently running.
WaitingForTriggger | The pattern is waiting for a trigger. This could be waiting for a trigger to begin execution, or waiting for a trigger in a WatchLoop.
Complete | The pattern has completed execution without error.
Aborted | The pattern execution was aborted by the user.
Error | An error occurred during pattern execution. (Check ExecutionErrors.)

For more information on the CaptureSites interface, see the CaptureSites Overview.

Defined Values

Name | Description
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_EXECUTING | Pattern is currently running.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_STOPPED | Pattern has not yet been Initiated.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WAITING_FOR_INITIATE_TRIGGER | Pattern has been Initiated and is waiting for appropriate trigger.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_COMPLETE | Pattern has reached the end of execution
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_ABORTED | Pattern has been Aborted by user.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_ERROR | Error occured during PatternExecution. Check ExecutionErrors.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WAITING_FOR_MATCH_LOOP | Waiting for a successful MatchLoop
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER0 | Watching for Trigger0 in a WatchLoop.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER1 | Watching for Trigger1 in a WatchLoop.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER2 | Watching for Trigger2 in a WatchLoop.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER3 | Watching for Trigger3 in a WatchLoop.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER4 | Watching for Trigger4 in a WatchLoop.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER5 | Watching for Trigger5 in a WatchLoop.
Top

Requirements

Supported Models

All supported

See Also

Reference

CaptureSite
KtMDsr


KtMDsr_CaptureSiteFetchResultByte Function

KtMDsr_CaptureSiteFetchResultByte Function
CaptureSite See Also

Returns the captured result in an array of bytes. Results must fit in a byte.

Function Tree Node: \KtMDsr\Instrument Specific\CaptureSite\CaptureSite Fetch Result Byte
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_CaptureSiteFetchResultByte(
    ViSession Vi,
    ViConstString CaptureSite,
    ViInt32 ValBufferSize,
    ViByte[] Val,
    ViInt32* ValActualSize
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

CaptureSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the CaptureSite repeated capability.

ValBufferSize

Expected number of Results

Val

Result data from the pattern execution.

ValActualSize

Actual number of Results

Return Value

Success or failure code.

Remarks

Bits in the result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT input (Direction is In) are 0.

For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

CaptureSite
KtMDsr


KtMDsr_CaptureSiteFetchResultInt16 Function

KtMDsr_CaptureSiteFetchResultInt16 Function
CaptureSite See Also

Returns the captured result in an array of 16-bit values. Results must fit in a 16-bit integer.

Function Tree Node: \KtMDsr\Instrument Specific\CaptureSite\CaptureSite Fetch Result Int16
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_CaptureSiteFetchResultInt16(
    ViSession Vi,
    ViConstString CaptureSite,
    ViInt32 ValBufferSize,
    ViInt16[] Val,
    ViInt32* ValActualSize
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

CaptureSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the CaptureSite repeated capability.

ValBufferSize

Expected number of Results

Val

Result data from the pattern execution.

ValActualSize

Actual number of Results

Return Value

Success or failure code.

Remarks

Bits in the result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT input (Direction is In) are 0.

For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

CaptureSite
KtMDsr


KtMDsr_CaptureSiteFetchResultSegmentByte Function

KtMDsr_CaptureSiteFetchResultSegmentByte Function
CaptureSite See Also

Returns a segment from the captured result. Result must fit in a byte.

Function Tree Node: \KtMDsr\Instrument Specific\CaptureSite\CaptureSite Fetch Result Segment Byte
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_CaptureSiteFetchResultSegmentByte(
    ViSession Vi,
    ViConstString CaptureSite,
    ViInt32 Offset,
    ViInt32 Count,
    ViInt32 ValBufferSize,
    ViByte[] Val,
    ViInt32* ValActualSize
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

CaptureSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the CaptureSite repeated capability.

Offset

Offset into the Results data to start. That is, the index of the first element to return in the result array.

Count

Number of bytes to return.

ValBufferSize

Expected number of Results

Val

Result data from the pattern execution.

ValActualSize

Actual number of Results

Return Value

Success or failure code.

Remarks

Bits in the result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT input (Direction is In) are 0.

For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

CaptureSite
KtMDsr


KtMDsr_CaptureSiteFetchResultSegmentInt16 Function

KtMDsr_CaptureSiteFetchResultSegmentInt16 Function
CaptureSite See Also

Returns a segment from the captured result. Result must fit in a 16-bit integer.

Function Tree Node: \KtMDsr\Instrument Specific\CaptureSite\CaptureSite Fetch Result Segment Int16
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_CaptureSiteFetchResultSegmentInt16(
    ViSession Vi,
    ViConstString CaptureSite,
    ViInt32 Offset,
    ViInt32 Count,
    ViInt32 ValBufferSize,
    ViInt16[] Val,
    ViInt32* ValActualSize
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

CaptureSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the CaptureSite repeated capability.

Offset

Offset into the Results data to start. That is, the index of the first element to return in the result array.

Count

Number of 16-bit integers to return.

ValBufferSize

Expected number of Results

Val

Result data from the pattern execution.

ValActualSize

Actual number of Results

Return Value

Success or failure code.

Remarks

Bits in the result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT input (Direction is In) are 0.

For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

CaptureSite
KtMDsr


KtMDsr_CaptureSiteGetEdgePlacementResolution Function

KtMDsr_CaptureSiteGetEdgePlacementResolution Function
CaptureSite See Also

Returns the EdgePlacementResolution specified when this site was activated. Or, if EdgePlacementResolutionAuto was set to True, this is the edge placement resolution selected by the DSR.

Function Tree Node: \KtMDsr\Instrument Specific\CaptureSite\CaptureSite Get Edge Placement Resolution
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_CaptureSiteGetEdgePlacementResolution(
    ViSession Vi,
    ViConstString CaptureSite,
    ViReal64* EdgePlacementResolution
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

CaptureSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the CaptureSite repeated capability.

EdgePlacementResolution

EdgePlacementResolution that was used to Activate the CaptureSite.

Return Value

Success or failure code.

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

CaptureSite
KtMDsr


KtMDsr_CaptureSiteGetEdgePlacementResolutionAuto Function

KtMDsr_CaptureSiteGetEdgePlacementResolutionAuto Function
CaptureSite See Also

Returns the value of EdgePlacementResolutionAuto with which the site was activated.

Function Tree Node: \KtMDsr\Instrument Specific\CaptureSite\CaptureSite Get Edge Placement Resolution Auto
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_CaptureSiteGetEdgePlacementResolutionAuto(
    ViSession Vi,
    ViConstString CaptureSite,
    ViBoolean* EdgePlacementResolutionAuto
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

CaptureSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the CaptureSite repeated capability.

EdgePlacementResolutionAuto

If True EdgePlacementResolutionAuto was used to Activate the CaptureSite.

Return Value

Success or failure code.

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

CaptureSite
KtMDsr


KtMDsr_CaptureSiteInitiate Function

KtMDsr_CaptureSiteInitiate Function
CaptureSite See Also

Begin the execution of a pattern. If the Trigger Mode is set to Immediate, execution will begin immediately. If set to Trigger, the hardware will fully initialize, but will wait for a trigger event before proceeding.

Function Tree Node: \KtMDsr\Instrument Specific\CaptureSite\CaptureSite Initiate
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_CaptureSiteInitiate(
    ViSession Vi,
    ViConstString CaptureSite
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

CaptureSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the CaptureSite repeated capability.

Return Value

Success or failure code.

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

CaptureSite
KtMDsr


KTMDSR_ATTR_CAPTURESITE_REQUESTED_RESULT_COUNT Attribute

KTMDSR_ATTR_CAPTURESITE_REQUESTED_RESULT_COUNT Attribute
CaptureSite See Also

Number of Results per channel to be collected.

Attribute Tree Node: \KtMDsr\Instrument Specific\CaptureSite\CaptureSite Requested Result Count
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_CAPTURESITE_REQUESTED_RESULT_COUNT 1150235

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

ViStatus KtMDsr_SetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_CAPTURESITE_REQUESTED_RESULT_COUNT.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

If an error occurs during data collection, it is possible for less than the requested number of results to be recorded. For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

CaptureSite
KtMDsr


KTMDSR_ATTR_CAPTURESITE_RESULT_COUNT Attribute

KTMDSR_ATTR_CAPTURESITE_RESULT_COUNT Attribute
CaptureSite See Also

Gets the number of elements in the result in memory.

Attribute Tree Node: \KtMDsr\Instrument Specific\CaptureSite\CaptureSite Result Count
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_CAPTURESITE_RESULT_COUNT 1150198

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the CaptureSite repeated capability.

AttributeID

Must be KTMDSR_ATTR_CAPTURESITE_RESULT_COUNT.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

CaptureSite
KtMDsr


KtMDsr_CaptureSiteWaitForAcquisitionComplete Function

KtMDsr_CaptureSiteWaitForAcquisitionComplete Function
CaptureSite See Also

The function will not return until this pattern is done executing. If a pattern has not been initiated or if it has already completed, the function will return immediately.

Function Tree Node: \KtMDsr\Instrument Specific\CaptureSite\CaptureSite Wait For Acquisition Complete
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_CaptureSiteWaitForAcquisitionComplete(
    ViSession Vi,
    ViConstString CaptureSite,
    ViReal64 MaximumSeconds,
    ViInt32* Val
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

CaptureSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the CaptureSite repeated capability.

MaximumSeconds

Maximum number of seconds to wait.

Val

ExecutionStateEnum indicating the current state of the CaputureSite.

Return Value

Success or failure code.

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.

Requirements

Supported Models

All supported

Defined Values For Parameter Val

Name | Description
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_EXECUTING | Pattern is currently running.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_STOPPED | Pattern has not yet been Initiated.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WAITING_FOR_INITIATE_TRIGGER | Pattern has been Initiated and is waiting for appropriate trigger.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_COMPLETE | Pattern has reached the end of execution
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_ABORTED | Pattern has been Aborted by user.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_ERROR | Error occured during PatternExecution. Check ExecutionErrors.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WAITING_FOR_MATCH_LOOP | Waiting for a successful MatchLoop
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER0 | Watching for Trigger0 in a WatchLoop.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER1 | Watching for Trigger1 in a WatchLoop.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER2 | Watching for Trigger2 in a WatchLoop.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER3 | Watching for Trigger3 in a WatchLoop.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER4 | Watching for Trigger4 in a WatchLoop.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER5 | Watching for Trigger5 in a WatchLoop.
Top

See Also

Reference

CaptureSite
KtMDsr


KtMDsr_CaptureSitesActivate Function

KtMDsr_CaptureSitesActivate Function
CaptureSite See Also

Activates a site for data capture.

Function Tree Node: \KtMDsr\Instrument Specific\CaptureSite\CaptureSites Activate
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_CaptureSitesActivate(
    ViSession Vi,
    ViConstString Site,
    ViConstString WaveformTable,
    ViConstString DcLevels,
    ViBoolean EdgePlacementResolutionAuto,
    ViReal64 EdgePlacementResolution
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Site

The Site to be used to Activate the CaptureSite.

WaveformTable

Name of WaveformTable that describes timing information for capturing data on the CaptureSite. Each Signal should define one and only one waveform. DUT input signals define one waveform per Signal, and that waveform may specify only a compare or a clock.

DcLevels

The DcLevels settings to apply to the Channels. Must include each Channel assigned in the Site.

EdgePlacementResolutionAuto

When True, the DSR automatically chooses an edge placement resolution suitable for the digital test (the PatternExec) that is being activated. The DSR generally chooses the finest resolution that is able to produce the pattern.

EdgePlacementResolution

Specifies the edge placement resolution (when EdgePlacementResolutionAuto is False). Sets the finest resolution available when selecting pattern timing parameters. Range is 1 ns to 100 ns. This resolution determines how the times specified are rounded to values produced.

Return Value

Success or failure code.

Remarks

Activate locks the channels for exclusive use by the specified site and creates a capture pattern from the specified Site, Waveform table, DcLevels and Edge Placement Resolution.
The pattern information is compiled and downloaded to the pattern cache; it is later removed when this site is inactivated.

For more information on the CaptureSites interface, see the CaptureSites Overview.
For more information on the dynamic repeated capability Activate function, see Dynamic Repeated Capabilities.

For information about how the EdgePlacementResolution parameter is used, see .

Requirements

Supported Models

All supported

See Also

Reference

CaptureSite
KtMDsr


KTMDSR_ATTR_CAPTURESITES_COUNT Attribute

KTMDSR_ATTR_CAPTURESITES_COUNT Attribute
CaptureSite See Also

Attribute Tree Node: \KtMDsr\Instrument Specific\CaptureSite\CaptureSites Count
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_CAPTURESITES_COUNT 1150081

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_CAPTURESITES_COUNT.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.
For more information on the dynamic repeated capability Count attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

CaptureSite
KtMDsr


KtMDsr_CaptureSitesGetName Function

KtMDsr_CaptureSitesGetName Function
CaptureSite See Also

Returns the capturesite name that corresponds to the one-based index that the user specifies.

Function Tree Node: \KtMDsr\Instrument Specific\CaptureSite\CaptureSites Get Name
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_CaptureSitesGetName(
    ViSession Vi,
    ViInt32 Index,
    ViInt32 NameBufferSize,
    ViChar[] Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Index

A one-based index that defines which name to return.

NameBufferSize

Number of elements in Name.

Name

Specifies the buffer into which the function returns the name that corresponds to the index the user specifies. The caller may pass VI_NULL for this parameter if the buffer size parameter is 0.

Return Value

Success or failure code.

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.
For more information on the dynamic repeated capability Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

CaptureSite
KtMDsr


KtMDsr_CaptureSitesInactivate Function

KtMDsr_CaptureSitesInactivate Function
CaptureSite See Also

Releases the resources associated with this site. The state of the individual channels is not changed.

Function Tree Node: \KtMDsr\Instrument Specific\CaptureSite\CaptureSites Inactivate
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_CaptureSitesInactivate(
    ViSession Vi,
    ViConstString SiteName
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

SiteName

The block name of the active site.

Return Value

Success or failure code.

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.
For more information on the dynamic repeated capability Inactivate function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

CaptureSite
KtMDsr


KtMDsr_CaptureSitesInactivateAndDisable Function

KtMDsr_CaptureSitesInactivateAndDisable Function
CaptureSite See Also

Releases the resources associated with this site. The individual channels are disabled.

Function Tree Node: \KtMDsr\Instrument Specific\CaptureSite\CaptureSites Inactivate And Disable
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_CaptureSitesInactivateAndDisable(
    ViSession Vi,
    ViConstString SiteName
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

SiteName

The block name of the active site.

Return Value

Success or failure code.

Remarks

In addition to inactivating the site, this function also disables the channels. That is, the DSR isolates itself from the DUT in a fashion that minimizes the possibility of either the DUT or the DSR being harmed.

For more information on the CaptureSites interface, see the CaptureSites Overview.
For more information on the dynamic repeated capability InactivateAndDisable function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

CaptureSite
KtMDsr


KtMDsr_CaptureSitesSetTriggerSource Function

KtMDsr_CaptureSitesSetTriggerSource Function
CaptureSite See Also

Sets the trigger source for this pattern. String format is: SoftwareTrigger<0-15>.

Function Tree Node: \KtMDsr\Instrument Specific\CaptureSite\CaptureSites Set Trigger Source
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_CaptureSitesSetTriggerSource(
    ViSession Vi,
    ViConstString TriggerSource
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

TriggerSource

String format is: SoftwareTrigger<0-15>.

Return Value

Success or failure code.

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.
For details on generating software triggers, see Generate Software Events.

The table below shows the relationship between Software Triggers, TriggerSource strings, and the EventBits to set when calling GenerateSoftwareEvents. Multiple bits may be set to generate multiple software triggers.

Software trigger | TriggerSource string | Set EventBits to this value when calling GenerateSoftwareEvents
Software0 | "SoftwareTrigger0" | 1
Software1 | "SoftwareTrigger1" | 2
Software2 | "SoftwareTrigger2" | 4
Software3 | "SoftwareTrigger3" | 8
Software4 | "SoftwareTrigger4" | 16
Software5 | "SoftwareTrigger5" | 32
Software6 | "SoftwareTrigger6" | 64
Software7 | "SoftwareTrigger7" | 128
Software8 | "SoftwareTrigger8" | 256
Software9 | "SoftwareTrigger9" | 512
Software10 | "SoftwareTrigger10" | 1024
Software11 | "SoftwareTrigger11" | 2048
Software12 | "SoftwareTrigger12" | 4096
Software13 | "SoftwareTrigger13" | 8192
Software14 | "SoftwareTrigger14" | 16384
Software15 | "SoftwareTrigger15" | 32768

Requirements

Supported Models

All supported

See Also

Reference

CaptureSite
KtMDsr


KTMDSR_ATTR_CAPTURESITES_TRIGGER_MODE Attribute

KTMDSR_ATTR_CAPTURESITES_TRIGGER_MODE Attribute
CaptureSite See Also

Sets the Trigger Mode. The trigger mode determines if execution of the pattern begins immediately when initiated or if the execution waits for a trigger event before executing.

Attribute Tree Node: \KtMDsr\Instrument Specific\CaptureSite\CaptureSites Trigger Mode
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_CAPTURESITES_TRIGGER_MODE 1150219

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

ViStatus KtMDsr_SetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_CAPTURESITES_TRIGGER_MODE.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.

Defined Values

Name | Description
KTMDSR_VAL_PATTERNSITE_TRIGGER_MODE_IMMEDIATE | Triggered by Initiate.
KTMDSR_VAL_PATTERNSITE_TRIGGER_MODE_TRIGGERED | Trigger set in TriggerSource starts execution.
Top

Requirements

Supported Models

All supported

See Also

Reference

CaptureSite
KtMDsr


KTMDSR_ATTR_CAPTURESITES_TRIGGER_SOURCE Attribute

KTMDSR_ATTR_CAPTURESITES_TRIGGER_SOURCE Attribute
CaptureSite See Also

Gets or sets the trigger source for this pattern. String format is: SoftwareTrigger<0-15>.

Attribute Tree Node: \KtMDsr\Instrument Specific\CaptureSite\CaptureSites Trigger Source
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_CAPTURESITES_TRIGGER_SOURCE 1150199

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

ViStatus KtMDsr_SetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViConstString AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_CAPTURESITES_TRIGGER_SOURCE.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue (GetAttribute)

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

For more information on the CaptureSites interface, see the CaptureSites Overview.
For details on generating software triggers, see Generate Software Events.

The table below shows the relationship between Software Triggers, TriggerSource strings, and the EventBits to set when calling GenerateSoftwareEvents. Multiple bits may be set to generate multiple software triggers.

Software trigger | TriggerSource string | Set EventBits to this value when calling GenerateSoftwareEvents
Software0 | "SoftwareTrigger0" | 1
Software1 | "SoftwareTrigger1" | 2
Software2 | "SoftwareTrigger2" | 4
Software3 | "SoftwareTrigger3" | 8
Software4 | "SoftwareTrigger4" | 16
Software5 | "SoftwareTrigger5" | 32
Software6 | "SoftwareTrigger6" | 64
Software7 | "SoftwareTrigger7" | 128
Software8 | "SoftwareTrigger8" | 256
Software9 | "SoftwareTrigger9" | 512
Software10 | "SoftwareTrigger10" | 1024
Software11 | "SoftwareTrigger11" | 2048
Software12 | "SoftwareTrigger12" | 4096
Software13 | "SoftwareTrigger13" | 8192
Software14 | "SoftwareTrigger14" | 16384
Software15 | "SoftwareTrigger15" | 32768

Allowed Values

"SoftwareTrigger0", "SoftwareTrigger1", "SoftwareTrigger2", "SoftwareTrigger3", "SoftwareTrigger4", "SoftwareTrigger5", "SoftwareTrigger6", "SoftwareTrigger7", "SoftwareTrigger8", "SoftwareTrigger9", "SoftwareTrigger10", "SoftwareTrigger11", "SoftwareTrigger12", "SoftwareTrigger13", "SoftwareTrigger14", "SoftwareTrigger15", "External1", "External2", "GPIO1", "GPIO2", "PXI_TRIG0", "PXI_TRIG1", "PXI_TRIG2", "PXI_TRIG3", "PXI_TRIG4", "PXI_TRIG5", "PXI_TRIG6", "PXI_TRIG7", "PXI_STAR", "PXIe_DSTARB"

Requirements

Supported Models

All supported

See Also

Reference

CaptureSite
KtMDsr


Channels

Channels
See Also

Tree Node: \KtMDsr\Instrument Specific\Channels

Functions

 | Name | Description
Function | Channel Clamp Voltage Ppmu Enable | Specifies whether the voltage clamps are active when the DSR is in PPMU force current mode. (Note: Voltage clamps are never active when the PPMU is forcing a voltage.)
Function | Channel Clamp Voltages | Sets the protection voltages to which inputs are clamped when the clamps are active.
Function | Channel Line Compensation | Compensates for transmission line effects. The degree can be set from 0 to 7.
Function | Channel Query Clamp Voltage | Queries the voltages to which the inputs clamps are configured.
Function | Channel Query Clamp Voltage Ppmu Enable | Queries whether the voltage clamps are enabled when producing current for the specified channel of the PPMU.
Function | Channel Query Line Compensation | Queries the line compensation settings for the specified channel.
Function | Channel Query Remote Sense Enable | Queries whether remote sensing is enabled on the specified channel.
Function | Channel Query Response Delay Compensation | Queries the response delay compensation for the specified channel.
Function | Channel Query Stimulus Delay | Queries the stimulus delay for the specified channel.
Function | Channel Remote Sense Enable | Controls whether stimulus and measurements use the same physical conductors from the DSR.
Function | Channel Response Delay Compensation | Sets a channel-specific response delay compensation. The delay time is set to the round-trip time for a simultaneous event to begin at the DSR output, go out to the DUT, and the response to arrive back at the DSR.
Function | Channel Stimulus Delay | Sets a channel-specific delay in the output. This delay is relative to the start trigger. Use StimulusDelay to adjust the channels with respect to each other to ensure signals arrive simultaneously at the DUT.
Function | Channels Load Response Delay Compensation | Load previously stored ResponseDelayCompensation values
Function | Channels Measure Leakage | A measurement to calculate the leakage on specificed channels in order to null them out during PatternSite execution.
Function | Channels Store Response Delay Compensation | Store all current ResponseDelayCompenstion values to a file.
Top

See Also

Reference

KtMDsr


KtMDsr_ChannelClampVoltagePpmuEnable Function

KtMDsr_ChannelClampVoltagePpmuEnable Function
Channels See Also

Specifies whether the voltage clamps are active when the DSR is in PPMU force current mode. (Note: Voltage clamps are never active when the PPMU is forcing a voltage.)

Function Tree Node: \KtMDsr\Instrument Specific\Channels\Channel Clamp Voltage Ppmu Enable
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_ChannelClampVoltagePpmuEnable(
    ViSession Vi,
    ViInt32 ChannelsBufferSize,
    ViInt32[] Channels,
    ViBoolean Enable
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

ChannelsBufferSize

Channels

Array containing the list of channels to modify.

Enable

Enables or disables PPMU on the specified channels. True enables; False disables.

Return Value

Success or failure code.

Remarks

This setting determines if the DSR should enable the clamps when the PPMU is forcing a current. The clamps are never active when the PPMU is forcing a voltage.

Setting and clearing the ClampVoltagePpmuEnable has no effect on the settings of the clamp voltages.

For more information on the voltage clamps and when they are active, see: ClampVoltages
For more information on the Channels interface, see the Channels Overview.

Requirements

Supported Models

All supported

See Also

Reference

Channels
KtMDsr


KtMDsr_ChannelClampVoltages Function

KtMDsr_ChannelClampVoltages Function
Channels See Also

Sets the protection voltages to which inputs are clamped when the clamps are active.

Function Tree Node: \KtMDsr\Instrument Specific\Channels\Channel Clamp Voltages
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_ChannelClampVoltages(
    ViSession Vi,
    ViInt32 ChannelsBufferSize,
    ViInt32[] Channels,
    ViReal64 MinimumVoltage,
    ViReal64 MaximumVoltage
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

ChannelsBufferSize

Number of elements in Channel.

Channels

Array containing the list of channels to modify.

MinimumVoltage

Minimum clamp voltage. Must be between -2 and 6.2 Volts.

MaximumVoltage

Maximum clamp voltage. Must be between -1.2 and 7 Volts.

Return Value

Success or failure code.

Remarks

The specified clamp voltages are active in two situations:

  • When the DSR is sourcing a digital signal via the PatternSite or the StaticSite
  • When the DSR is in PPMU mode, and the PPMU is forcing a current, the clamps are enabled or disabled using the ClampVoltagePpmuEnable function

At other times, the clamps are inactive. This includes:

  • When the pattern, capture, or static sites are sensing an input
  • When the PPMU is forcing a voltage
  • When the channels are disabled
  • When the DSR is forcing a voltage from an active pattern site or static site

Setting the clamp voltages does not change the setting of ClampVoltagePpmuEnable.

For more information on the Channels interface, see the Channels Overview.

Requirements

Supported Models

All supported

See Also

Reference

Channels
KtMDsr


KtMDsr_ChannelLineCompensation Function

KtMDsr_ChannelLineCompensation Function
Channels See Also

Compensates for transmission line effects. The degree can be set from 0 to 7.

Function Tree Node: \KtMDsr\Instrument Specific\Channels\Channel Line Compensation
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_ChannelLineCompensation(
    ViSession Vi,
    ViInt32 ChannelBufferSize,
    ViInt32[] Channel,
    ViInt32 DriveCompensation,
    ViInt32 ReceiveCompensation
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

ChannelBufferSize

Number of elements in Channel.

Channel

Array containing the list of channels to modify.

DriveCompensation

An integer value indicating the degree of compensation (from 0 to 7).

ReceiveCompensation

An integer value indicating the degree of compensation (from 0 to 7).

Return Value

Success or failure code.

Remarks

The LineCompensation settings are used to adjust the product input and output impedances to match the lines being driven.

The default value of zero presents a termination as close to purely resistive as possible. Increasing the value to 7 can be used to compensate for line impedances.

For more information on the Channels interface, see the Channels Overview.

Requirements

Supported Models

All supported

See Also

Reference

Channels
KtMDsr


KtMDsr_ChannelQueryClampVoltage Function

KtMDsr_ChannelQueryClampVoltage Function
Channels See Also

Queries the voltages to which the inputs clamps are configured.

Function Tree Node: \KtMDsr\Instrument Specific\Channels\Channel Query Clamp Voltage
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_ChannelQueryClampVoltage(
    ViSession Vi,
    ViInt32 Channel,
    ViReal64* MinimumVoltage,
    ViReal64* MaximumVoltage
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Channel

Channel number to query.

MinimumVoltage

Voltage clamp minimum level set for the specified channel.

MaximumVoltage

Voltage clamp maximum level set for the specified channel.

Return Value

Success or failure code.

Remarks

For more information on the Channels interface, see the Channels Overview.

Requirements

Supported Models

All supported

See Also

Reference

Channels
KtMDsr


KtMDsr_ChannelQueryClampVoltagePpmuEnable Function

KtMDsr_ChannelQueryClampVoltagePpmuEnable Function
Channels See Also

Queries whether the voltage clamps are enabled when producing current for the specified channel of the PPMU.

Function Tree Node: \KtMDsr\Instrument Specific\Channels\Channel Query Clamp Voltage Ppmu Enable
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_ChannelQueryClampVoltagePpmuEnable(
    ViSession Vi,
    ViInt32 Channel,
    ViBoolean* Val
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Channel

Channel number to query.

Val

The state of the PPMU Clamp Enable on the specified channel.

Return Value

Success or failure code.

Remarks

For more information on the Channels interface, see the Channels Overview.

Requirements

Supported Models

All supported

See Also

Reference

Channels
KtMDsr


KtMDsr_ChannelQueryLineCompensation Function

KtMDsr_ChannelQueryLineCompensation Function
Channels See Also

Queries the line compensation settings for the specified channel.

Function Tree Node: \KtMDsr\Instrument Specific\Channels\Channel Query Line Compensation
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_ChannelQueryLineCompensation(
    ViSession Vi,
    ViInt32 Channel,
    ViInt32* DriveCompensation,
    ViInt32* ReceiveCompensation
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Channel

Channel number to query.

DriveCompensation

Returns the value specified for DriveCompensation on the specified channel.

ReceiveCompensation

Returns the value specified for ReceiveCompensation on the specified channel.

Return Value

Success or failure code.

Remarks

For more information on the Channels interface, see the Channels Overview.

Requirements

Supported Models

All supported

See Also

Reference

Channels
KtMDsr


KtMDsr_ChannelQueryRemoteSenseEnable Function

KtMDsr_ChannelQueryRemoteSenseEnable Function
Channels See Also

Queries whether remote sensing is enabled on the specified channel.

Function Tree Node: \KtMDsr\Instrument Specific\Channels\Channel Query Remote Sense Enable
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_ChannelQueryRemoteSenseEnable(
    ViSession Vi,
    ViInt32 Channel,
    ViBoolean* Val
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Channel

Channel number to query.

Val

The state of RemoteSenseEnable on the specified channel.

Return Value

Success or failure code.

Remarks

For more information on the Channels interface, see the Channels Overview.

Requirements

Supported Models

All supported

See Also

Reference

Channels
KtMDsr


KtMDsr_ChannelQueryResponseDelayCompensation Function

KtMDsr_ChannelQueryResponseDelayCompensation Function
Channels See Also

Queries the response delay compensation for the specified channel.

Function Tree Node: \KtMDsr\Instrument Specific\Channels\Channel Query Response Delay Compensation
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_ChannelQueryResponseDelayCompensation(
    ViSession Vi,
    ViInt32 Channel,
    ViReal64* Val
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Channel

Channel number to query.

Val

The ResponseDelayCompensation, in seconds, on the specified channel.

Return Value

Success or failure code.

Remarks

For more information on the Channels interface, see Channels Overview.
See also Channels.ResponseDelayCompensation.

Requirements

Supported Models

All supported

See Also

Reference

Channels
KtMDsr


KtMDsr_ChannelQueryStimulusDelay Function

KtMDsr_ChannelQueryStimulusDelay Function
Channels See Also

Queries the stimulus delay for the specified channel.

Function Tree Node: \KtMDsr\Instrument Specific\Channels\Channel Query Stimulus Delay
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_ChannelQueryStimulusDelay(
    ViSession Vi,
    ViInt32 Channel,
    ViReal64* Val
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Channel

Channel number to query.

Val

The StimulusDelay, in seconds, on the specified channel.

Return Value

Success or failure code.

Remarks

The StimulusDelay is a channel-specific delay introduced at the output of the DSR. The primary use of this is to align the arrival of signals at the DUT.

For more information, see the Channels Overview and Channels.StimulusDelay.

Requirements

Supported Models

All supported

See Also

Reference

Channels
KtMDsr


KtMDsr_ChannelRemoteSenseEnable Function

KtMDsr_ChannelRemoteSenseEnable Function
Channels See Also

Controls whether stimulus and measurements use the same physical conductors from the DSR.

Function Tree Node: \KtMDsr\Instrument Specific\Channels\Channel Remote Sense Enable
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_ChannelRemoteSenseEnable(
    ViSession Vi,
    ViInt32 ChannelsBufferSize,
    ViInt32[] Channels,
    ViBoolean Enable
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

ChannelsBufferSize

Channels

Array containing the list of channels to modify.

Enable

Enables or disables remote sense lines on the specified channels. True enables; False disables.

Return Value

Success or failure code.

Remarks

RemoteSenseEnable controls how the PPMU senses signals.

If remote sense is enabled, the signal is sensed via the PPMU sense lines on the DIO connector.

If remote sense is disabled, the signal is sensed via the channel lines that are also used to stimulate the DUT.

For more information on the Channels interface, see the Channels Overview.

Requirements

Supported Models

All supported

See Also

Reference

Channels
KtMDsr


KtMDsr_ChannelResponseDelayCompensation Function

KtMDsr_ChannelResponseDelayCompensation Function
Channels See Also

Sets a channel-specific response delay compensation. The delay time is set to the round-trip time for a simultaneous event to begin at the DSR output, go out to the DUT, and the response to arrive back at the DSR.

Function Tree Node: \KtMDsr\Instrument Specific\Channels\Channel Response Delay Compensation
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_ChannelResponseDelayCompensation(
    ViSession Vi,
    ViInt32 ChannelsBufferSize,
    ViInt32[] Channels,
    ViReal64 Delay
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

ChannelsBufferSize

Number of elements in Channel.

Channels

Array containing the list of channels to modify.

Delay

The delay in seconds. The resolution of the delay is the EdgePlacementResolution or 100 picoseconds, whichever is higher.

Return Value

Success or failure code.

Remarks

The response delay compensation compensates for delays external to the DSR which affect the arrival of responses back at the DSR. Thus, the specified delay compensation time is equal to the amount of time it takes a response to arrive at the DSR module relative to when stimulus events are emitted by the DSR.

For EdgePlacementResolution less than or equal to 1.3ns, the resolution is 24 picoseconds. For EdgePlacementResolution greater than 1.3ns, the resolution is the EdgePlacementResolution.

Stimulus delays are not incorporated in the response delay compensation. That is, the response delay compensation is the compensation for delays a signal encounters traveling from the DSR to the DUT and back, not including any delay programmed with stimulus delay.

For instance, if equal stimulus delays and response delay compensations are programmed, the net impact is that the stimulus and response remain aligned as they were with no delays, however the comparisons performed by the DSR occur later in time.

The DSR has an internal delay of approximately 10ns. This time must be included in the response delay compensation that is programmed. Use MeasureAndApplyResponseDelayCompensation to determine the total compensation required for a given cable, including internal delays.

Example

If a stimulus takes 5 nanoseconds to reach the DUT, and an additional 5 nanoseconds to return to the DSR, the ResponseDelayCompensation should be set to 10 nanoseconds.

In this example, if one signal followed a shorter path so it arrived at the DUT after 4.9ns. Setting a stimulus delay of 100 picoseconds would cause all the stimulus signals to arrive at the DUT simultaneously. The ResponseDelayCompensation would still be set to 10 nanoseconds so that responses are processed at the DSR 10ns after the stimulus is produced.

However, if one signal took 100 picoseconds longer to return to the DSR, then increasing the ResponseDelayCompensation by 100 picoseconds to 10.1 nanoseconds would then realign the signals for response processing.

For more information on the Channels interface, see the Channels Overview.
See also Channels.QueryResponseDelayCompensation.

Requirements

Supported Models

All supported

See Also

Reference

Channels
KtMDsr


KtMDsr_ChannelStimulusDelay Function

KtMDsr_ChannelStimulusDelay Function
Channels See Also

Sets a channel-specific delay in the output. This delay is relative to the start trigger. Use StimulusDelay to adjust the channels with respect to each other to ensure signals arrive simultaneously at the DUT.

Function Tree Node: \KtMDsr\Instrument Specific\Channels\Channel Stimulus Delay
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_ChannelStimulusDelay(
    ViSession Vi,
    ViInt32 ChannelsBufferSize,
    ViInt32[] Channels,
    ViReal64 Delay
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

ChannelsBufferSize

Channels

Array containing the list of channels to modify.

Delay

The delay in seconds. The resolution of the delay is the EdgePlacementResolution or 100 picoseconds, whichever is higher.

Return Value

Success or failure code.

Remarks

The StimulusDelay is used to compensate for variations in timing between channels. It can also be used to introduce a delay between the receipt of a trigger and the pattern being produced.

For EdgePlacementResolution less than or equal to 1.3ns, the resolution is 24 picoseconds. For EdgePlacementResolution greater than 1.3ns, the resolution is the EdgePlacementResolution.

The minimum value of StimulusDelay is zero and the maximum value is the EdgePlacementResolution multiplied by 250.

For more information on the Channels interface, see the Channels Overview.
See also Channels.QueryStimulusDelay.

Requirements

Supported Models

All supported

See Also

Reference

Channels
KtMDsr


KtMDsr_ChannelsLoadResponseDelayCompensation Function

KtMDsr_ChannelsLoadResponseDelayCompensation Function
Channels See Also

Load previously stored ResponseDelayCompensation values

Function Tree Node: \KtMDsr\Instrument Specific\Channels\Channels Load Response Delay Compensation
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_ChannelsLoadResponseDelayCompensation(
    ViSession Vi,
    ViConstString FileName
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

FileName

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

Channels
KtMDsr


KtMDsr_ChannelsMeasureLeakage Function

KtMDsr_ChannelsMeasureLeakage Function
Channels See Also

A measurement to calculate the leakage on specificed channels in order to null them out during PatternSite execution.

Function Tree Node: \KtMDsr\Instrument Specific\Channels\Channels Measure Leakage
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_ChannelsMeasureLeakage(
    ViSession Vi,
    ViInt32 ChannelsBufferSize,
    ViInt32[] Channels,
    ViReal64 TestVoltage,
    ViReal64 SettlingDelay
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

ChannelsBufferSize

Channels

Channel numbers to meaure leakage on

TestVoltage

Voltage level to minimize leakage at.

SettlingDelay

Delay in seconds for measurement. Based on cable length.

Return Value

Success or failure code.

Remarks

This measured leakage compensation value will be automatically applied when running a PatternSite on all Signals defined as Outs that also do not have VIT or VCOM DcLevels defined. If the Signal is defined as an In or InOut, or if VIT or VCOM DcLevels are defined, the PatternSite will still execute, but the low leakge setting will be ignored.

Requirements

Supported Models

All supported

See Also

Reference

Channels
KtMDsr


KtMDsr_ChannelsStoreResponseDelayCompensation Function

KtMDsr_ChannelsStoreResponseDelayCompensation Function
Channels See Also

Store all current ResponseDelayCompenstion values to a file.

Function Tree Node: \KtMDsr\Instrument Specific\Channels\Channels Store Response Delay Compensation
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_ChannelsStoreResponseDelayCompensation(
    ViSession Vi,
    ViConstString FileName
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

FileName

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

Channels
KtMDsr


DcLevels

DcLevels
See Also

Tree Node: \KtMDsr\Instrument Specific\DcLevels

Functions

 | Name | Description
Function | DcLevel Get Signals | Gets a comma-separated list of Signals for which levels have been defined for this DCLevels block.
Function | DcLevel Query DcLevels | Gets all the DcLevel values for a Signal. If the DcLevel was created from STIL or if it was altered using SetDcLevels, the logic family value will return custom.
Function | DcLevel Set DcLevel | Sets an individual DcLevel value for all of the Signals in the SignalExpression. Calling this function will set the Logic Family to custom.
Function | DcLevel Set DcLevels | Sets all the DcLevel values for all the Signals in the SignalExpression. Calling this function will set the Logic Family to custom.
Function | DcLevel Set Logic Family | Sets the Logic Family for all the Signals in the SignalExpression using one of the LogicFamiliesEnum presettings. All DcLevel values are written.
Function | DcLevels Add | Adds a DcLevel with the specified name.
Function | DcLevels Get Name | Returns the dclevel name that corresponds to the one-based index that the user specifies.
Function | DcLevels Remove | Removes the DcLevel block with the specified name.
Top

Attributes

 | Name | Description
Attribute | DcLevel Signals | Gets a comma-separated list of Signals for which levels have been defined for this DCLevels block.
Attribute | DcLevels Count |
Top

See Also

Reference

KtMDsr


KtMDsr_DcLevelGetSignals Function

KtMDsr_DcLevelGetSignals Function
DcLevels See Also

Gets a comma-separated list of Signals for which levels have been defined for this DCLevels block.

Function Tree Node: \KtMDsr\Instrument Specific\DcLevels\DcLevel Get Signals
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_DcLevelGetSignals(
    ViSession Vi,
    ViConstString DcLevel,
    ViInt32 SignalsBufferSize,
    ViChar[] Signals
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

DcLevel

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the DcLevel repeated capability.

SignalsBufferSize

Signals

Gets a comma-separated list of Signals for which levels have been defined for this DCLevels block.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

DcLevels
KtMDsr


KtMDsr_DcLevelQueryDcLevels Function

KtMDsr_DcLevelQueryDcLevels Function
DcLevels See Also

Gets all the DcLevel values for a Signal. If the DcLevel was created from STIL or if it was altered using SetDcLevels, the logic family value will return custom.

Function Tree Node: \KtMDsr\Instrument Specific\DcLevels\DcLevel Query DcLevels
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_DcLevelQueryDcLevels(
    ViSession Vi,
    ViConstString DcLevel,
    ViConstString Signal,
    ViReal64* VOL,
    ViReal64* VOH,
    ViReal64* VHYST,
    ViReal64* VIL,
    ViReal64* VIH,
    ViReal64* VIT,
    ViReal64* VCOM,
    ViReal64* IOL,
    ViReal64* IOH,
    ViReal64* VHH,
    ViInt32* LogicFamily
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

DcLevel

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the DcLevel repeated capability.

Signal

The name of the Signal to query.

VOL

DUT Output low threshold.

VOH

DUT Output high threshold.

VHYST

Hysteresis applied to the DUT output.

VIL

DUT low voltage input.

VIH

DUT High voltage input.

VIT

Module sourced termination voltage for 50 Ohm input termination.

VCOM

Input commutation voltage for the active load.

IOL

Active load low current forced by the DSR active load when the input is below the commutation voltage.

IOH

Active load high current forced by the DSR active load when the input is above the commutation voltage.

VHH

Voltage forced by the DSR on the high voltage pin when high voltage is active.

LogicFamily

Logic family. Will return custom if not configured by specifying the logic family.

Return Value

Success or failure code.

Remarks

For more information on the DcLevels interface, see the DcLevels Overview.

Requirements

Supported Models

All supported

Defined Values For Parameter LogicFamily

Name | Description
KTMDSR_VAL_DCLEVELS_LOGIC_FAMILY_LVCMOS_1_2 | 1.2 V Low Voltage CMOS
KTMDSR_VAL_DCLEVELS_LOGIC_FAMILY_LVCMOS_1_8 | 1.8 V Low Voltage CMOS
KTMDSR_VAL_DCLEVELS_LOGIC_FAMILY_LVCMOS_2_5 | 2.5 V Low Voltage CMOS
KTMDSR_VAL_DCLEVELS_LOGIC_FAMILY_CMOS_5 | 5 V CMOS
KTMDSR_VAL_DCLEVELS_LOGIC_FAMILY_TTL | 3.3 V Low Voltage Transistor-Transistor Logic
KTMDSR_VAL_DCLEVELS_LOGIC_FAMILY_LVTTL | 5 V Transistor-Transistor Logic
KTMDSR_VAL_DCLEVELS_LOGIC_FAMILY_LVDS | Low voltage differential signaling
KTMDSR_VAL_DCLEVELS_LOGIC_FAMILY_CUSTOM | The DSR sets DcLevel logic family to CUSTOM whenever the DcLevels are not set to a specific logic family. That is, when SetDcLevels or SetDcLevel is called, or a STIL file is loaded, or an OpenXML file does not specify a logic family.
KTMDSR_VAL_DCLEVELS_LOGIC_FAMILY_PECL | Positive Emitter Coupled Logic
Top

See Also

Reference

DcLevels
KtMDsr


KtMDsr_DcLevelSetDcLevel Function

KtMDsr_DcLevelSetDcLevel Function
DcLevels See Also

Sets an individual DcLevel value for all of the Signals in the SignalExpression. Calling this function will set the Logic Family to custom.

Function Tree Node: \KtMDsr\Instrument Specific\DcLevels\DcLevel Set DcLevel
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_DcLevelSetDcLevel(
    ViSession Vi,
    ViConstString DcLevel,
    ViConstString SignalExpression,
    ViInt32 DcLevelEnum,
    ViReal64 Value
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

DcLevel

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the DcLevel repeated capability.

SignalExpression

Signal Expression specifying the signals to which the DcLevel is applied.

DcLevelEnum

Specifies the DcLevel to set.

Value

Double specifying the DcLevel value.

Return Value

Success or failure code.

Remarks

For more information on the DcLevels interface, including limits, see the DcLevels Overview.
For general information about how SignalExpressions are handled, see SignalExpressions.

Requirements

Supported Models

All supported

Defined Values For Parameter DcLevelEnum

Name | Description
KTMDSR_VAL_DCLEVEL_IOH | This is the current output by the active load when the input voltage is over the commutation voltage (VCOM). It is used with IOL and VCOM to configure the active load.
KTMDSR_VAL_DCLEVEL_IOL | This is the current output by the active load when the input voltage is under the commutation voltage (VCOM). It is used with IOH and VCOM to configure the active load.
KTMDSR_VAL_DCLEVEL_VIT | Module sourced termination voltage for 50 Ohm input termination. Setting this to a value other than NaN turns on the 50 Ohm load.
KTMDSR_VAL_DCLEVEL_VCOM | This is the active load commutation voltage, the voltage at which the load switches from sinking current to sourcing current. It is used with IOH and IOL to configure the active load.
KTMDSR_VAL_DCLEVEL_VHH | Voltage forced by the DSR on the high voltage pin when high voltage is active.
KTMDSR_VAL_DCLEVEL_VIH | DUT high voltage input. This is the voltage produced by the DSR for a 1.
KTMDSR_VAL_DCLEVEL_VIL | DUT low voltage input. This is the voltage produced by the DSR for a 0.
KTMDSR_VAL_DCLEVEL_VOH | DUT output high threshold.
KTMDSR_VAL_DCLEVEL_VOL | DUT output low threshold.
KTMDSR_VAL_DCLEVEL_VHYST | Hysteresis applied to the DUT output. This is the peak-to-peak hysteresis voltage. Inputs are coerced to 0, 50 mV or 100 mV.
Top

See Also

Reference

DcLevels
KtMDsr


KtMDsr_DcLevelSetDcLevels Function

KtMDsr_DcLevelSetDcLevels Function
DcLevels See Also

Sets all the DcLevel values for all the Signals in the SignalExpression. Calling this function will set the Logic Family to custom.

Function Tree Node: \KtMDsr\Instrument Specific\DcLevels\DcLevel Set DcLevels
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_DcLevelSetDcLevels(
    ViSession Vi,
    ViConstString DcLevel,
    ViInt32 SignalExpressionBufferSize,
    ViConstString SignalExpression,
    ViReal64 VOL,
    ViReal64 VOH,
    ViReal64 VHYST,
    ViReal64 VIL,
    ViReal64 VIH,
    ViReal64 VIT,
    ViReal64 VCOM,
    ViReal64 IOL,
    ViReal64 IOH,
    ViReal64 VHH
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

DcLevel

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the DcLevel repeated capability.

SignalExpressionBufferSize

Number of elements in SignalExpression.

SignalExpression

Signal Expression specifying the signals to which the DcLevels are applied.

VOL

DUT output low threshold.

VOH

DUT output high threshold.

VHYST

Hysteresis applied to the DUT output low and high thresholds, VOL and VOH. This is the peak-to-peak hysteresis voltage. Inputs are coerced to 0, 50 mV or 100 mV.

VIL

DUT low voltage input. This is the voltage produced by the DSR for a 0.

VIH

DUT high voltage input. This is the voltage produced by the DSR for a 1.

VIT

Module sourced termination voltage for 50 Ohm input termination. Setting this to a value other than NaN turns on the 50 Ohm load.

VCOM

Active load commutation voltage; the voltage at which the load switches from sinking current to sourcing current. It is used with IOH and IOL to configure the active load.

IOL

This is the current output by the active load when the input voltage is under the commutation voltage (VCOM). It is used with IOH and VCOM to configure the active load.

IOH

This is the current output by the active load when the input voltage is over the commutation voltage (VCOM). It is used with IOL and VCOM to configure the active load.

VHH

Voltage forced by the DSR on the high voltage pin when high voltage is active.

Return Value

Success or failure code.

Remarks

Sets every DcLevel to the specified value for all of the signals indicated by the SignalExpression.

  • Note that values associated with only one type of termination can be specified. That is, Vit for 50 Ohm termination or Vcom/Ioh/Iol for the active load.
  • If using the active load, all three values (Vcom, Iol, and Ioh) must be specified.
  • If you do not wish to enable the 50 Ohm termination or active load, set it to NaN (Not a Number).
  • It is an error to specify Vhh for channels other than the high voltage channels. When programming the high-speed channels, set Vhh to NaN (Not a Number).
For more information on the DcLevels interface, see the DcLevels Overview.
For general information on using signal expressions, see SignalExpressions.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

DcLevels
KtMDsr


KtMDsr_DcLevelSetLogicFamily Function

KtMDsr_DcLevelSetLogicFamily Function
DcLevels See Also

Sets the Logic Family for all the Signals in the SignalExpression using one of the LogicFamiliesEnum presettings. All DcLevel values are written.

Function Tree Node: \KtMDsr\Instrument Specific\DcLevels\DcLevel Set Logic Family
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_DcLevelSetLogicFamily(
    ViSession Vi,
    ViConstString DcLevel,
    ViConstString SignalExpression,
    ViInt32 LogicFamily
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

DcLevel

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the DcLevel repeated capability.

SignalExpression

Signal Expression to which to apply Logic Family settings.

LogicFamily

Logic Family to apply to DcLevels.

Return Value

Success or failure code.

Remarks

This sets the DC Levels for the specified signal expression to conventional values for common logic families.
It is acceptable to modify any of the settings made for a logic family using SetDcLevel.
The termination is high impedance for all logic families.

For more information on the DcLevels interface, see the DcLevels Overview.
For more information on logic families, see Logic families.
For general information on using signal expressions, see SignalExpressions.

Requirements

Supported Models

All supported

Defined Values For Parameter LogicFamily

Name | Description
KTMDSR_VAL_DCLEVELS_LOGIC_FAMILY_LVCMOS_1_2 | 1.2 V Low Voltage CMOS
KTMDSR_VAL_DCLEVELS_LOGIC_FAMILY_LVCMOS_1_8 | 1.8 V Low Voltage CMOS
KTMDSR_VAL_DCLEVELS_LOGIC_FAMILY_LVCMOS_2_5 | 2.5 V Low Voltage CMOS
KTMDSR_VAL_DCLEVELS_LOGIC_FAMILY_CMOS_5 | 5 V CMOS
KTMDSR_VAL_DCLEVELS_LOGIC_FAMILY_TTL | 3.3 V Low Voltage Transistor-Transistor Logic
KTMDSR_VAL_DCLEVELS_LOGIC_FAMILY_LVTTL | 5 V Transistor-Transistor Logic
KTMDSR_VAL_DCLEVELS_LOGIC_FAMILY_LVDS | Low voltage differential signaling
KTMDSR_VAL_DCLEVELS_LOGIC_FAMILY_CUSTOM | The DSR sets DcLevel logic family to CUSTOM whenever the DcLevels are not set to a specific logic family. That is, when SetDcLevels or SetDcLevel is called, or a STIL file is loaded, or an OpenXML file does not specify a logic family.
KTMDSR_VAL_DCLEVELS_LOGIC_FAMILY_PECL | Positive Emitter Coupled Logic
Top

See Also

Reference

DcLevels
KtMDsr


KTMDSR_ATTR_DCLEVEL_SIGNALS Attribute

KTMDSR_ATTR_DCLEVEL_SIGNALS Attribute
DcLevels See Also

Gets a comma-separated list of Signals for which levels have been defined for this DCLevels block.

Attribute Tree Node: \KtMDsr\Instrument Specific\DcLevels\DcLevel Signals
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_DCLEVEL_SIGNALS 1150187

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the DcLevel repeated capability.

AttributeID

Must be KTMDSR_ATTR_DCLEVEL_SIGNALS.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Remarks

For more information on the DcLevels interface, see the DcLevels Overview.

Requirements

Supported Models

All supported

See Also

Reference

DcLevels
KtMDsr


KtMDsr_DcLevelsAdd Function

KtMDsr_DcLevelsAdd Function
DcLevels See Also

Adds a DcLevel with the specified name.

Function Tree Node: \KtMDsr\Instrument Specific\DcLevels\DcLevels Add
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_DcLevelsAdd(
    ViSession Vi,
    ViConstString Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Name

Name of the DCLevels.

Return Value

Success or failure code.

Remarks

For more information on the DcLevels interface, see the DcLevels Overview.
For more information on the dynamic repeated capability Add function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

DcLevels
KtMDsr


KTMDSR_ATTR_DCLEVELS_COUNT Attribute

KTMDSR_ATTR_DCLEVELS_COUNT Attribute
DcLevels See Also

Attribute Tree Node: \KtMDsr\Instrument Specific\DcLevels\DcLevels Count
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_DCLEVELS_COUNT 1150051

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_DCLEVELS_COUNT.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

For more information on the DcLevels interface, see the DcLevels Overview.
For more information on the dynamic repeated capability Count attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

DcLevels
KtMDsr


KtMDsr_DcLevelsGetName Function

KtMDsr_DcLevelsGetName Function
DcLevels See Also

Returns the dclevel name that corresponds to the one-based index that the user specifies.

Function Tree Node: \KtMDsr\Instrument Specific\DcLevels\DcLevels Get Name
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_DcLevelsGetName(
    ViSession Vi,
    ViInt32 Index,
    ViInt32 NameBufferSize,
    ViChar[] Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Index

A one-based index that defines which name to return.

NameBufferSize

Number of elements in Name.

Name

Specifies the buffer into which the function returns the name that corresponds to the index the user specifies. The caller may pass VI_NULL for this parameter if the buffer size parameter is 0.

Return Value

Success or failure code.

Remarks

For more information on the DcLevels interface, see the DcLevels Overview.
For more information on the dynamic repeated capability Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

DcLevels
KtMDsr


KtMDsr_DcLevelsRemove Function

KtMDsr_DcLevelsRemove Function
DcLevels See Also

Removes the DcLevel block with the specified name.

Function Tree Node: \KtMDsr\Instrument Specific\DcLevels\DcLevels Remove
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_DcLevelsRemove(
    ViSession Vi,
    ViConstString Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Name

Name of DCLevels to be removed

Return Value

Success or failure code.

Remarks

For more information on the DcLevels interface, see the DcLevels Overview.
For more information on the dynamic repeated capability Remove function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

DcLevels
KtMDsr


Instrument

Instrument
See Also

Tree Node: \KtMDsr\Instrument Specific\Instrument

Functions

 | Name | Description
Function | Instrument Automatic Corrections Execute | Runs an algorithm which automatically calculates corrections for the instrument. Before calling this function, any external fixtures (inputs to the instrument) must be disconnected from the instrument.
Function | Instrument Available Versions | Returns a comma-delimited string specifying previous software revisions of the product. Any of the revisions returned by this method can be used in a call to the DowngradeFirmware method.
Function | Instrument Clear Cache | Clears all downloaded patterns in the cache. There must not be any active patterns or capture sites.
Function | Instrument Configure Memory | Configures how memory is allocated between storing compiled patterns and results. The memory size is specified for pattern compilation; the return value is the amount of memory available for results.
Function | Instrument Downgrade Firmware | Downgrades the instrument firmware to the firmware used with an earlier version of the product software.
Function | Instrument Get Automatic Corrections Needed | Returns True if the module requires that AutomaticCorrections be performed to guarantee specifications. This occurs if the current module temperature has deviated by more than 5 degrees C from the temperature at which the current corrections were made.
Function | Instrument Get Pattern Cache Size | Gets the current pattern cache size that was set with ConfigureMemory.
Function | Instrument Get Remaining Cache | Calculates and returns the amount of cache memory remaining and available for compiled patterns.
Function | Instrument Get Result Size | Result size as determined by ConfigureMemory.
Function | Instrument Get Slot | The chassis slot number that the module occupies.
Function | Instrument Get Temperature | Return the module temperature in degrees Celsius.
Function | Instrument Measure And Apply Response Delay Compensation | Measures the cable delay of an unterminated cable along with delays internal to the DSR and stores the compensation values into Channels Response Delay Compensation.
Function | Instrument Query Auxiliary Output Control | Queries whether the specified auxiliary, open drain output pin on the module is currently grounded or in a high impedance state.
Function | Instrument Reference Clock Configure | This function specifies the reference clock source and frequency. The clock source can be selected from a system timing module, the DSR front panel, and the chassis backplane. The clock frequency can be either 10 MHz or 100 MHz, depending on the source.
Function | Instrument Remove All Dynamic Items | Removes all of the STIL components, and inactivates any active sites on the instrument.
Function | Instrument Set Auxiliary Output Control | Writes the logical value to one of the four auxiliary, open drain output pins on the module. The pins are numbered 0-3. Writing 1 sets the pin to its high impedance state. Writing zero sets the pin to ground.
Function | Instrument Set Identify | If True, this attribute causes an indicator LED on the front panel to flash. This assists in identifying the module being programmed. The special indication persists as long as the Boolean is True.
Top

Attributes

 | Name | Description
Attribute | Instrument Automatic Corrections Needed | Returns True if the module requires that AutomaticCorrections be performed to guarantee specifications. This occurs if the current module temperature has deviated by more than 5 degrees C from the temperature at which the current corrections were made.
Attribute | Instrument Cache Size | Gets the current pattern cache size that was set with ConfigureMemory.
Attribute | Instrument Identify | If True, this attribute causes an indicator LED on the front panel to flash. This assists in identifying the module being programmed. The special indication persists as long as the Boolean is True.
Attribute | Instrument Lost Lock | True indicates that the reference clock PLL has lost lock since it was last tested.
Attribute | Instrument Reference Clock Frequency | This attribute returns the frequency, in Hz, specified with Configure.
Attribute | Instrument Reference Clock Source | This attribute returns the reference frequency source specified with Configure.
Attribute | Instrument Remaining Cache | Calculates and returns the amount of cache memory remaining and available for compiled patterns.
Attribute | Instrument Result Size | Result size as determined by ConfigureMemory.
Attribute | Instrument Slot | The chassis slot number that the module occupies.
Attribute | Instrument Temperature | Return the module temperature in degrees Celsius.
Top

See Also

Reference

KtMDsr


KtMDsr_InstrumentAutomaticCorrectionsExecute Function

KtMDsr_InstrumentAutomaticCorrectionsExecute Function
Instrument See Also

Runs an algorithm which automatically calculates corrections for the instrument. Before calling this function, any external fixtures (inputs to the instrument) must be disconnected from the instrument.

Function Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Automatic Corrections Execute
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_InstrumentAutomaticCorrectionsExecute(
    ViSession Vi,
    ViInt32 AverageMode
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

AverageMode

Average64, Window50Hz or Window60Hz. None is not supported.

Return Value

Success or failure code.

Remarks

All inputs must be disconnected from the instrument before performing automatic corrections.

If the instrument is more than 5 degrees Celsius from the temperature where automatic corrections were last calculated, measurement values from the PPMU may not be within specifications.

To determine whether the current temperature is within 5 degrees Celsius of the temperature of the last automatic correction, call AutomaticCorrectionsNeeded.

Requirements

Supported Models

All supported

Defined Values For Parameter AverageMode

Name | Description
KTMDSR_VAL_PPMU_SITE_AVERAGE_MODE_NONE | A single measurement is performed.
KTMDSR_VAL_PPMU_SITE_AVERAGE_MODE_AVERAGE64 | 64 measurements are performed as quickly as possible and averaged together.
KTMDSR_VAL_PPMU_SITE_AVERAGE_MODE_WINDOW50_HZ | Measurements are made over a single 50 Hz power-line cycle in order to maximize noise immunity in 50 Hz environments.
KTMDSR_VAL_PPMU_SITE_AVERAGE_MODE_WINDOW60_HZ | Measurements are made over a single 60 Hz power-line cycle in order to maximize noise immunity in 60 Hz environments.
Top

See Also

Reference

Instrument
KtMDsr


KTMDSR_ATTR_INSTRUMENT_AUTOMATIC_CORRECTIONS_NEEDED Attribute

KTMDSR_ATTR_INSTRUMENT_AUTOMATIC_CORRECTIONS_NEEDED Attribute
Instrument See Also

Returns True if the module requires that AutomaticCorrections be performed to guarantee specifications. This occurs if the current module temperature has deviated by more than 5 degrees C from the temperature at which the current corrections were made.

Attribute Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Automatic Corrections Needed
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_INSTRUMENT_AUTOMATIC_CORRECTIONS_NEEDED 1150234

ViStatus KtMDsr_GetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_INSTRUMENT_AUTOMATIC_CORRECTIONS_NEEDED.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Requirements

Supported Models

All supported

See Also

Reference

Instrument
KtMDsr


KtMDsr_InstrumentAvailableVersions Function

KtMDsr_InstrumentAvailableVersions Function
Instrument See Also

Returns a comma-delimited string specifying previous software revisions of the product. Any of the revisions returned by this method can be used in a call to the DowngradeFirmware method.

Function Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Available Versions
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_InstrumentAvailableVersions(
    ViSession Vi,
    ViInt32 AvailableVersionsBufferSize,
    ViChar[] AvailableVersions
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

AvailableVersionsBufferSize

Number of elements in RevisionHistory.

AvailableVersions

A comma-delimited list specifying all previous product software revisions.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

Instrument
KtMDsr


KTMDSR_ATTR_INSTRUMENT_CACHE_SIZE Attribute

KTMDSR_ATTR_INSTRUMENT_CACHE_SIZE Attribute
Instrument See Also

Gets the current pattern cache size that was set with ConfigureMemory.

Attribute Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Cache Size
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_INSTRUMENT_CACHE_SIZE 1150222

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_INSTRUMENT_CACHE_SIZE.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Requirements

Supported Models

All supported

See Also

Reference

Instrument
KtMDsr


KtMDsr_InstrumentClearCache Function

KtMDsr_InstrumentClearCache Function
Instrument See Also

Clears all downloaded patterns in the cache. There must not be any active patterns or capture sites.

Function Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Clear Cache
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_InstrumentClearCache(
    ViSession Vi
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Return Value

Success or failure code.

Remarks

This function will fail if any pattern or capture site is currently active.

Requirements

Supported Models

All supported

See Also

Reference

Instrument
KtMDsr


KtMDsr_InstrumentConfigureMemory Function

KtMDsr_InstrumentConfigureMemory Function
Instrument See Also

Configures how memory is allocated between storing compiled patterns and results. The memory size is specified for pattern compilation; the return value is the amount of memory available for results.

Function Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Configure Memory
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_InstrumentConfigureMemory(
    ViSession Vi,
    ViInt32 PatternCacheSize,
    ViInt32* ResultSize
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternCacheSize

Specifies the amount of memory, in bytes, for compiled pattern storage (cache).

ResultSize

Returns the amount of memory, in bytes, available for result storage.

Return Value

Success or failure code.

Remarks

Configures the memory split between the pattern cache and result storage.

The CacheSize specifies the total memory available for patterns across all banks. This memory stores both patterns that are automatically stored in the cache when they are activated (using PatternSites.Activate), and patterns that are stored to cache using Patternsites.DownloadPatternToCache.

To determine the size of a compiled pattern, use the ListCache function.

Results are packed into memory in response words. Each response word contains up to 24 consecutive response vectors, that is, data from up to 24 consecutive clock cycles. If the clock cycles generating response data are not within 24-cycles of each other, a full response word is required for each response element.

When the DSR module is configured to run four separate 4-channel banks, the response word from each bank is 64 bytes. When the DSR module is configured to run a single 16-channel bank, each response word is 256 bytes.

Configure Memory will clear any patterns in the cache. All pattern sites must be inactivated before calling this function. A total of approximately 2GBytes of memory is available. By default, the CacheSize is approximately 1.9 GBytes, and the Response size is approximately 100 Mbytes.

Requirements

Supported Models

All supported

See Also

Reference

Instrument
KtMDsr


KtMDsr_InstrumentDowngradeFirmware Function

KtMDsr_InstrumentDowngradeFirmware Function
Instrument See Also

Downgrades the instrument firmware to the firmware used with an earlier version of the product software.

Function Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Downgrade Firmware
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_InstrumentDowngradeFirmware(
    ViSession Vi,
    ViConstString Revision
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Revision

Specifies the revision of an earlier product software release. The firmware that was part of that earlier product software release will be loaded onto the product FPGAs. If this is the first release of the product software, this function will do nothing.

Return Value

Success or failure code.

Remarks

Once the firmware downgrade is complete, the DSR module will not work with this version of the software until the firmware is upgraded back to the current version.

Use the DSR soft front panel (SFP) to perform an upgrade.

Requirements

Supported Models

All supported

See Also

Reference

Instrument
KtMDsr


KtMDsr_InstrumentGetAutomaticCorrectionsNeeded Function

KtMDsr_InstrumentGetAutomaticCorrectionsNeeded Function
Instrument See Also

Returns True if the module requires that AutomaticCorrections be performed to guarantee specifications. This occurs if the current module temperature has deviated by more than 5 degrees C from the temperature at which the current corrections were made.

Function Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Get Automatic Corrections Needed
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_InstrumentGetAutomaticCorrectionsNeeded(
    ViSession Vi,
    ViBoolean* AutomaticCorrectionsNeeded
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

AutomaticCorrectionsNeeded

Indicates whether or not AutomaticCorrections are needed.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

Instrument
KtMDsr


KtMDsr_InstrumentGetPatternCacheSize Function

KtMDsr_InstrumentGetPatternCacheSize Function
Instrument See Also

Gets the current pattern cache size that was set with ConfigureMemory.

Function Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Get Pattern Cache Size
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_InstrumentGetPatternCacheSize(
    ViSession Vi,
    ViInt32* PatternCacheSize
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternCacheSize

Gets the current pattern cache size that was set with ConfigureMemory.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

Instrument
KtMDsr


KtMDsr_InstrumentGetRemainingCache Function

KtMDsr_InstrumentGetRemainingCache Function
Instrument See Also

Calculates and returns the amount of cache memory remaining and available for compiled patterns.

Function Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Get Remaining Cache
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_InstrumentGetRemainingCache(
    ViSession Vi,
    ViInt32* RemainingCache
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RemainingCache

RemainingCache memory in Bytes

Return Value

Success or failure code.

Remarks

RemainingCache differs from CacheSize in that RemainingCache returns the amount of memory remaining and not currently in use.

Requirements

Supported Models

All supported

See Also

Reference

Instrument
KtMDsr


KtMDsr_InstrumentGetResultSize Function

KtMDsr_InstrumentGetResultSize Function
Instrument See Also

Result size as determined by ConfigureMemory.

Function Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Get Result Size
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_InstrumentGetResultSize(
    ViSession Vi,
    ViInt32* ResultSize
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

ResultSize

Result size as determined by ConfigureMemory.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

Instrument
KtMDsr


KtMDsr_InstrumentGetSlot Function

KtMDsr_InstrumentGetSlot Function
Instrument See Also

The chassis slot number that the module occupies.

Function Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Get Slot
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_InstrumentGetSlot(
    ViSession Vi,
    ViInt32* Slot
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Slot

The chassis slot number that the module occupies.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

Instrument
KtMDsr


KtMDsr_InstrumentGetTemperature Function

KtMDsr_InstrumentGetTemperature Function
Instrument See Also

Return the module temperature in degrees Celsius.

Function Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Get Temperature
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_InstrumentGetTemperature(
    ViSession Vi,
    ViReal64* Temperature
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Temperature

Return the module temperature in degrees Celsius.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

Instrument
KtMDsr


KTMDSR_ATTR_INSTRUMENT_IDENTIFY Attribute

KTMDSR_ATTR_INSTRUMENT_IDENTIFY Attribute
Instrument See Also

If True, this attribute causes an indicator LED on the front panel to flash. This assists in identifying the module being programmed. The special indication persists as long as the Boolean is True.

Attribute Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Identify
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_INSTRUMENT_IDENTIFY 1150224

ViStatus KtMDsr_GetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean* AttributeValue
);

ViStatus KtMDsr_SetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_INSTRUMENT_IDENTIFY.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Requirements

Supported Models

All supported

See Also

Reference

Instrument
KtMDsr


KTMDSR_ATTR_INSTRUMENT_LOST_LOCK Attribute

KTMDSR_ATTR_INSTRUMENT_LOST_LOCK Attribute
Instrument See Also

True indicates that the reference clock PLL has lost lock since it was last tested.

Attribute Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Lost Lock
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_INSTRUMENT_LOST_LOCK 1150228

ViStatus KtMDsr_GetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_INSTRUMENT_LOST_LOCK.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

This attribute is cleared whenever it is read; therefore, it is True when the reference clock has lost lock since it was last tested.

To determine if the current frequency source is stable and locked, this attribute must be read twice since the first read could indicate that lock had been previously lost at some earlier time.

This attribute is automatically cleared before a pattern is executed, and tested at the end of execution to ensure that lock was not lost during execution.

Requirements

Supported Models

All supported

See Also

Reference

Instrument
KtMDsr


KtMDsr_InstrumentMeasureAndApplyResponseDelayCompensation Function

KtMDsr_InstrumentMeasureAndApplyResponseDelayCompensation Function
Instrument See Also

Measures the cable delay of an unterminated cable along with delays internal to the DSR and stores the compensation values into Channels Response Delay Compensation.

Function Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Measure And Apply Response Delay Compensation
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_InstrumentMeasureAndApplyResponseDelayCompensation(
    ViSession Vi
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Return Value

Success or failure code.

Remarks

This measurement requires that the cable be unterminated. After the delay compensation is calculated, the results are written to the Channels Response Delay Compensation.

This measurement includes internal DSR delays and delays through the cable. This is the appropriate value to enter into the ResponseDelayCompensation setting.

The measurement does not include any delays introduced using the Stimulus Delay.

Additional delays beyond those measured for the cable can be added to the measured values in the response delay compensation. For instance, if there is an additional delay of 1.4 ns due to propagation from the end of the cable through the fixture to the actual DUT, it is appropriate to read back the value measured for the response delay compensation by this function, add 1.4 ns to it, then store it as the response delay compensation.

If one or more channels of the cable is terminated, then the cable will appear to be infinitely long. This is not treated as a measurement error, and the cable delay for that channel is set to 0.

It is appropriate to use this method to characterize various cables that extract the values from the driver using QueryResponseDelayCompensation. Subsequently, when using a particular cable, those values can be stored.

For more information on the Channels interface, see the Channels Overview.

Requirements

Supported Models

All supported

See Also

Reference

Instrument
KtMDsr


KtMDsr_InstrumentQueryAuxiliaryOutputControl Function

KtMDsr_InstrumentQueryAuxiliaryOutputControl Function
Instrument See Also

Queries whether the specified auxiliary, open drain output pin on the module is currently grounded or in a high impedance state.

Function Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Query Auxiliary Output Control
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_InstrumentQueryAuxiliaryOutputControl(
    ViSession Vi,
    ViInt32 Pin,
    ViInt32* Val
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Pin

Pin number to query. This is one of the four auxiliary, open drain output pins on the module. The pins are numbered 0-3.

Val

Current state of the Auxiliary pin.

Return Value

Success or failure code.

Remarks

1 indicates the pin is set to high impedance state. 0 indicates the pin is set to ground.

Requirements

Supported Models

All supported

Defined Values For Parameter Val

Name | Description
KTMDSR_VAL_INSTRUMENT_AUXILIARY_OUTPUT_CONTROL_GROUND | Ground
KTMDSR_VAL_INSTRUMENT_AUXILIARY_OUTPUT_CONTROL_HIGH_IMPEDANCE | High Impedence
Top

See Also

Reference

Instrument
KtMDsr


KtMDsr_InstrumentReferenceClockConfigure Function

KtMDsr_InstrumentReferenceClockConfigure Function
Instrument See Also

This function specifies the reference clock source and frequency. The clock source can be selected from a system timing module, the DSR front panel, and the chassis backplane. The clock frequency can be either 10 MHz or 100 MHz, depending on the source.

Function Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Reference Clock Configure
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_InstrumentReferenceClockConfigure(
    ViSession Vi,
    ViInt32 Source,
    ViReal64 Frequency
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Source

Clock source to be used.

Frequency

Configures the reference frequency provided to the instrument.

Return Value

Success or failure code.

Remarks

The three selectable DSR reference clock sources are shown in the table below along with the supported frequencies of the clock sources.

Source | Frequency (must be entered in Hz)
PXIe_DSTARA | 10 MHz or 100 MHz
Clock In connector | 10 MHz or 100 MHz
PXIe_CLK100 | 100 MHz

The reference clocks are sourced as follows:

  • PXIe_DSTARA � This clock is generated by a system timing module, if present, and can be either 10 MHz or 100 MHz. In the Keysight M9018A chassis, the system timing module is installed in slot 10. System timing modules are available from 3rd parties, refer to their documentation for information on how to generate the PXIe_DSTARA clock.
  • Clock In connector � This connector is on the DSR front panel, and can be used to connect either a 10 MHz or 100 MHz clock.
  • PXIe_CLK100 � This clock is available on the chassis backplane and is fixed at 100 MHz. This clock is selected by default whenever the driver is Initialized.

All reference clock sources must be within +/- 40 PPM of their target frequency, either 10 MHz or 100 MHz.

As shown in the Syntax section above, enums are used to specify the clock source. The clock frequency is specified in Hz, and must either be 1E7 (10 MHz) or 1E8 (100 MHz), or equivalent notations.

After configuring the clock, checking of the LostLock attribute is recommended. LostLock will be False if locking occurred on the selected reference clock. In order to provide sufficient time for locking to occur on the selected clock, .5 seconds should be allowed between selecting a new clock and checking the LostLock attribute.

As described on the LostLock property page, anytime this property is read, it should be read twice in succession. The first read will clear out any history of a previously lost lock while the second read will provide the actual LostLock status.

NOTE: Care should be taken to avoid selecting an unavailable clock source. Selecting, for example, the front panel Clk In source when there is no clock present on the Clk In connector will render the DSR unable to generate patterns. The DSR will likewise be unable to generate patterns if the clock frequency is outside of the +/- 40 PPM frequency range. As mentioned above, the LostLock attribute can be checked to determine if locking has failed to occur (LostLock will be True if locking has failed).

Requirements

Supported Models

All supported

Defined Values For Parameter Source

Name | Description
KTMDSR_VAL_INSTRUMENT_REFERENCE_CLOCK_SOURCED_STARA | D* A
KTMDSR_VAL_INSTRUMENT_REFERENCE_CLOCK_SOURCE_FRONT_PANEL | Front Panel
KTMDSR_VAL_INSTRUMENT_REFERENCE_CLOCK_SOURCEPXI100 | PXI 100MHz
Top

See Also

Reference

Instrument
KtMDsr


KTMDSR_ATTR_INSTRUMENT_REFERENCECLOCK_FREQUENCY Attribute

KTMDSR_ATTR_INSTRUMENT_REFERENCECLOCK_FREQUENCY Attribute
Instrument See Also

This attribute returns the frequency, in Hz, specified with Configure.

Attribute Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Reference Clock Frequency
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_INSTRUMENT_REFERENCECLOCK_FREQUENCY 1150170

ViStatus KtMDsr_GetAttributeViReal64(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViReal64* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_INSTRUMENT_REFERENCECLOCK_FREQUENCY.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Requirements

Supported Models

All supported

See Also

Reference

Instrument
KtMDsr


KTMDSR_ATTR_INSTRUMENT_REFERENCECLOCK_SOURCE Attribute

KTMDSR_ATTR_INSTRUMENT_REFERENCECLOCK_SOURCE Attribute
Instrument See Also

This attribute returns the reference frequency source specified with Configure.

Attribute Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Reference Clock Source
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_INSTRUMENT_REFERENCECLOCK_SOURCE 1150168

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_INSTRUMENT_REFERENCECLOCK_SOURCE.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Defined Values

Name | Description
KTMDSR_VAL_INSTRUMENT_REFERENCE_CLOCK_SOURCED_STARA | D* A
KTMDSR_VAL_INSTRUMENT_REFERENCE_CLOCK_SOURCE_FRONT_PANEL | Front Panel
KTMDSR_VAL_INSTRUMENT_REFERENCE_CLOCK_SOURCEPXI100 | PXI 100MHz
Top

Requirements

Supported Models

All supported

See Also

Reference

Instrument
KtMDsr


KTMDSR_ATTR_INSTRUMENT_REMAINING_CACHE Attribute

KTMDSR_ATTR_INSTRUMENT_REMAINING_CACHE Attribute
Instrument See Also

Calculates and returns the amount of cache memory remaining and available for compiled patterns.

Attribute Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Remaining Cache
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_INSTRUMENT_REMAINING_CACHE 1150201

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_INSTRUMENT_REMAINING_CACHE.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

RemainingCache differs from CacheSize in that RemainingCache returns the amount of memory remaining and not currently in use.

Requirements

Supported Models

All supported

See Also

Reference

Instrument
KtMDsr


KtMDsr_InstrumentRemoveAllDynamicItems Function

KtMDsr_InstrumentRemoveAllDynamicItems Function
Instrument See Also

Removes all of the STIL components, and inactivates any active sites on the instrument.

Function Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Remove All Dynamic Items
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_InstrumentRemoveAllDynamicItems(
    ViSession Vi
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Return Value

Success or failure code.

Remarks

For more information about STIL components or active sites, see:

STIL Components

Active Sites

Requirements

Supported Models

All supported

See Also

Reference

Instrument
KtMDsr


KTMDSR_ATTR_INSTRUMENT_RESULT_SIZE Attribute

KTMDSR_ATTR_INSTRUMENT_RESULT_SIZE Attribute
Instrument See Also

Result size as determined by ConfigureMemory.

Attribute Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Result Size
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_INSTRUMENT_RESULT_SIZE 1150223

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_INSTRUMENT_RESULT_SIZE.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Requirements

Supported Models

All supported

See Also

Reference

Instrument
KtMDsr


KtMDsr_InstrumentSetAuxiliaryOutputControl Function

KtMDsr_InstrumentSetAuxiliaryOutputControl Function
Instrument See Also

Writes the logical value to one of the four auxiliary, open drain output pins on the module. The pins are numbered 0-3. Writing 1 sets the pin to its high impedance state. Writing zero sets the pin to ground.

Function Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Set Auxiliary Output Control
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_InstrumentSetAuxiliaryOutputControl(
    ViSession Vi,
    ViInt32 Pin,
    ViInt32 Value
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Pin

Pin number to set. This is one of the four auxiliary, open drain output pins on the module, numbered 0-3.

Value

Logical value to write to the pin.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

Defined Values For Parameter Value

Name | Description
KTMDSR_VAL_INSTRUMENT_AUXILIARY_OUTPUT_CONTROL_GROUND | Ground
KTMDSR_VAL_INSTRUMENT_AUXILIARY_OUTPUT_CONTROL_HIGH_IMPEDANCE | High Impedence
Top

See Also

Reference

Instrument
KtMDsr


KtMDsr_InstrumentSetIdentify Function

KtMDsr_InstrumentSetIdentify Function
Instrument See Also

If True, this attribute causes an indicator LED on the front panel to flash. This assists in identifying the module being programmed. The special indication persists as long as the Boolean is True.

Function Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Set Identify
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_InstrumentSetIdentify(
    ViSession Vi,
    ViBoolean Identify
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Identify

If True, this attribute causes an indicator LED on the front panel to flash.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

Instrument
KtMDsr


KTMDSR_ATTR_INSTRUMENT_SLOT Attribute

KTMDSR_ATTR_INSTRUMENT_SLOT Attribute
Instrument See Also

The chassis slot number that the module occupies.

Attribute Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Slot
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_INSTRUMENT_SLOT 1150237

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_INSTRUMENT_SLOT.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Requirements

Supported Models

All supported

See Also

Reference

Instrument
KtMDsr


KTMDSR_ATTR_INSTRUMENT_TEMPERATURE Attribute

KTMDSR_ATTR_INSTRUMENT_TEMPERATURE Attribute
Instrument See Also

Return the module temperature in degrees Celsius.

Attribute Tree Node: \KtMDsr\Instrument Specific\Instrument\Instrument Temperature
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_INSTRUMENT_TEMPERATURE 1150238

ViStatus KtMDsr_GetAttributeViReal64(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViReal64* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_INSTRUMENT_TEMPERATURE.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

Note:

  • Temperatures should not be read while executing a List.
  • Reading board temperatures is time consuming, and should be used sparingly.

Requirements

Supported Models

All supported

See Also

Reference

Instrument
KtMDsr


MacroDef

MacroDef
See Also

Tree Node: \KtMDsr\Instrument Specific\MacroDef

Functions

 | Name | Description
Function | MacroDef Define Macro | Defines the patterns to be used as macros.
Function | MacroDef Get Macros | Returns a comma-separated list of Macros defined in this MacroDef.
Function | MacroDefs Add | Adds a MacroDef block of the specified name.
Function | MacroDefs Get Name | Returns the macrodef name that corresponds to the one-based index that the user specifies.
Function | MacroDefs Remove | Removes the MacroDef block with the specified name.
Top

Attributes

 | Name | Description
Attribute | MacroDef Macros | Returns a comma-separated list of Macros defined in this MacroDef.
Attribute | MacroDefs Count |
Top

See Also

Reference

KtMDsr


KtMDsr_MacroDefDefineMacro Function

KtMDsr_MacroDefDefineMacro Function
MacroDef See Also

Defines the patterns to be used as macros.

Function Tree Node: \KtMDsr\Instrument Specific\MacroDef\MacroDef Define Macro
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_MacroDefDefineMacro(
    ViSession Vi,
    ViConstString MacroDef,
    ViConstString MacroNames,
    ViConstString Patterns
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

MacroDef

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the MacroDef repeated capability.

MacroNames

Comma-separated list of macro names.

Patterns

Comma-separated list of Pattern names to be used as macros.

Return Value

Success or failure code.

Remarks

DefineMacro designates one or more patterns to be used as macros. A pattern designated as a macro can be executed from another pattern by including a line that calls it in the invoking pattern.

Macros are invoked using the Macro line type from the API, or the appropriate language syntax from one of the pattern files.

The MacroNames are assigned to the Patterns at the same position in the comma-separated list. For instance, if the MacroNames are "Able, Boy, Cast" and the pattern block names are "Alfa, Bravo, Charlie", then invoking macro Boy, would execute the pattern defined in pattern block Bravo.

For more information on the MacroDef interface, see the MacroDef Overview.

Requirements

Supported Models

All supported

See Also

Reference

MacroDef
KtMDsr


KtMDsr_MacroDefGetMacros Function

KtMDsr_MacroDefGetMacros Function
MacroDef See Also

Returns a comma-separated list of Macros defined in this MacroDef.

Function Tree Node: \KtMDsr\Instrument Specific\MacroDef\MacroDef Get Macros
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_MacroDefGetMacros(
    ViSession Vi,
    ViConstString MacroDef,
    ViInt32 MacrosBufferSize,
    ViChar[] Macros
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

MacroDef

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the MacroDef repeated capability.

MacrosBufferSize

Macros

Returns a comma-separated list of Macros defined in this MacroDef.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

MacroDef
KtMDsr


KTMDSR_ATTR_MACRODEF_MACROS Attribute

KTMDSR_ATTR_MACRODEF_MACROS Attribute
MacroDef See Also

Returns a comma-separated list of Macros defined in this MacroDef.

Attribute Tree Node: \KtMDsr\Instrument Specific\MacroDef\MacroDef Macros
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_MACRODEF_MACROS 1150189

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the MacroDef repeated capability.

AttributeID

Must be KTMDSR_ATTR_MACRODEF_MACROS.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Remarks

For more information on the MacroDef interface, see the MacroDef Overview.

Requirements

Supported Models

All supported

See Also

Reference

MacroDef
KtMDsr


KtMDsr_MacroDefsAdd Function

KtMDsr_MacroDefsAdd Function
MacroDef See Also

Adds a MacroDef block of the specified name.

Function Tree Node: \KtMDsr\Instrument Specific\MacroDef\MacroDefs Add
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_MacroDefsAdd(
    ViSession Vi,
    ViConstString Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Name

Name of MacroDef

Return Value

Success or failure code.

Remarks

For more information on the MacroDef interface, see the MacroDef Overview.
For more information on the dynamic repeated capability Add function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

MacroDef
KtMDsr


KTMDSR_ATTR_MACRODEFS_COUNT Attribute

KTMDSR_ATTR_MACRODEFS_COUNT Attribute
MacroDef See Also

Attribute Tree Node: \KtMDsr\Instrument Specific\MacroDef\MacroDefs Count
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_MACRODEFS_COUNT 1150143

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_MACRODEFS_COUNT.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

For more information on the MacroDef interface, see the MacroDef Overview.
For more information on the dynamic repeated capability Count attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

MacroDef
KtMDsr


KtMDsr_MacroDefsGetName Function

KtMDsr_MacroDefsGetName Function
MacroDef See Also

Returns the macrodef name that corresponds to the one-based index that the user specifies.

Function Tree Node: \KtMDsr\Instrument Specific\MacroDef\MacroDefs Get Name
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_MacroDefsGetName(
    ViSession Vi,
    ViInt32 Index,
    ViInt32 NameBufferSize,
    ViChar[] Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Index

A one-based index that defines which name to return.

NameBufferSize

Number of elements in Name.

Name

Specifies the buffer into which the function returns the name that corresponds to the index the user specifies. The caller may pass VI_NULL for this parameter if the buffer size parameter is 0.

Return Value

Success or failure code.

Remarks

For more information on the MacroDef interface, see the MacroDef Overview.
For more information on the dynamic repeated capability Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

MacroDef
KtMDsr


KtMDsr_MacroDefsRemove Function

KtMDsr_MacroDefsRemove Function
MacroDef See Also

Removes the MacroDef block with the specified name.

Function Tree Node: \KtMDsr\Instrument Specific\MacroDef\MacroDefs Remove
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_MacroDefsRemove(
    ViSession Vi,
    ViConstString Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Name

Name of MacroDef to remove

Return Value

Success or failure code.

Remarks

For more information on the MacroDef interface, see the MacroDef Overview.
For more information on the dynamic repeated capability Remove function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

MacroDef
KtMDsr


Module

Module
See Also

Tree Node: \KtMDsr\Instrument Specific\Module

Branches

Name
Calibration
Nonvolatile
Top

Functions

 | Name | Description
Function | Modules Get Name | Returns the module name that corresponds to the one-based index that the user specifies.
Top

Attributes

 | Name | Description
Attribute | Module Identify | Flashes the light on the front of the module.
Attribute | Module Options | Read Only - A comma separated list of the options installed in the module.
Attribute | Module Serial Number | Read Only - Serial number of the module.
Attribute | Module Slot | Read Only - The chassis slot the module occupies.
Attribute | Module Temperature | Read Only - Returns the module temperature in degrees Celsius.
Attribute | Modules Count | Returns the number of modules.
Top

See Also

Reference

KtMDsr


Calibration

Calibration
See Also

Tree Node: \KtMDsr\Instrument Specific\Module\Calibration

Attributes

 | Name | Description
Attribute | Module Calibration Adjustment Information | Read Only - A multi-line list of calibration adjustment information. Each system with this module that a system calibration has been performed with will generate a line that includes the calibration date and instrument identifier.
Attribute | Module Calibration Due Date | Read Only - The computed date of the next required module calibration date. If the module is not subject to periodic calibration, this returns "n/a". If the module has not been calibrated, this returns "unknown". If the module is calibrated, this returns a date formatted for the current locale.
Attribute | Module Calibration Status | Read Only - This property indicates the calibration status of the module. The status is determined by comparing the (module calibration due date - cal due reminder value) to the current date.
Attribute | Module Calibration Verification Information | Read Only - A multi-line list of calibration verification information. Each system that the module calibration has been verified with will generate a line that includes the calibration date and instrument identifier.
Top

See Also

Reference

KtMDsr


KTMDSR_ATTR_MODULE_CALIBRATION_ADJUSTMENT_INFORMATION Attribute

KTMDSR_ATTR_MODULE_CALIBRATION_ADJUSTMENT_INFORMATION Attribute
Calibration See Also

Read Only - A multi-line list of calibration adjustment information. Each system with this module that a system calibration has been performed with will generate a line that includes the calibration date and instrument identifier.

Attribute Tree Node: \KtMDsr\Instrument Specific\Module\Calibration\Module Calibration Adjustment Information
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_MODULE_CALIBRATION_ADJUSTMENT_INFORMATION 1150257

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Module repeated capability.

AttributeID

Must be KTMDSR_ATTR_MODULE_CALIBRATION_ADJUSTMENT_INFORMATION.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Requirements

Supported Models

All supported

See Also

Reference

Calibration
KtMDsr


KTMDSR_ATTR_MODULE_CALIBRATION_DUE_DATE Attribute

KTMDSR_ATTR_MODULE_CALIBRATION_DUE_DATE Attribute
Calibration See Also

Read Only - The computed date of the next required module calibration date. If the module is not subject to periodic calibration, this returns "n/a". If the module has not been calibrated, this returns "unknown". If the module is calibrated, this returns a date formatted for the current locale.

Attribute Tree Node: \KtMDsr\Instrument Specific\Module\Calibration\Module Calibration Due Date
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_MODULE_CALIBRATION_DUE_DATE 1150258

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Module repeated capability.

AttributeID

Must be KTMDSR_ATTR_MODULE_CALIBRATION_DUE_DATE.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Remarks

DueDate depends on

  • The module having module verification date (not all modules do)
  • User specified settings EnablePeriodicCal and ModuleCalInterval

The value of Modules.Item.Calibration.DueDate (MODULES_CALIBRATION_DUE_DATE) will affect the values of Calibration.DueDate (CALIBRATION_DUE_DATE)and Calibration.Status (CALIBRATION_STATUS) see those properties for more details.

Requirements

Supported Models

All supported

See Also

Reference

Calibration
KtMDsr


KTMDSR_ATTR_MODULE_CALIBRATION_STATUS Attribute

KTMDSR_ATTR_MODULE_CALIBRATION_STATUS Attribute
Calibration See Also

Read Only - This property indicates the calibration status of the module. The status is determined by comparing the (module calibration due date - cal due reminder value) to the current date.

Attribute Tree Node: \KtMDsr\Instrument Specific\Module\Calibration\Module Calibration Status
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_MODULE_CALIBRATION_STATUS 1150259

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Module repeated capability.

AttributeID

Must be KTMDSR_ATTR_MODULE_CALIBRATION_STATUS.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Defined Values

Name | Description
KTMDSR_VAL_CALIBRATION_STATUS_INSTRUMENT_CALIBRATED |
KTMDSR_VAL_CALIBRATION_STATUS_DUE |
KTMDSR_VAL_CALIBRATION_STATUS_EXPIRED |
KTMDSR_VAL_CALIBRATION_STATUS_NOT_CALIBRATED |
KTMDSR_VAL_CALIBRATION_STATUS_NOT_SUBJECT_TO_CALIBRATION |
KTMDSR_VAL_CALIBRATION_STATUS_MODULE_CALIBRATED |
Top

Requirements

Supported Models

All supported

See Also

Reference

Calibration
KtMDsr


KTMDSR_ATTR_MODULE_CALIBRATION_VERIFICATION_INFORMATION Attribute

KTMDSR_ATTR_MODULE_CALIBRATION_VERIFICATION_INFORMATION Attribute
Calibration See Also

Read Only - A multi-line list of calibration verification information. Each system that the module calibration has been verified with will generate a line that includes the calibration date and instrument identifier.

Attribute Tree Node: \KtMDsr\Instrument Specific\Module\Calibration\Module Calibration Verification Information
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_MODULE_CALIBRATION_VERIFICATION_INFORMATION 1150260

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Module repeated capability.

AttributeID

Must be KTMDSR_ATTR_MODULE_CALIBRATION_VERIFICATION_INFORMATION.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Remarks

The instrument identifier is a 10 character hash code followed by each module's model and serial number.

Requirements

Supported Models

All supported

See Also

Reference

Calibration
KtMDsr


KTMDSR_ATTR_MODULE_IDENTIFY Attribute

KTMDSR_ATTR_MODULE_IDENTIFY Attribute
Module See Also

Flashes the light on the front of the module.

Attribute Tree Node: \KtMDsr\Instrument Specific\Module\Module Identify
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_MODULE_IDENTIFY 1150241

ViStatus KtMDsr_GetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean* AttributeValue
);

ViStatus KtMDsr_SetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Module repeated capability.

AttributeID

Must be KTMDSR_ATTR_MODULE_IDENTIFY.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Requirements

Supported Models

All supported

See Also

Reference

Module
KtMDsr


KTMDSR_ATTR_MODULE_OPTIONS Attribute

KTMDSR_ATTR_MODULE_OPTIONS Attribute
Module See Also

Read Only - A comma separated list of the options installed in the module.

Attribute Tree Node: \KtMDsr\Instrument Specific\Module\Module Options
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_MODULE_OPTIONS 1150244

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Module repeated capability.

AttributeID

Must be KTMDSR_ATTR_MODULE_OPTIONS.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Requirements

Supported Models

All supported

See Also

Reference

Module
KtMDsr


KTMDSR_ATTR_MODULE_SERIAL_NUMBER Attribute

KTMDSR_ATTR_MODULE_SERIAL_NUMBER Attribute
Module See Also

Read Only - Serial number of the module.

Attribute Tree Node: \KtMDsr\Instrument Specific\Module\Module Serial Number
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_MODULE_SERIAL_NUMBER 1150243

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Module repeated capability.

AttributeID

Must be KTMDSR_ATTR_MODULE_SERIAL_NUMBER.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Requirements

Supported Models

All supported

See Also

Reference

Module
KtMDsr


KTMDSR_ATTR_MODULE_SLOT Attribute

KTMDSR_ATTR_MODULE_SLOT Attribute
Module See Also

Read Only - The chassis slot the module occupies.

Attribute Tree Node: \KtMDsr\Instrument Specific\Module\Module Slot
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_MODULE_SLOT 1150242

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Module repeated capability.

AttributeID

Must be KTMDSR_ATTR_MODULE_SLOT.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Requirements

Supported Models

All supported

See Also

Reference

Module
KtMDsr


KTMDSR_ATTR_MODULE_TEMPERATURE Attribute

KTMDSR_ATTR_MODULE_TEMPERATURE Attribute
Module See Also

Read Only - Returns the module temperature in degrees Celsius.

Attribute Tree Node: \KtMDsr\Instrument Specific\Module\Module Temperature
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_MODULE_TEMPERATURE 1150240

ViStatus KtMDsr_GetAttributeViReal64(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViReal64* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Module repeated capability.

AttributeID

Must be KTMDSR_ATTR_MODULE_TEMPERATURE.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Requirements

Supported Models

All supported

See Also

Reference

Module
KtMDsr


KTMDSR_ATTR_MODULES_COUNT Attribute

KTMDSR_ATTR_MODULES_COUNT Attribute
Module See Also

Returns the number of modules.

Attribute Tree Node: \KtMDsr\Instrument Specific\Module\Modules Count
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_MODULES_COUNT 1150239

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_MODULES_COUNT.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Requirements

Supported Models

All supported

See Also

Reference

Module
KtMDsr


KtMDsr_ModulesGetName Function

KtMDsr_ModulesGetName Function
Module See Also

Returns the module name that corresponds to the one-based index that the user specifies.

Function Tree Node: \KtMDsr\Instrument Specific\Module\Modules Get Name
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_ModulesGetName(
    ViSession Vi,
    ViInt32 Index,
    ViInt32 NameBufferSize,
    ViChar[] Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Index

A one-based index that defines which name to return.

NameBufferSize

Number of elements in Name.

Name

Specifies the buffer into which the function returns the name that corresponds to the index the user specifies. The caller may pass VI_NULL for this parameter if the buffer size parameter is 0.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

Module
KtMDsr


Nonvolatile

Nonvolatile
See Also

Tree Node: \KtMDsr\Instrument Specific\Module\Nonvolatile

Functions

 | Name | Description
Function | Module Nonvolatile Clear | Clears/discards any changes to cached values and resets cached values to the current nonvolatile settings.
Function | Module Nonvolatile Write | Writes all cached values from the System.Nonvolatile.Item interface to nonvolatile memory. If certain values have changed (see below) the current Passphrase must be supplied to Write.
Top

Attributes

 | Name | Description
Attribute | Module Nonvolatile Asset Number |
Attribute | Module Nonvolatile Cal Due Reminder | The "reminder" period, in days, prior to any calibration due. Range 0..1000 days. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Attribute | Module Nonvolatile Enable Instrument Cal Warnings | Enable/disable of instrument cal checks/warnings. If this value is true and module calibration date + ModuleCalInterval is close or past, then a warning will be generated. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Attribute | Module Nonvolatile Enable Module Cal Warnings | Enable/disable of module cal checks/warnings. If this value is true and module calibration date + ModuleCalInterval is close or past, then a warning will be generated. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Attribute | Module Nonvolatile Enable Periodic Cal | Enable/disable of "subject to periodic cal". If this value is false, no checks of cal dates/intervals should be done and the SFP should display "Not subject to periodic cal". Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Attribute | Module Nonvolatile Instrument Cal Interval | The instrument (multi-module) calibration interval in days. Range 1..10000 days. Checks for "cal due" are based on the instrument's calibration date (set by Keysight manufacturing/service) + InstrumentCalInterval. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Attribute | Module Nonvolatile Module Cal Interval | The module calibration interval in days. Range 1..10000 days. Checks for "cal due" are based on the module's calibration date (set by Keysight manufacturing/service) + ModuleCalInterval. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Attribute | Module Nonvolatile Passphrase | A passphrase used to protect various values in Nonvolatile (see below). Passphrase must be provided to Write if any of these values have changed. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Attribute | Module Nonvolatile System Identification | A persistent arbitrary string with a maximum length of 32 characters nominally intended to provide a user customizable method to distinguish modules. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Top

See Also

Reference

KtMDsr


KTMDSR_ATTR_MODULE_NONVOLATILE_ASSET_NUMBER Attribute

KTMDSR_ATTR_MODULE_NONVOLATILE_ASSET_NUMBER Attribute
Nonvolatile See Also

Attribute Tree Node: \KtMDsr\Instrument Specific\Module\Nonvolatile\Module Nonvolatile Asset Number
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_MODULE_NONVOLATILE_ASSET_NUMBER 1150256

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

ViStatus KtMDsr_SetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViConstString AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Module repeated capability.

AttributeID

Must be KTMDSR_ATTR_MODULE_NONVOLATILE_ASSET_NUMBER.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue (GetAttribute)

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Requirements

Supported Models

All supported

See Also

Reference

Nonvolatile
KtMDsr


KTMDSR_ATTR_MODULE_NONVOLATILE_CAL_DUE_REMINDER Attribute

KTMDSR_ATTR_MODULE_NONVOLATILE_CAL_DUE_REMINDER Attribute
Nonvolatile See Also

The "reminder" period, in days, prior to any calibration due. Range 0..1000 days. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.

Attribute Tree Node: \KtMDsr\Instrument Specific\Module\Nonvolatile\Module Nonvolatile Cal Due Reminder
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_MODULE_NONVOLATILE_CAL_DUE_REMINDER 1150261

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

ViStatus KtMDsr_SetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Module repeated capability.

AttributeID

Must be KTMDSR_ATTR_MODULE_NONVOLATILE_CAL_DUE_REMINDER.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

If this value has never been set, the value is 30 days. This value is not affected by Reset or power cycle.

Requirements

Supported Models

All supported

See Also

Reference

Nonvolatile
KtMDsr


KtMDsr_ModuleNonvolatileClear Function

KtMDsr_ModuleNonvolatileClear Function
Nonvolatile See Also

Clears/discards any changes to cached values and resets cached values to the current nonvolatile settings.

Function Tree Node: \KtMDsr\Instrument Specific\Module\Nonvolatile\Module Nonvolatile Clear
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_ModuleNonvolatileClear(
    ViSession Vi,
    ViConstString Module2
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Module2

The physical or virtual repeated capability identifier. Pass VI_NULL if the operation does not apply to a repeated capability. You can also pass VI_NULL if the device only has a single nonvolatile.For valid values, see the Module repeated capability.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

Nonvolatile
KtMDsr


KTMDSR_ATTR_MODULE_NONVOLATILE_ENABLE_INSTRUMENT_CAL_WARNINGS Attribute

KTMDSR_ATTR_MODULE_NONVOLATILE_ENABLE_INSTRUMENT_CAL_WARNINGS Attribute
Nonvolatile See Also

Enable/disable of instrument cal checks/warnings. If this value is true and module calibration date + ModuleCalInterval is close or past, then a warning will be generated. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.

Attribute Tree Node: \KtMDsr\Instrument Specific\Module\Nonvolatile\Module Nonvolatile Enable Instrument Cal Warnings
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_MODULE_NONVOLATILE_ENABLE_INSTRUMENT_CAL_WARNINGS 1150262

ViStatus KtMDsr_GetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean* AttributeValue
);

ViStatus KtMDsr_SetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Module repeated capability.

AttributeID

Must be KTMDSR_ATTR_MODULE_NONVOLATILE_ENABLE_INSTRUMENT_CAL_WARNINGS.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

If this value has never been set, the value is false. This value is not affected by Reset or power cycle.

Requirements

Supported Models

All supported

See Also

Reference

Nonvolatile
KtMDsr


KTMDSR_ATTR_MODULE_NONVOLATILE_ENABLE_MODULE_CAL_WARNINGS Attribute

KTMDSR_ATTR_MODULE_NONVOLATILE_ENABLE_MODULE_CAL_WARNINGS Attribute
Nonvolatile See Also

Enable/disable of module cal checks/warnings. If this value is true and module calibration date + ModuleCalInterval is close or past, then a warning will be generated. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.

Attribute Tree Node: \KtMDsr\Instrument Specific\Module\Nonvolatile\Module Nonvolatile Enable Module Cal Warnings
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_MODULE_NONVOLATILE_ENABLE_MODULE_CAL_WARNINGS 1150263

ViStatus KtMDsr_GetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean* AttributeValue
);

ViStatus KtMDsr_SetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Module repeated capability.

AttributeID

Must be KTMDSR_ATTR_MODULE_NONVOLATILE_ENABLE_MODULE_CAL_WARNINGS.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

If this value has never been set, the value is false. This value is not affected by Reset or power cycle.

Requirements

Supported Models

All supported

See Also

Reference

Nonvolatile
KtMDsr


KTMDSR_ATTR_MODULE_NONVOLATILE_ENABLE_PERIODIC_CAL Attribute

KTMDSR_ATTR_MODULE_NONVOLATILE_ENABLE_PERIODIC_CAL Attribute
Nonvolatile See Also

Enable/disable of "subject to periodic cal". If this value is false, no checks of cal dates/intervals should be done and the SFP should display "Not subject to periodic cal". Setting this property caches the value in memory. To persist it use System Nonvolatile Write.

Attribute Tree Node: \KtMDsr\Instrument Specific\Module\Nonvolatile\Module Nonvolatile Enable Periodic Cal
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_MODULE_NONVOLATILE_ENABLE_PERIODIC_CAL 1150264

ViStatus KtMDsr_GetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean* AttributeValue
);

ViStatus KtMDsr_SetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Module repeated capability.

AttributeID

Must be KTMDSR_ATTR_MODULE_NONVOLATILE_ENABLE_PERIODIC_CAL.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

If this value has never been set, the value is false. This value is not affected by Reset or power cycle.

Requirements

Supported Models

All supported

See Also

Reference

Nonvolatile
KtMDsr


KTMDSR_ATTR_MODULE_NONVOLATILE_INSTRUMENT_CAL_INTERVAL Attribute

KTMDSR_ATTR_MODULE_NONVOLATILE_INSTRUMENT_CAL_INTERVAL Attribute
Nonvolatile See Also

The instrument (multi-module) calibration interval in days. Range 1..10000 days. Checks for "cal due" are based on the instrument's calibration date (set by Keysight manufacturing/service) + InstrumentCalInterval. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.

Attribute Tree Node: \KtMDsr\Instrument Specific\Module\Nonvolatile\Module Nonvolatile Instrument Cal Interval
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_MODULE_NONVOLATILE_INSTRUMENT_CAL_INTERVAL 1150265

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

ViStatus KtMDsr_SetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Module repeated capability.

AttributeID

Must be KTMDSR_ATTR_MODULE_NONVOLATILE_INSTRUMENT_CAL_INTERVAL.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

If this value has never been set, the value is 365 days. This value is not affected by Reset or power cycle.

Requirements

Supported Models

All supported

See Also

Reference

Nonvolatile
KtMDsr


KTMDSR_ATTR_MODULE_NONVOLATILE_MODULE_CAL_INTERVAL Attribute

KTMDSR_ATTR_MODULE_NONVOLATILE_MODULE_CAL_INTERVAL Attribute
Nonvolatile See Also

The module calibration interval in days. Range 1..10000 days. Checks for "cal due" are based on the module's calibration date (set by Keysight manufacturing/service) + ModuleCalInterval. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.

Attribute Tree Node: \KtMDsr\Instrument Specific\Module\Nonvolatile\Module Nonvolatile Module Cal Interval
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_MODULE_NONVOLATILE_MODULE_CAL_INTERVAL 1150266

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

ViStatus KtMDsr_SetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Module repeated capability.

AttributeID

Must be KTMDSR_ATTR_MODULE_NONVOLATILE_MODULE_CAL_INTERVAL.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

If this value has never been set, the value is 365 days. This value is not affected by Reset or power cycle.

Requirements

Supported Models

All supported

See Also

Reference

Nonvolatile
KtMDsr


KTMDSR_ATTR_MODULE_NONVOLATILE_PASSPHRASE Attribute

KTMDSR_ATTR_MODULE_NONVOLATILE_PASSPHRASE Attribute
Nonvolatile See Also

A passphrase used to protect various values in Nonvolatile (see below). Passphrase must be provided to Write if any of these values have changed. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.

Attribute Tree Node: \KtMDsr\Instrument Specific\Module\Nonvolatile\Module Nonvolatile Passphrase
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_MODULE_NONVOLATILE_PASSPHRASE 1150267

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

ViStatus KtMDsr_SetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViConstString AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Module repeated capability.

AttributeID

Must be KTMDSR_ATTR_MODULE_NONVOLATILE_PASSPHRASE.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue (GetAttribute)

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

If this value has never been set, the value is "" (empty string). This value is not affected by Reset or power cycle. The values protected by Passphrase are

  • EnablePeriodicCalChecks
  • EnableModuleCalWarnings
  • EnableInstrumentCalWarnings
  • ModuleCalInterval
  • InstrumentCalInterval
  • Passphrase
If the passphrase has been forgotten, it can be reset programmatically using Modules.Item.Nonvolatile.Clear() OldPassphrase = Modules.Item.Nonvolatile.Passphrase Modules.Item.Nonvolatile.Passphrase = NewPassphrase Modules.Item.Nonvolatile.Write( OldPassphrase )

Requirements

Supported Models

All supported

See Also

Reference

Nonvolatile
KtMDsr


KTMDSR_ATTR_MODULE_NONVOLATILE_SYSTEM_IDENTIFICATION Attribute

KTMDSR_ATTR_MODULE_NONVOLATILE_SYSTEM_IDENTIFICATION Attribute
Nonvolatile See Also

A persistent arbitrary string with a maximum length of 32 characters nominally intended to provide a user customizable method to distinguish modules. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.

Attribute Tree Node: \KtMDsr\Instrument Specific\Module\Nonvolatile\Module Nonvolatile System Identification
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_MODULE_NONVOLATILE_SYSTEM_IDENTIFICATION 1150268

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

ViStatus KtMDsr_SetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViConstString AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Module repeated capability.

AttributeID

Must be KTMDSR_ATTR_MODULE_NONVOLATILE_SYSTEM_IDENTIFICATION.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue (GetAttribute)

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

If this value has never been set, the value is "" (empty string). This value is not affected by Reset or power cycle.

This value is unused by the IVI driver.

Requirements

Supported Models

All supported

See Also

Reference

Nonvolatile
KtMDsr


KtMDsr_ModuleNonvolatileWrite Function

KtMDsr_ModuleNonvolatileWrite Function
Nonvolatile See Also

Writes all cached values from the System.Nonvolatile.Item interface to nonvolatile memory. If certain values have changed (see below) the current Passphrase must be supplied to Write.

Function Tree Node: \KtMDsr\Instrument Specific\Module\Nonvolatile\Module Nonvolatile Write
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_ModuleNonvolatileWrite(
    ViSession Vi,
    ViConstString Module2,
    ViConstString Passphrase
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Module2

The physical or virtual repeated capability identifier. Pass VI_NULL if the operation does not apply to a repeated capability. You can also pass VI_NULL if the device only has a single nonvolatile.For valid values, see the Module repeated capability.

Passphrase

Passphrase used to protect certain values in Nonvolatile. If none of these values have changed, this parameter is ignored.

Return Value

Success or failure code.

Remarks

Please note that the physical hardware supports a limited number of write cycles so the number of changes to Nonvolatile properties and calls to Write should be minimized. If any of the following values have changed, the current Passphrase value must be specified. The values protected by Passphrase are

  • EnablePeriodicCalChecks
  • EnableModuleCalWarnings
  • EnableInstrumentCalWarnings
  • ModuleCalInterval
  • InstrumentCalInterval
  • Passphrase

Requirements

Supported Models

All supported

See Also

Reference

Nonvolatile
KtMDsr


Pattern

Pattern
See Also

Tree Node: \KtMDsr\Instrument Specific\Pattern

Functions

 | Name | Description
Function | Pattern Cross Reference | Places a CrossReference instruction in the pattern at the specified Index. CrossReferences are used to relate the result from the pattern execution to a specific line in the pattern. The Reference string parameter can also be used in marker generation.
Function | Pattern Delete Element At Index | Deletes the Pattern element at the specified Index.
Function | Pattern Get Highest Pattern Index | The highest pattern index currently defined. For best efficiency, the next pattern element should be defined at this index+1.
Function | Pattern Get Pattern Length | The current length of the pattern. First index is 1. Note that when loading a file, this is the highest element position in the pattern.
Function | Pattern Get Signals | Returns a comma-separated list of all signals in this pattern.
Function | Pattern Go To | Places a GoTo instruction in the pattern at the specified Index. GoTo causes execution to transfer to the specified label within this pattern.
Function | Pattern Label Vector | Inserts a label on the vector at the specified Index. The index must identify a vector. Labels are used to identify destinations for GoTo statements and to identify locations in a compiled pattern for PatternSite functions that modify the pattern.
Function | Pattern Loop | Places an Loop instruction in the pattern at the specified Index. Loop causes a sequence of instructions to be executed the specified number of times.
Function | Pattern Macro | Places a Macro invocation in the pattern at the specified Index. Macro invocation takes no time.
Function | Pattern Macro With Substitution | Inserts a Macro expansion at this point, with STIL style parameter substitution.
Function | Pattern Match Loop | The loop defined by Index and FinalIndex is executed until each Compare operation in the loop returns true or the LoopCount (if non-zero) is exceeded.
Function | Pattern Query Line Type | Returns information about the pattern element at the given index. This is used to read a pattern that has been defined.
Function | Pattern Query Vector | Provides a way to read back the pattern information for lines that are Vectors. Returns an error if a Vector is not defined at this Index (for instance, if it is outside of the pattern range, or if this Index contains a control instruction).
Function | Pattern Shift | Adds a Shift block to a Macro. If this pattern is executed directly (instead of being used as a macro), this will generate an error upon compilation.
Function | Pattern Vector | Specifies the waveform characters for the specified signals at the specified index. This function may be called multiple times for a single index, providing definitions for various signals with each call.
Function | Pattern Watch Loop | Adds a WatchLoop block to a pattern. The DSR will execute the WatchLoop repeatedly until the specified Trigger is received. The only instructions that can be within a WatchLoop are Vectors.
Function | Patterns Add | Adds a Pattern block of the specified name.
Function | Patterns Get Name | Returns the pattern name that corresponds to the one-based index that the user specifies.
Function | Patterns Load Bulk Data | Loads the data file into a pattern of a specified name using the bulk data format.
Function | Patterns Remove | Removes the Pattern block with the specified name.
Top

Attributes

 | Name | Description
Attribute | Pattern Highest Pattern Index | The highest pattern index currently defined. For best efficiency, the next pattern element should be defined at this index+1.
Attribute | Pattern Length | The current length of the pattern. First index is 1. Note that when loading a file, this is the highest element position in the pattern.
Attribute | Pattern Signals | Returns a comma-separated list of all signals in this pattern.
Attribute | Patterns Count |
Top

See Also

Reference

KtMDsr


KtMDsr_PatternCrossReference Function

KtMDsr_PatternCrossReference Function
Pattern See Also

Places a CrossReference instruction in the pattern at the specified Index. CrossReferences are used to relate the result from the pattern execution to a specific line in the pattern. The Reference string parameter can also be used in marker generation.

Function Tree Node: \KtMDsr\Instrument Specific\Pattern\Pattern Cross Reference
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternCrossReference(
    ViSession Vi,
    ViConstString Pattern,
    ViInt32 Index,
    ViConstString Reference
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Pattern

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the Pattern repeated capability.

Index

The index within the pattern where the CrossReference instruction will be inserted.

Reference

This string will appear in the Result line information. For marker generation, this string can be either "Marker1", "Marker2", or "Marker3". See the section "Triggers and Markers" for information on how this string is used in marker generation.

Return Value

Success or failure code.

Remarks

When the CrossReference instruction is executed, it sets a tag that is incorporated in the response data. Each recorded response includes the most recently executed tag, and the number of vectors executed since the tag. This information simplifies identifying where in the source pattern a certain result was generated, as the location of result data is identified both in terms of the vector position within the pattern, and also relative to the most recently executed CrossReference instruction.

The Reference string is also used in marker generation. When this string is set to "Marker0", "Marker1", or "Marker2", it causes a reference to their associated properties, either Marker0Destination, Marker1Destination, or Marker2Destination, respectively. These properties specify what marker signal will be used to generate the marker. See Triggers and Markers for more information.

Note that, when the Reference string is set to "Marker0", "Marker1", or "Marker2", the DSR will perform two operations: (1) Insert the string in the results data as with any Reference string and (2) the DSR will generate a marker when the CrossReference instruction is executed.

If a Reference string has a value other than "Marker0", "Marker1", or "Marker2", only the insertion of the string in the results data will be performed, and no marker will be generated.

The CrossReference instruction executes in zero time and it does not impact the stimulus data in any way.

This is the same functionality provided by the STIL X statement.

For more information on the Patterns interface, see the Patterns Overview.

For information on the response data format, and how the CrossReference is incorporated in the results, see PatternSites FetchLineInformation.

Requirements

Supported Models

All supported

See Also

Reference

Pattern
KtMDsr


KtMDsr_PatternDeleteElementAtIndex Function

KtMDsr_PatternDeleteElementAtIndex Function
Pattern See Also

Deletes the Pattern element at the specified Index.

Function Tree Node: \KtMDsr\Instrument Specific\Pattern\Pattern Delete Element At Index
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternDeleteElementAtIndex(
    ViSession Vi,
    ViConstString Pattern,
    ViInt32 Index
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Pattern

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the Pattern repeated capability.

Index

The Index in the pattern of the element to be deleted.

Return Value

Success or failure code.

Remarks

For more information on the Patterns interface, see the Patterns Overview.

Requirements

Supported Models

All supported

See Also

Reference

Pattern
KtMDsr


KtMDsr_PatternGetHighestPatternIndex Function

KtMDsr_PatternGetHighestPatternIndex Function
Pattern See Also

The highest pattern index currently defined. For best efficiency, the next pattern element should be defined at this index+1.

Function Tree Node: \KtMDsr\Instrument Specific\Pattern\Pattern Get Highest Pattern Index
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternGetHighestPatternIndex(
    ViSession Vi,
    ViConstString Pattern,
    ViInt32* HighestPatternIndex
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Pattern

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the Pattern repeated capability.

HighestPatternIndex

The highest pattern index currently defined. For best efficiency, the next pattern element should be defined at this index+1.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

Pattern
KtMDsr


KtMDsr_PatternGetPatternLength Function

KtMDsr_PatternGetPatternLength Function
Pattern See Also

The current length of the pattern. First index is 1. Note that when loading a file, this is the highest element position in the pattern.

Function Tree Node: \KtMDsr\Instrument Specific\Pattern\Pattern Get Pattern Length
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternGetPatternLength(
    ViSession Vi,
    ViConstString Pattern,
    ViInt32* PatternLength
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Pattern

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the Pattern repeated capability.

PatternLength

The current length of the pattern. First index is 1. Note that when loading a file, this is the highest element position in the pattern.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

Pattern
KtMDsr


KtMDsr_PatternGetSignals Function

KtMDsr_PatternGetSignals Function
Pattern See Also

Returns a comma-separated list of all signals in this pattern.

Function Tree Node: \KtMDsr\Instrument Specific\Pattern\Pattern Get Signals
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternGetSignals(
    ViSession Vi,
    ViConstString Pattern,
    ViInt32 SignalsBufferSize,
    ViChar[] Signals
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Pattern

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the Pattern repeated capability.

SignalsBufferSize

Signals

Returns a comma-separated list of all signals in this pattern.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

Pattern
KtMDsr


KtMDsr_PatternGoTo Function

KtMDsr_PatternGoTo Function
Pattern See Also

Places a GoTo instruction in the pattern at the specified Index. GoTo causes execution to transfer to the specified label within this pattern.

Function Tree Node: \KtMDsr\Instrument Specific\Pattern\Pattern Go To
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternGoTo(
    ViSession Vi,
    ViConstString Pattern,
    ViInt32 Index,
    ViInt32 DestinationLabelBufferSize,
    ViConstString DestinationLabel
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Pattern

The physical or virtual repeated capability identifier. Pass VI_NULL if the operation does not apply to a repeated capability. You can also pass VI_NULL if the device only has a single pattern.For valid values, see the Pattern repeated capability.

Index

The Index where the GoTo statement is placed.

DestinationLabelBufferSize

Number of elements in DestinationLabel.

DestinationLabel

The label to which the GoTo statement will transfer execution.

Return Value

Success or failure code.

Remarks

GoTo takes zero time to execute.

The destination may be in a different pattern, but it must be within the same PatternBurst.

For more information on the Patterns interface, see the Patterns Overview.
For more information on the PatternBurst interface, see the PatternBurst Overview.

Requirements

Supported Models

All supported

See Also

Reference

Pattern
KtMDsr


KTMDSR_ATTR_PATTERN_HIGHEST_PATTERN_INDEX Attribute

KTMDSR_ATTR_PATTERN_HIGHEST_PATTERN_INDEX Attribute
Pattern See Also

The highest pattern index currently defined. For best efficiency, the next pattern element should be defined at this index+1.

Attribute Tree Node: \KtMDsr\Instrument Specific\Pattern\Pattern Highest Pattern Index
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERN_HIGHEST_PATTERN_INDEX 1150141

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Pattern repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERN_HIGHEST_PATTERN_INDEX.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

For more information on the Patterns interface, see the Patterns Overview.

Requirements

Supported Models

All supported

See Also

Reference

Pattern
KtMDsr


KtMDsr_PatternLabelVector Function

KtMDsr_PatternLabelVector Function
Pattern See Also

Inserts a label on the vector at the specified Index. The index must identify a vector. Labels are used to identify destinations for GoTo statements and to identify locations in a compiled pattern for PatternSite functions that modify the pattern.

Function Tree Node: \KtMDsr\Instrument Specific\Pattern\Pattern Label Vector
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternLabelVector(
    ViSession Vi,
    ViConstString Pattern,
    ViInt32 Index,
    ViConstString Label
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Pattern

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the Pattern repeated capability.

Index

Index of the vector; specifies where the Label is to be applied. A Vector must already be defined at this index.

Label

String used to identify this Label.

Return Value

Success or failure code.

Remarks

Labels are useful to establishing GoTo destinations and to identify a location to modify in the compiled pattern.

The index must identify an existing vector.

Functions that modify a compiled pattern are: PatternSite SetDcLevel, PatternSite SetSignal, PatternSite SetWaveformTable, and PatternSite SetVector.

For more information on the Patterns interface, see the Patterns Overview.

Requirements

Supported Models

All supported

See Also

Reference

Pattern
KtMDsr


KTMDSR_ATTR_PATTERN_PATTERN_LENGTH Attribute

KTMDSR_ATTR_PATTERN_PATTERN_LENGTH Attribute
Pattern See Also

The current length of the pattern. First index is 1. Note that when loading a file, this is the highest element position in the pattern.

Attribute Tree Node: \KtMDsr\Instrument Specific\Pattern\Pattern Length
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERN_PATTERN_LENGTH 1150132

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Pattern repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERN_PATTERN_LENGTH.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

When loading a pattern from STIL, indexes are assigned sequentially so this is the Pattern Element count.

For more information on the Patterns interface, see the Patterns Overview.

Requirements

Supported Models

All supported

See Also

Reference

Pattern
KtMDsr


KtMDsr_PatternLoop Function

KtMDsr_PatternLoop Function
Pattern See Also

Places an Loop instruction in the pattern at the specified Index. Loop causes a sequence of instructions to be executed the specified number of times.

Function Tree Node: \KtMDsr\Instrument Specific\Pattern\Pattern Loop
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternLoop(
    ViSession Vi,
    ViConstString Pattern,
    ViInt32 Index,
    ViInt32 FinalIndex,
    ViInt32 LoopCount
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Pattern

The physical or virtual repeated capability identifier. Pass VI_NULL if the operation does not apply to a repeated capability. You can also pass VI_NULL if the device only has a single pattern.For valid values, see the Pattern repeated capability.

Index

The Index assigned to the Loop statement. The first instruction in the loop is the instruction with the next highest index.

FinalIndex

The Index of the last instruction in the loop.

LoopCount

The numbers of times the loop will execute. 0 means the loop should execute indefinitely.

Return Value

Success or failure code.

Remarks

The loop executes instructions from the next highest index after "Index" to "FinalIndex" (inclusive).

A loop count of 0 indicates that the loop should execute indefinitely.

If the FinalIndex precedes the Index, an error is generated (only forward loops are supported).

For more information on the Patterns interface, see the Patterns Overview.

Requirements

Supported Models

All supported

See Also

Reference

Pattern
KtMDsr


KtMDsr_PatternMacro Function

KtMDsr_PatternMacro Function
Pattern See Also

Places a Macro invocation in the pattern at the specified Index. Macro invocation takes no time.

Function Tree Node: \KtMDsr\Instrument Specific\Pattern\Pattern Macro
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternMacro(
    ViSession Vi,
    ViConstString Pattern,
    ViInt32 Index,
    ViConstString MacroName
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Pattern

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the Pattern repeated capability.

Index

The Index assigned to the Macro instruction.

MacroName

The name of the Macro to execute.

Return Value

Success or failure code.

Remarks

The Macro function provides a simple way to execute macros that do not have any parameters.

The Macro invocation takes no time to execute, so the first Vector of the Macro executes immediately after the previous Vector.

For more information on the Patterns interface, see the Patterns Overview.
For more information on Macros, see the MacroDef Overview.

Requirements

Supported Models

All supported

See Also

Reference

Pattern
KtMDsr


KtMDsr_PatternMacroWithSubstitution Function

KtMDsr_PatternMacroWithSubstitution Function
Pattern See Also

Inserts a Macro expansion at this point, with STIL style parameter substitution.

Function Tree Node: \KtMDsr\Instrument Specific\Pattern\Pattern Macro With Substitution
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternMacroWithSubstitution(
    ViSession Vi,
    ViConstString Pattern,
    ViInt32 Index,
    ViConstString MacroName,
    ViConstString SignalExpression,
    ViConstString WaveformCharacters
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Pattern

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the Pattern repeated capability.

Index

The Index assigned to the Macro instruction.

MacroName

The name of the Macro to execute.

SignalExpression

Comma-separated list of signals which the macro parameters are applied to.

WaveformCharacters

Comma-separated list of waveform character sequences to be used in parameter substitution on the signals specified in the SignalExpressions parameter.

Return Value

Success or failure code.

Remarks

Invokes a Macro at this line in the program, specifying parameters. The parameters are waveform characters that are filled into the macro in place of the wildcard characters percent (%) and (#).

If signal within the pattern contains the percent (%) character for a given signal, the waveform character associated with that signal in the macro invocation is used in the pattern. Using this mechanism, each signal can have a single waveform character replaced by the value specified in the invocation.

If the pattern contains the hash (#) character, the invocation is permitted to have a string of waveform characters defined for each signal. Each time the hash character is encountered in the macro definition, another character is consumed from the input string and used for the corresponding signal.

The hash (#) character can also be used in the special instruction Shift. The Shift instruction will continue to execute consuming an input waveform character on each execution until the parameter string is entirely consumed.

For more information on the Patterns interface, see the Patterns Overview.
For more information on Macros, see the MacroDef Overview.

Requirements

Supported Models

All supported

See Also

Reference

Pattern
KtMDsr


KtMDsr_PatternMatchLoop Function

KtMDsr_PatternMatchLoop Function
Pattern See Also

The loop defined by Index and FinalIndex is executed until each Compare operation in the loop returns true or the LoopCount (if non-zero) is exceeded.

Function Tree Node: \KtMDsr\Instrument Specific\Pattern\Pattern Match Loop
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternMatchLoop(
    ViSession Vi,
    ViConstString Pattern,
    ViInt32 Index,
    ViInt32 FinalIndex,
    ViInt32 LoopCount
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Pattern

The physical or virtual repeated capability identifier. Pass VI_NULL if the operation does not apply to a repeated capability. You can also pass VI_NULL if the device only has a single pattern.For valid values, see the Pattern repeated capability.

Index

The Index assigned to the MatchLoop instruction. The first instruction in the loop is the instruction with the next highest index.

FinalIndex

The Index of the last instruction to be included in the loop.

LoopCount

Specifies a maximum number of times the loop should execute. 0 indicates the should execute until the match condition is satisfied, that is, it sets the number of times the loop should execute to infinity.

Return Value

Success or failure code.

Remarks

The sequence of instructions in the defined loop are executed until an execution of the entire loop completes with each compare operation passing.

The LoopCount provides a timeout to permit the loop to exit if the DUT never passes. Execution controls are provided to determine if execution should continue on a timeout or stop execution with an error. See PatternSite ConditionalLoopFailureMode for information on how to configure this behavior.

For a compare operation to enable the loop to exit, there must be sufficient time between the compare and the end of the loop for the sequencer to exit the loop. If there is not enough time, the loop will continue to execute. Once the loop executes with all compares passing, it will exit. However, the loop will only exit from the end of the loop. That is, the loop is always entirely executed before it exits, it will never exit from the middle of the loop.

There are two components that contribute to the amount of time between the last successful compare in the loop and when the loop ultimately exits.

  • Delays internal to the implementation of the DSR. These are approximately 38 times the edge placement resolution.
  • Delays in the test system that result in the DUT response not arriving at the DSR until sometime after the corresponding stimulus. The DSR compensates for these delays using ResponseDelayCompensation, however the loop cannot exit till the responses arrive so the stimulus defined in the MatchLoop continues to repeat.

In summary, the last vector containing a compare in the MatchLoop establishes when the loop will exit. The loop will exit on the final instruction of the loop when that instruction executes after:

Loop Exit Time >= 38*EdgePlacementResolution+ResponseDelayCompensation

It is possible for an additional pass through the loop to be taken. See PatternSite ConditionalLoopSuccessMode for information on how to configure this behavior.

If the loop does not contain any Compare operations, it will pass on the first execution.

If the maximum count is reached in the Pattern Exec, the ExecutionState will always return the state "Error," with the specific error: "Conditional Loop Count Exceeded."

For more information on the Patterns interface, see the Patterns Overview.

Requirements

Supported Models

All supported

See Also

Reference

Pattern
KtMDsr


KtMDsr_PatternQueryLineType Function

KtMDsr_PatternQueryLineType Function
Pattern See Also

Returns information about the pattern element at the given index. This is used to read a pattern that has been defined.

Function Tree Node: \KtMDsr\Instrument Specific\Pattern\Pattern Query Line Type
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternQueryLineType(
    ViSession Vi,
    ViConstString Pattern,
    ViInt32 Index,
    ViInt32 LabelBufferSize,
    ViChar[] Label,
    ViInt32* LineType,
    ViInt32* FinalIndex,
    ViInt32* MaximumCount,
    ViInt32 ReferenceBufferSize,
    ViChar[] Reference
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Pattern

The physical or virtual repeated capability identifier. Pass VI_NULL if the operation does not apply to a repeated capability. You can also pass VI_NULL if the device only has a single pattern.For valid values, see the Pattern repeated capability.

Index

The index of the pattern element queried.

LabelBufferSize

Number of elements in Label.

Label

The label assigned to the specified pattern index. Null if not defined.

LineType

The type of pattern element at the specified index.

FinalIndex

A pattern index used to provide information about the line at the specified index. For loop operations, the FinalIndex is the final index included in the loop operation.

MaximumCount

A numeric parameter used to provide information about the line at the specified index. The MaximumCount is the loop count specified with the loop.

ReferenceBufferSize

Number of elements in Reference.

Reference

If the LineType is a Macro invocation or a GoTo, the Reference returns the destination label; for any other LineType, the Reference returns null.

Return Value

Success or failure code.

Remarks

The QueryLineType instruction returns parameters that entirely describe the pattern index queried.

The Label always returns any label that is on the line being queried. The use of the other response parameters to this function varies slightly with the type of line being queried. Their usage is as follows:

LineType | FinalIndex | MaximumCount | Reference
MatchLoop | FinalIndex | MaximumCount | null string
Vector | Same as Index | 1 | null string
Loop | FinalIndex | LoopCount | null string
GoTo | Index | 1 | Destination label
Blank (no line defined) | Same as Index | 1 | null string
WatchLoop | FinalIndex | MaximumCount | Trigger
Shift | FinalIndex | 1 | null string
Macro | Same as Index | 1 | Destination label

For more information on the Patterns interface, see the Patterns Overview.

Requirements

Supported Models

All supported

Defined Values For Parameter LineType

Name | Description
KTMDSR_VAL_PATTERN_LINE_TYPE_VECTOR | Vector
KTMDSR_VAL_PATTERN_LINE_TYPE_MATCH_LOOP | MatchLoop
KTMDSR_VAL_PATTERN_LINE_TYPE_LOOP | Loop
KTMDSR_VAL_PATTERN_LINE_TYPE_GO_TO | GoTo
KTMDSR_VAL_PATTERN_LINE_TYPE_BLANK | Blank
KTMDSR_VAL_PATTERN_LINE_TYPE_WATCH_LOOP | WatchLoop
KTMDSR_VAL_PATTERN_LINE_TYPE_MACRO | Macro
KTMDSR_VAL_PATTERN_LINE_TYPE_SHIFT | Shift
KTMDSR_VAL_PATTERN_LINE_TYPE_STOP |
KTMDSR_VAL_PATTERN_LINE_TYPE_STOP2 | Stop
Top

See Also

Reference

Pattern
KtMDsr


KtMDsr_PatternQueryVector Function

KtMDsr_PatternQueryVector Function
Pattern See Also

Provides a way to read back the pattern information for lines that are Vectors. Returns an error if a Vector is not defined at this Index (for instance, if it is outside of the pattern range, or if this Index contains a control instruction).

Function Tree Node: \KtMDsr\Instrument Specific\Pattern\Pattern Query Vector
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternQueryVector(
    ViSession Vi,
    ViConstString Pattern,
    ViInt32 Index,
    ViConstString Signal,
    ViInt32 WaveformCharacterBufferSize,
    ViChar[] WaveformCharacter,
    ViInt32 WaveformTableBufferSize,
    ViChar[] WaveformTable,
    ViInt32 LabelBufferSize,
    ViChar[] Label
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Pattern

The physical or virtual repeated capability identifier. Pass VI_NULL if the operation does not apply to a repeated capability. You can also pass VI_NULL if the device only has a single pattern.For valid values, see the Pattern repeated capability.

Index

The index of the pattern element queried.

Signal

The signal being queried.

WaveformCharacterBufferSize

Number of elements in WaveformCharacters.

WaveformCharacter

The waveform character defined for the specified signal at the specified index.

WaveformTableBufferSize

Number of elements in WaveformTable.

WaveformTable

The waveform table at the specified index.

LabelBufferSize

Number of elements in Label.

Label

The label defined at the specified index. Null if not defined.

Return Value

Success or failure code.

Remarks

If the specified signal is not defined at this Index, a hyphen (-) is returned.

If the signal is not specified at this index when executing the pattern, the DSR will repeat the waveform character from the previous index.

For more information on the Patterns interface, see the Patterns Overview.

Requirements

Supported Models

All supported

See Also

Reference

Pattern
KtMDsr


KtMDsr_PatternShift Function

KtMDsr_PatternShift Function
Pattern See Also

Adds a Shift block to a Macro. If this pattern is executed directly (instead of being used as a macro), this will generate an error upon compilation.

Function Tree Node: \KtMDsr\Instrument Specific\Pattern\Pattern Shift
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternShift(
    ViSession Vi,
    ViConstString Pattern,
    ViInt32 Index,
    ViInt32 FinalIndex
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Pattern

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the Pattern repeated capability.

Index

The Index assigned to the Shift instruction.

FinalIndex

The Index of the last instruction to be included in the shift.

Return Value

Success or failure code.

Remarks

The Shift block identies a sequence of Vectors which contains at least one hash (#) style parameter. The macro invocation provides a string of waveform characters to substitute for the hash (#) character. The block specified in the shift is repeated, consuming characters from the macro invocation string until the entire string is consumed.

For instance, if the shift block included a single signal parameter with a single hash (#) character, and the invocation has a string with 12 characters, the Shift block would be executed 12 times, once with the waveform character set to each of the 12 input characters.

For more information on the Patterns interface, see the Patterns Overview.

Requirements

Supported Models

All supported

See Also

Reference

Pattern
KtMDsr


KTMDSR_ATTR_PATTERN_SIGNALS Attribute

KTMDSR_ATTR_PATTERN_SIGNALS Attribute
Pattern See Also

Returns a comma-separated list of all signals in this pattern.

Attribute Tree Node: \KtMDsr\Instrument Specific\Pattern\Pattern Signals
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERN_SIGNALS 1150094

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Pattern repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERN_SIGNALS.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Remarks

For more information on the Patterns interface, see the Patterns Overview.

Requirements

Supported Models

All supported

See Also

Reference

Pattern
KtMDsr


KtMDsr_PatternVector Function

KtMDsr_PatternVector Function
Pattern See Also

Specifies the waveform characters for the specified signals at the specified index. This function may be called multiple times for a single index, providing definitions for various signals with each call.

Function Tree Node: \KtMDsr\Instrument Specific\Pattern\Pattern Vector
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternVector(
    ViSession Vi,
    ViConstString Pattern,
    ViInt32 Index,
    ViConstString SignalExpression,
    ViConstString WaveformCharacters,
    ViConstString WaveformTable
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Pattern

The physical or virtual repeated capability identifier. Pass VI_NULL if the operation does not apply to a repeated capability. You can also pass VI_NULL if the device only has a single pattern.For valid values, see the Pattern repeated capability.

Index

The index to add this signal definition to.

SignalExpression

The signals that are defined by the string of waveform characters. This is a signal reference expression.

WaveformCharacters

The waveform characters to assign to the specified signals. There must be one and only one waveform character for each signal specified.

WaveformTable

The waveform table for this vector. A single waveform table is used for all of the signals at this vector.

Return Value

Success or failure code.

Remarks

Specifies the waveform character to be output on the signals at a given vector number.

A given vector within the pattern may need to specify the signal values for several different signals. This can be done by specifying all of the signals in the SignalExpression and the corresponding characters in the WaveformCharacters parameter. This can also be done by calling the Vector function for the signals separately or in arbitrary combinations.

This function may be used to modify a vector that was loaded from a STIL file or from a bulk data file.

Multiple Vector calls that specify the same Index each specify the waveform table. The WaveformTable specified in the last call to Vector is used.

If this vector is contained in a macro pattern, then the vector can contain hash (#) or percent (%) characters which will be converted to waveform characters when the macro is invoked.

For more information on the Patterns interface, see the Patterns Overview.
For general information about Signal Expressions, see Signal Expressions

Requirements

Supported Models

All supported

See Also

Reference

Pattern
KtMDsr


KtMDsr_PatternWatchLoop Function

KtMDsr_PatternWatchLoop Function
Pattern See Also

Adds a WatchLoop block to a pattern. The DSR will execute the WatchLoop repeatedly until the specified Trigger is received. The only instructions that can be within a WatchLoop are Vectors.

Function Tree Node: \KtMDsr\Instrument Specific\Pattern\Pattern Watch Loop
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternWatchLoop(
    ViSession Vi,
    ViConstString Pattern,
    ViInt32 Index,
    ViInt32 FinalIndex,
    ViInt32 MaximumLoopCount,
    ViConstString Trigger
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Pattern

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the Pattern repeated capability.

Index

The Index assigned to the WatchLoop instruction. The first instruction in the loop is the instruction with the next highest index.

FinalIndex

The Index of the last vector in the loop.

MaximumLoopCount

Specifies a maximum number of loops to dwell in the loop waiting for the trigger. 0 indicates to dwell indefinitely.

Trigger

The event which will cause the WatchLoop to exit.

Return Value

Success or failure code.

Remarks

The sequence of instructions in the loop are executed until the event designated by Trigger occurs.

The LoopCount provides a timeout to permit the loop to exit if the trigger never arrives. Execution controls are provided to determine if execution should continue on a timeout or stop execution with an error. See PatternSite ConditionalLoopFailureMode for information on how to configure this behavior.

If the trigger occurs near the end of the loop, the loop may execute an extra time after a successful pass through the loop has completed.

If the maximum count is reached in the Pattern Exec, the ExecutionState will always return the state "Error," with the specific error: "Conditional Loop Count Exceeded."

For more information on the Patterns interface, see the Patterns Overview.

Requirements

Supported Models

All supported

See Also

Reference

Pattern
KtMDsr


KtMDsr_PatternsAdd Function

KtMDsr_PatternsAdd Function
Pattern See Also

Adds a Pattern block of the specified name.

Function Tree Node: \KtMDsr\Instrument Specific\Pattern\Patterns Add
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternsAdd(
    ViSession Vi,
    ViConstString Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Name

Name of Pattern

Return Value

Success or failure code.

Remarks

For more information on the Patterns interface, see the Patterns Overview.
For more information on the dynamic repeated capability Add function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

Pattern
KtMDsr


KTMDSR_ATTR_PATTERNS_COUNT Attribute

KTMDSR_ATTR_PATTERNS_COUNT Attribute
Pattern See Also

Attribute Tree Node: \KtMDsr\Instrument Specific\Pattern\Patterns Count
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERNS_COUNT 1150049

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERNS_COUNT.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

For more information on the Patterns interface, see the Patterns Overview.
For more information on the dynamic repeated capability Count attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

Pattern
KtMDsr


KtMDsr_PatternsGetName Function

KtMDsr_PatternsGetName Function
Pattern See Also

Returns the pattern name that corresponds to the one-based index that the user specifies.

Function Tree Node: \KtMDsr\Instrument Specific\Pattern\Patterns Get Name
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternsGetName(
    ViSession Vi,
    ViInt32 Index,
    ViInt32 NameBufferSize,
    ViChar[] Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Index

A one-based index that defines which name to return.

NameBufferSize

Number of elements in Name.

Name

Specifies the buffer into which the function returns the name that corresponds to the index the user specifies. The caller may pass VI_NULL for this parameter if the buffer size parameter is 0.

Return Value

Success or failure code.

Remarks

For more information on the Patterns interface, see the Patterns Overview.
For more information on the dynamic repeated capability Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

Pattern
KtMDsr


KtMDsr_PatternsLoadBulkData Function

KtMDsr_PatternsLoadBulkData Function
Pattern See Also

Loads the data file into a pattern of a specified name using the bulk data format.

Function Tree Node: \KtMDsr\Instrument Specific\Pattern\Patterns Load Bulk Data
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternsLoadBulkData(
    ViSession Vi,
    ViConstString FileName,
    ViConstString PatternName,
    ViConstString HeaderOverride,
    ViConstString WaveformTableName
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

FileName

The file to be loaded, including an optional path.

PatternName

Name of the generated Pattern block. If null or a null string, the Pattern block name is the basename of the filename.

HeaderOverride

A header that overrides any header line defined in the file. Optional when header line is defined within the file. Required if header line is not defined in file. Syntax for this parameter is same as when header line is defined within a file.

WaveformTableName

Waveform table to apply to the pattern. If null or a null string, the waveform table name must be specified in the file.

Return Value

Success or failure code.

Remarks

Loads bulk data using a flexible file format. The file is read using the following rules:

  • Comments are designated with a hash (#) or double slash (//). Comments extend to the end of line. Blank lines are also treated as comments.
  • The first non-comment line of the file may be a header that indicates the syntax of the file. The header line begins with "[" and ends with "]". If the header begins with the word "Index," a numeric Index is parsed on each data line. If the header has the word "WaveformTable", then a WaveformTable is parsed on each line. Finally, the header has a list of signals, indicating the order and signal name to associate with each position in the data lines.
  • If no header line is present, the file is assumed to contain only bulk data with an unchanging waveform table and signals as provided via the API.
  • Data lines are parsed based on the header line. Individual waveform characters may be separated by comma or space or may be grouped together.
  • A hyphen (-) can be used in place of a waveform character. This indicates that the previous waveform character on that signal should be repeated. In STIL this is indicated by leaving the waveform character unspecified, but it must be explicit in bulk data.

Generally, values provided by the API override any values appear in the file. For instance, if the signal list is provided in the API, any signals appears on the header line are ignored.

The following are typical examples:

# This file includes a header showing indexes and waveform table

[ Index WaveformTable Signal1 Signal2 Signal3 Clock ]
  0     One           0       1       1       T
  1                   0       1       1       T  #waveform table defaults to previous line
  2                   1       0       0       T  #
  3                   1       0       1       T  #separators are ignored between characters

The following example shows a more terse description. When using this syntax, the waveform table must be specified in the function invocation and the indexes are automatically generated, counting from 0.

# this datafile only defines file includes a header showing indexes and waveform table

  [ Signal1 Signal2 Signal3 Clock ]
    0       1       1       T
    0       1       1       T
    0       0       0       T
    0       0       1       T

The final example is the most dense, but has exactly the same meaning as the previous one, except the signal list must be provided via the API (and the comment has been left out).

    011T
    011-
    100-
    101-

For more information on the PatternFile interface, see the PatternFile Overview.
For information on using dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For specific information on bulk data files, see Bulk Data file format.

Requirements

Supported Models

All supported

See Also

Reference

Pattern
KtMDsr


KtMDsr_PatternsRemove Function

KtMDsr_PatternsRemove Function
Pattern See Also

Removes the Pattern block with the specified name.

Function Tree Node: \KtMDsr\Instrument Specific\Pattern\Patterns Remove
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternsRemove(
    ViSession Vi,
    ViConstString Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Name

Name of Pattern

Return Value

Success or failure code.

Remarks

For more information on the Patterns interface, see the Patterns Overview.
For more information on the dynamic repeated capability Remove function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

Pattern
KtMDsr


PatternBurst

PatternBurst
See Also

Tree Node: \KtMDsr\Instrument Specific\PatternBurst

Functions

 | Name | Description
Function | PatternBurst Set Macro Defs | Name of the MacroDefs block to use when compiling the macro definitions in this PatternBurst.
Function | PatternBurst Set Patterns | Comma-separated list of Pattern blocks or other PatternBursts to execute when this Pattern Burst is executed. The patterns are executed in the order specified and any macros are compiled using the MacroDefs block in this PatternBurst.
Function | PatternBursts Add | Adds a PatternBurst block of the specified name.
Function | PatternBursts Get Name | Returns the patternburst name that corresponds to the one-based index that the user specifies.
Function | PatternBursts Remove | Removes the PatternBurst block with the specified name.
Top

Attributes

 | Name | Description
Attribute | PatternBurst Macro Defs | Name of the MacroDefs block to use when compiling the macro definitions in this PatternBurst.
Attribute | PatternBurst Patterns | Comma-separated list of Pattern blocks or other PatternBursts to execute when this Pattern Burst is executed. The patterns are executed in the order specified and any macros are compiled using the MacroDefs block in this PatternBurst.
Attribute | PatternBursts Count |
Top

See Also

Reference

KtMDsr


KTMDSR_ATTR_PATTERNBURST_MACRO_DEFS Attribute

KTMDSR_ATTR_PATTERNBURST_MACRO_DEFS Attribute
PatternBurst See Also

Name of the MacroDefs block to use when compiling the macro definitions in this PatternBurst.

Attribute Tree Node: \KtMDsr\Instrument Specific\PatternBurst\PatternBurst Macro Defs
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERNBURST_MACRO_DEFS 1150154

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

ViStatus KtMDsr_SetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViConstString AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the PatternBurst repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERNBURST_MACRO_DEFS.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue (GetAttribute)

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

All macros used in the Patterns and PatternBursts for this PatternBurst must be defined in the MacroDef block provided.
For more information on the PatternBurst interface, see the PatternBurst Overview.
For more information on Macro definitions, see the MacroDef Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternBurst
KtMDsr


KTMDSR_ATTR_PATTERNBURST_PATTERNS Attribute

KTMDSR_ATTR_PATTERNBURST_PATTERNS Attribute
PatternBurst See Also

Comma-separated list of Pattern blocks or other PatternBursts to execute when this Pattern Burst is executed. The patterns are executed in the order specified and any macros are compiled using the MacroDefs block in this PatternBurst.

Attribute Tree Node: \KtMDsr\Instrument Specific\PatternBurst\PatternBurst Patterns
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERNBURST_PATTERNS 1150140

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

ViStatus KtMDsr_SetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViConstString AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the PatternBurst repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERNBURST_PATTERNS.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue (GetAttribute)

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

The block references in the comma-separated strings can be either the names of Pattern blocks or of PatternBurst blocks.

The Pattern blocks are executed in the order in which they appear in the string. The same Pattern block can be referenced multiple times.

Blocks do not need to be defined before they are referenced.

For more information on the PatternBurst interface, see the PatternBurst Overview.
For more information on the Patterns block, see the Patterns Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternBurst
KtMDsr


KtMDsr_PatternBurstSetMacroDefs Function

KtMDsr_PatternBurstSetMacroDefs Function
PatternBurst See Also

Name of the MacroDefs block to use when compiling the macro definitions in this PatternBurst.

Function Tree Node: \KtMDsr\Instrument Specific\PatternBurst\PatternBurst Set Macro Defs
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternBurstSetMacroDefs(
    ViSession Vi,
    ViConstString PatternBurst,
    ViConstString MacroDefs
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternBurst

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PatternBurst repeated capability.

MacroDefs

Name of the MacroDefs block to use when compiling the macro definitions in this PatternBurst.

Return Value

Success or failure code.

Remarks

All macros used in the Patterns and PatternBursts for this PatternBurst must be defined in the MacroDef block provided.
For more information on the PatternBurst interface, see the PatternBurst Overview.
For more information on Macro definitions, see the MacroDef Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternBurst
KtMDsr


KtMDsr_PatternBurstSetPatterns Function

KtMDsr_PatternBurstSetPatterns Function
PatternBurst See Also

Comma-separated list of Pattern blocks or other PatternBursts to execute when this Pattern Burst is executed. The patterns are executed in the order specified and any macros are compiled using the MacroDefs block in this PatternBurst.

Function Tree Node: \KtMDsr\Instrument Specific\PatternBurst\PatternBurst Set Patterns
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternBurstSetPatterns(
    ViSession Vi,
    ViConstString PatternBurst,
    ViConstString Patterns
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternBurst

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PatternBurst repeated capability.

Patterns

Property establishing the list of patterns in this pattern burst.The list can include other PatternBursts, however the complete list can not reference more than one Pattern to be used as the MacroDef.The string is a comma separated list of patterns.

Return Value

Success or failure code.

Remarks

The block references in the comma-separated strings can be either the names of Pattern blocks or of PatternBurst blocks.

The Pattern blocks are executed in the order in which they appear in the string. The same Pattern block can be referenced multiple times.

Blocks do not need to be defined before they are referenced.

For more information on the PatternBurst interface, see the PatternBurst Overview.
For more information on the Patterns block, see the Patterns Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternBurst
KtMDsr


KtMDsr_PatternBurstsAdd Function

KtMDsr_PatternBurstsAdd Function
PatternBurst See Also

Adds a PatternBurst block of the specified name.

Function Tree Node: \KtMDsr\Instrument Specific\PatternBurst\PatternBursts Add
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternBurstsAdd(
    ViSession Vi,
    ViConstString Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Name

Name of PatternBurst

Return Value

Success or failure code.

Remarks

For more information on the PatternBurst interface, see the PatternBurst Overview.
For more information on the dynamic repeated capability Add function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

PatternBurst
KtMDsr


KTMDSR_ATTR_PATTERNBURSTS_COUNT Attribute

KTMDSR_ATTR_PATTERNBURSTS_COUNT Attribute
PatternBurst See Also

Attribute Tree Node: \KtMDsr\Instrument Specific\PatternBurst\PatternBursts Count
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERNBURSTS_COUNT 1150057

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERNBURSTS_COUNT.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

For more information on the PatternBurst interface, see the PatternBurst Overview.
For more information on the dynamic repeated capability Count attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

PatternBurst
KtMDsr


KtMDsr_PatternBurstsGetName Function

KtMDsr_PatternBurstsGetName Function
PatternBurst See Also

Returns the patternburst name that corresponds to the one-based index that the user specifies.

Function Tree Node: \KtMDsr\Instrument Specific\PatternBurst\PatternBursts Get Name
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternBurstsGetName(
    ViSession Vi,
    ViInt32 Index,
    ViInt32 NameBufferSize,
    ViChar[] Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Index

A one-based index that defines which name to return.

NameBufferSize

Number of elements in Name.

Name

Specifies the buffer into which the function returns the name that corresponds to the index the user specifies. The caller may pass VI_NULL for this parameter if the buffer size parameter is 0.

Return Value

Success or failure code.

Remarks

For more information on the PatternBurst interface, see the PatternBurst Overview.
For more information on the dynamic repeated capability Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

PatternBurst
KtMDsr


KtMDsr_PatternBurstsRemove Function

KtMDsr_PatternBurstsRemove Function
PatternBurst See Also

Removes the PatternBurst block with the specified name.

Function Tree Node: \KtMDsr\Instrument Specific\PatternBurst\PatternBursts Remove
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternBurstsRemove(
    ViSession Vi,
    ViConstString Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Name

Name of PatternBurst

Return Value

Success or failure code.

Remarks

For more information on the PatternBurst interface, see the PatternBurst Overview.
For more information on the dynamic repeated capability Remove function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

PatternBurst
KtMDsr


PatternExec

PatternExec
See Also

Tree Node: \KtMDsr\Instrument Specific\PatternExec

Functions

 | Name | Description
Function | PatternExec Set Dc Levels | DcLevels block to be used by the PatternExec.
Function | PatternExec Set Pattern Burst | PatternBurst block to be used by the PatternExec.
Function | PatternExecs Add | Adds a PatternExec block of the specified name.
Function | PatternExecs Get Name | Returns the patternexec name that corresponds to the one-based index that the user specifies.
Function | PatternExecs Remove | Removes the PatternExec block with the specified name.
Top

Attributes

 | Name | Description
Attribute | PatternExec DcLevels | DcLevels block to be used by the PatternExec.
Attribute | PatternExec PatternBurst | PatternBurst block to be used by the PatternExec.
Attribute | PatternExecs Count |
Top

See Also

Reference

KtMDsr


KTMDSR_ATTR_PATTERNEXEC_DC_LEVELS Attribute

KTMDSR_ATTR_PATTERNEXEC_DC_LEVELS Attribute
PatternExec See Also

DcLevels block to be used by the PatternExec.

Attribute Tree Node: \KtMDsr\Instrument Specific\PatternExec\PatternExec DcLevels
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERNEXEC_DC_LEVELS 1150109

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

ViStatus KtMDsr_SetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViConstString AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the PatternExec repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERNEXEC_DC_LEVELS.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue (GetAttribute)

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

For more information on the PatternExec interface, see the PatternExec Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternExec
KtMDsr


KTMDSR_ATTR_PATTERNEXEC_PATTERN_BURST Attribute

KTMDSR_ATTR_PATTERNEXEC_PATTERN_BURST Attribute
PatternExec See Also

PatternBurst block to be used by the PatternExec.

Attribute Tree Node: \KtMDsr\Instrument Specific\PatternExec\PatternExec PatternBurst
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERNEXEC_PATTERN_BURST 1150108

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

ViStatus KtMDsr_SetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViConstString AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the PatternExec repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERNEXEC_PATTERN_BURST.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue (GetAttribute)

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

For more information on the PatternExec interface, see the PatternExec Overview.
For more information on the PatternBurst interface, see the PatternBurst Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternExec
KtMDsr


KtMDsr_PatternExecSetDcLevels Function

KtMDsr_PatternExecSetDcLevels Function
PatternExec See Also

DcLevels block to be used by the PatternExec.

Function Tree Node: \KtMDsr\Instrument Specific\PatternExec\PatternExec Set Dc Levels
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternExecSetDcLevels(
    ViSession Vi,
    ViConstString PatternExec,
    ViConstString DcLevels
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternExec

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PatternExec repeated capability.

DcLevels

DcLevels to be used by the PatternExec.

Return Value

Success or failure code.

Remarks

For more information on the PatternExec interface, see the PatternExec Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternExec
KtMDsr


KtMDsr_PatternExecSetPatternBurst Function

KtMDsr_PatternExecSetPatternBurst Function
PatternExec See Also

PatternBurst block to be used by the PatternExec.

Function Tree Node: \KtMDsr\Instrument Specific\PatternExec\PatternExec Set Pattern Burst
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternExecSetPatternBurst(
    ViSession Vi,
    ViConstString PatternExec,
    ViConstString PatternBurst
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternExec

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PatternExec repeated capability.

PatternBurst

PatternBust to be used by the PatternExec.

Return Value

Success or failure code.

Remarks

For more information on the PatternExec interface, see the PatternExec Overview.
For more information on the PatternBurst interface, see the PatternBurst Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternExec
KtMDsr


KtMDsr_PatternExecsAdd Function

KtMDsr_PatternExecsAdd Function
PatternExec See Also

Adds a PatternExec block of the specified name.

Function Tree Node: \KtMDsr\Instrument Specific\PatternExec\PatternExecs Add
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternExecsAdd(
    ViSession Vi,
    ViConstString Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Name

Name of PatternExec

Return Value

Success or failure code.

Remarks

For more information on the PatternExec interface, see the PatternExec Overview.
For more information on the dynamic repeated capability Add function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

PatternExec
KtMDsr


KTMDSR_ATTR_PATTERNEXECS_COUNT Attribute

KTMDSR_ATTR_PATTERNEXECS_COUNT Attribute
PatternExec See Also

Attribute Tree Node: \KtMDsr\Instrument Specific\PatternExec\PatternExecs Count
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERNEXECS_COUNT 1150055

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERNEXECS_COUNT.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

For more information on the PatternExec interface, see the PatternExec Overview.
For more information on the dynamic repeated capability Count attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

PatternExec
KtMDsr


KtMDsr_PatternExecsGetName Function

KtMDsr_PatternExecsGetName Function
PatternExec See Also

Returns the patternexec name that corresponds to the one-based index that the user specifies.

Function Tree Node: \KtMDsr\Instrument Specific\PatternExec\PatternExecs Get Name
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternExecsGetName(
    ViSession Vi,
    ViInt32 Index,
    ViInt32 NameBufferSize,
    ViChar[] Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Index

A one-based index that defines which name to return.

NameBufferSize

Number of elements in Name.

Name

Specifies the buffer into which the function returns the name that corresponds to the index the user specifies. The caller may pass VI_NULL for this parameter if the buffer size parameter is 0.

Return Value

Success or failure code.

Remarks

For more information on the PatternExec interface, see the PatternExec Overview.
For more information on the dynamic repeated capability Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

PatternExec
KtMDsr


KtMDsr_PatternExecsRemove Function

KtMDsr_PatternExecsRemove Function
PatternExec See Also

Removes the PatternExec block with the specified name.

Function Tree Node: \KtMDsr\Instrument Specific\PatternExec\PatternExecs Remove
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternExecsRemove(
    ViSession Vi,
    ViConstString Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Name

Name of PatternExec

Return Value

Success or failure code.

Remarks

For more information on the PatternExec interface, see the PatternExec Overview.
For more information on the dynamic repeated capability Remove function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

PatternExec
KtMDsr


PatternFile

PatternFile
See Also

Tree Node: \KtMDsr\Instrument Specific\PatternFile

Functions

 | Name | Description
Function | PatternFile Get Error Count | Returns the number of parsing errors from the last Load. The OpenXML and BulkData parsers may return multiple errros. The STIL parser terminates on the first error, so it always returns 0 or 1 for STIL. Use GetNextError to read the errors.
Function | PatternFile Get Next Error | Returns the next parsing error. If there are no errors, returns "No Error."
Function | PatternFile Load | This function loads a STIL, OpenXml, or bulk data file and creates objects based on the content of the file. If an element is loaded and there is already one by that name in the same namespace, the new element will replace the original one.
Function | PatternFile Load And Update Open Xml | This function loads an OpenXml file and creates STIL components based on the content of the file. The STIL components created are dependent on the file contents. Syntax errors are written to a new sheet in the original OpenXml file.
Function | PatternFile Load Bulk Data Deferred | Loads a Pattern directly into on board memory.
Function | PatternFile Store Stil | Stores all components loaded to a STIL file. Note that it does not preserve comments or annotations from the original file.
Top

Attributes

 | Name | Description
Attribute | PatternFile Error Count | Returns the number of parsing errors from the last Load. The OpenXML and BulkData parsers may return multiple errros. The STIL parser terminates on the first error, so it always returns 0 or 1 for STIL. Use GetNextError to read the errors.
Top

See Also

Reference

KtMDsr


KTMDSR_ATTR_PATTERNFILE_ERROR_COUNT Attribute

KTMDSR_ATTR_PATTERNFILE_ERROR_COUNT Attribute
PatternFile See Also

Returns the number of parsing errors from the last Load. The OpenXML and BulkData parsers may return multiple errros. The STIL parser terminates on the first error, so it always returns 0 or 1 for STIL. Use GetNextError to read the errors.

Attribute Tree Node: \KtMDsr\Instrument Specific\PatternFile\PatternFile Error Count
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERNFILE_ERROR_COUNT 1150203

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERNFILE_ERROR_COUNT.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

ErrorCount is reset when a new file is parsed, so it represents only the errors from the most recent Load or LoadAndUpdateXml operation.

ErrorCount is decremented for each error read back with GetNextError.

For more information on the PatternFile interface, see the PatternFile Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternFile
KtMDsr


KtMDsr_PatternFileGetErrorCount Function

KtMDsr_PatternFileGetErrorCount Function
PatternFile See Also

Returns the number of parsing errors from the last Load. The OpenXML and BulkData parsers may return multiple errros. The STIL parser terminates on the first error, so it always returns 0 or 1 for STIL. Use GetNextError to read the errors.

Function Tree Node: \KtMDsr\Instrument Specific\PatternFile\PatternFile Get Error Count
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternFileGetErrorCount(
    ViSession Vi,
    ViInt32* StilErrorCount
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

StilErrorCount

Number of errors before parsing stopped.

Return Value

Success or failure code.

Remarks

ErrorCount is reset when a new file is parsed, so it represents only the errors from the most recent Load or LoadAndUpdateXml operation.

ErrorCount is decremented for each error read back with GetNextError.

For more information on the PatternFile interface, see the PatternFile Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternFile
KtMDsr


KtMDsr_PatternFileGetNextError Function

KtMDsr_PatternFileGetNextError Function
PatternFile See Also

Returns the next parsing error. If there are no errors, returns "No Error."

Function Tree Node: \KtMDsr\Instrument Specific\PatternFile\PatternFile Get Next Error
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternFileGetNextError(
    ViSession Vi,
    ViInt32 ValBufferSize,
    ViChar[] Val
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

ValBufferSize

Val

The next parsing error in the error queue.

Return Value

Success or failure code.

Remarks

Decrements the ErrorCount property for each error it returns.

For more information on the PatternFile interface, see the PatternFile Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternFile
KtMDsr


KtMDsr_PatternFileLoad Function

KtMDsr_PatternFileLoad Function
PatternFile See Also

This function loads a STIL, OpenXml, or bulk data file and creates objects based on the content of the file. If an element is loaded and there is already one by that name in the same namespace, the new element will replace the original one.

Function Tree Node: \KtMDsr\Instrument Specific\PatternFile\PatternFile Load
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternFileLoad(
    ViSession Vi,
    ViConstString FileName,
    ViConstString NameSpace
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

FileName

The file, including an optional path to load.

NameSpace

Namespace to load the STIL components into. Use "" for the global namespace. Only supported when loading .stil files

Return Value

Success or failure code.

Remarks

The specified file is loaded into the DSR STIL components.

If the file suffix is ".stil", the file is parsed as STIL. If the file suffix is ".xlsx", the file is read as an OpenXML file with the DSR defined STIL data. Otherwise, the file is read as an ASCII text file that contains bulk pattern data in the DSR defined format.

If the file is in Bulk Data file format, the file must include a row that defines the Signals to which the waveform characters are to be applied, as described in the bulk data file overview. The name of the generated pattern block is the base portion of the file name. For instance, a file named "patternfile.txt" would produce a pattern block named "patternfile".

If an OpenXML file is loaded that does not contain either a PatternExec or a PatternBurst, they are created automatically for that file. If additional OpenXML files are loaded simultaneously, the names of the generated blocks may collide with the names created for the original file. Therefore, to load multiple OpenXML files simultaneously, you should include a definition of the PatternExec and PatternBurst.

Duplicate block names may appear within the pattern file. If they do, they replace existing block names.

NameSpace notes

  • To support managing multiple unrelated patterns in memory at the same time, the DSR supports a NameSpace. The symbols that are used are uniquely qualified with the NameSpace so that the same symbol can be used in multiple pattern files with distinct meanings.
  • Signals are an exception, and are always in the Default NameSpace.
  • When a file is loaded, all the symbols defined, except for Signals, are placed into the designated NameSpace. In addition, all symbols referenced, except for Signals, are referenced within the designated NameSpace.
  • To reference symbols from the API that are within a NameSpace, precede the symbol name with the NameSpace name and an exclamation mark (1). For instance, "MyNameSpace!WaveformTable1".
  • If the NameSpace is null, all symbols are put into the default NameSpace.
  • Multiple files may be loaded into the same NameSpace.

For more information on the PatternFile interface, see the PatternFile Overview.
For information on using dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information on specific file formats, see OpenXML file format, STIL file format, and Bulk Data file format.

Requirements

Supported Models

All supported

See Also

Reference

PatternFile
KtMDsr


KtMDsr_PatternFileLoadAndUpdateOpenXml Function

KtMDsr_PatternFileLoadAndUpdateOpenXml Function
PatternFile See Also

This function loads an OpenXml file and creates STIL components based on the content of the file. The STIL components created are dependent on the file contents. Syntax errors are written to a new sheet in the original OpenXml file.

Function Tree Node: \KtMDsr\Instrument Specific\PatternFile\PatternFile Load And Update Open Xml
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternFileLoadAndUpdateOpenXml(
    ViSession Vi,
    ViConstString FileName,
    ViConstString Namespace
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

FileName

The file, including an optional path to load.

Namespace

For future use: Namespace to load the STIL components into. Use "" for the global namespace.

Return Value

Success or failure code.

Remarks

This function works just like Load except that the file must be an OpenXML file (suffix .xlsx). If the file is loaded with this function, and the file has syntax errors, a sheet will be added to the file that contains the syntax errors found in the file. Note that this requires writing to the file.

For more information on the PatternFile interface, see the PatternFile Overview.
For information on using dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information on the OpenXML (spreadsheet) file format, see OpenXML file format.

Requirements

Supported Models

All supported

See Also

Reference

PatternFile
KtMDsr


KtMDsr_PatternFileLoadBulkDataDeferred Function

KtMDsr_PatternFileLoadBulkDataDeferred Function
PatternFile See Also

Loads a Pattern directly into on board memory.

Function Tree Node: \KtMDsr\Instrument Specific\PatternFile\PatternFile Load Bulk Data Deferred
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternFileLoadBulkDataDeferred(
    ViSession Vi,
    ViInt32 FileNameBufferSize,
    ViConstString FileName,
    ViConstString PatternName,
    ViConstString HeaderOverride,
    ViConstString WaveformTableName,
    ViInt32 MaximumVectorCount
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

FileNameBufferSize

Number of elements in FileName.

FileName

The file to be loaded, including an optional path.

PatternName

Name of the generated Pattern block. If null or a null string, the Pattern block name is the basename of the filename.

HeaderOverride

A header that overrides any header line defined in the file. Optional when header line is defined within the file. Required if header line is not defined in file. Syntax for this parameter is same as when header line is defined within a file.

WaveformTableName

Waveform table to apply to the pattern. If null or a null string, the waveform table name must be specified in the file.

MaximumVectorCount

Maximum vector count to aid in module memory allocation. For more information on module memory configuration, refer to Instrument > ConfigureMemory in the DSR Help file.

Return Value

Success or failure code.

Remarks

For more information on the PatternFile interface, see the PatternFile Overview.
For information on using dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For specific information on bulk data files, see Bulk Data file format.

Requirements

Supported Models

All supported

See Also

Reference

PatternFile
KtMDsr


KtMDsr_PatternFileStoreStil Function

KtMDsr_PatternFileStoreStil Function
PatternFile See Also

Stores all components loaded to a STIL file. Note that it does not preserve comments or annotations from the original file.

Function Tree Node: \KtMDsr\Instrument Specific\PatternFile\PatternFile Store Stil
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternFileStoreStil(
    ViSession Vi,
    ViConstString FileName
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

FileName

The file name in which to store the STIL file. Includes an optional path.

Return Value

Success or failure code.

Remarks

This method stores all of the STIL components currently defined, to a file.

The generated file will typically not have the same syntax as a STIL input file. For instance, an input file might define SignalGroups and then use those SignalGroups in the definition of the pattern and waveform tables. However, this function will output all of the current settings for each signal, without clumping them by SignalGroups. Therefore, the generated file does not provide a useful human-readable format. It does provide a robust record of the configuration of the DSR.

Loading a file generated from StoreStil returns the pattern definition memory of the DSR to the state it was in when StoreStil was called.

For more information on the PatternFile interface, see the PatternFile Overview.
See STIL Components for more information on how to use the STIL Components.

Requirements

Supported Models

All supported

See Also

Reference

PatternFile
KtMDsr


PatternSite

PatternSite
See Also

Tree Node: \KtMDsr\Instrument Specific\PatternSite

Functions

 | Name | Description
Function | Pattern Site Fetch Result Segment Wide | Returns the result as an array of 32-bit integers. It is only needed when the result data is wider than16 bits (Ordinals for results data are > 15).
Function | Pattern Site Fetch Result Wide | Returns the result as an array of 32-bit integers. It is only needed when the result data is wider than16 bits (Ordinals for results data are > 15).
Function | Pattern Site Fetch Trinary Result Segment Wide | Returns a segment from the captured result as an array of 32-bit integers. Only needed when the result data is wider than 32 bits.
Function | Pattern Site Fetch Trinary Result Wide | Returns a segment from the captured result as an array of 32-bit integers. Only needed when the result data is wider than 32 bits.
Function | PatternSite Abort | Asynchronously stops the execution of a pattern. The pattern aborts and discards any intermediate results.
Function | PatternSite Fetch Line Information | Gets the information associated with the specified index in the result array.
Function | PatternSite Fetch Result Byte | Gets an array of results and returns them as bytes. The FetchResultByte function works for sites where all ordinals are less than 8 (0-7).
Function | PatternSite Fetch Result Int16 | Gets results in an array of 16-bit integers. The FetchResultInt16 function works for sites with ordinals less than 16 (0-15).
Function | PatternSite Fetch Result Segment Byte | Gets the specified segment of the result as an array of bytes. The FetchResultSegmentByte function works for sites with ordinals less than 8 (0-7).
Function | PatternSite Fetch Result Segment Int16 | Returns the specified segment of the results as an array of 16-bit integers. The FetchResultSegmentInt16 function works for sites with ordinals less than 16 (0-15).
Function | PatternSite Fetch Trinary Result | Returns an array of captured results. The 32 bits for each element contain two bits for each ordinal (0 - 15); this indicates the actual state of the DUT response on logged compares.
Function | PatternSite Fetch Trinary Result Segment | Returns an array of captured results. The 32 bits for each element contain two bits for each ordinal (0 - 15); this indicates the actual state of the DUT response on logged compares.
Function | PatternSite Get Edge Placement Resolution | Returns the edge placement resolution that was used when this pattern was activated. If EdgePlacementResolutionAuto was True at the time of activation, the return value is the value selected by the DSR.
Function | PatternSite Get Edge Placement Resolution Auto | Returns a Boolean that indicates whether this site was activated with EdgePlacementResolutionAuto.
Function | PatternSite Get Execution Errors | Gets a comma-separated string containing errors that occurred during pattern execution. This should be consulted if the ExecutionResult returns an error.
Function | PatternSite Get Execution Result | Gets a Boolean that indicates whether there are any results logged from the previous pattern execution. True indicates there are results.
Function | PatternSite Get Execution State | Returns the state of the pattern execution hardware. Possible values are Stopped, Running, WaitingForTrigger, Complete, Aborted, and Error.
Function | PatternSite Get Result Count | Gets the number of elements in the result from the last pattern execution.
Function | PatternSite Get Result Width | Gets the width of the result, that is, the number of bits in each element of the response. The result width is established by the highest ordinal assigned to a response signal in the site definition.
Function | PatternSite Initiate | Begin the execution of the pattern. If Trigger Mode is set to Immediate, the pattern will begin executing immediately. If Trigger Mode is set to Trigger, the hardware will fully initialize, then it will wait for a trigger event before proceeding.
Function | PatternSite Reevaluate Variables | Takes a list of variable expressions separated by semicolons (;), evaluates them, and then recalculates the values in the WaveformTables based on the new values of the variables.
Function | PatternSite ReevaluateDcLevels | Takes a list of variable expressions separated by semicolons (;), evaluates them, and then recalculates the DcLevels values based on the new values of the variables.
Function | PatternSite Save Results To File | Saves the results and all of the line information, as text, to the specified file. The individual elements are comma-separated.
Function | PatternSite Set Conditional Loop Failure Mode | Match loops and watch loops include a loop counter which, if expired, indicates that the loop has failed. This attribute selects what will happen when the loop counter expires (either stop execution or exit the loop and continue).
Function | PatternSite Set Conditional Loop Success Mode | Configures if the DSR will execute a MatchLoop or WatchLoop at least one extra time after a successful loop, or if the loop will require no compares in the final few vectors of the loop.
Function | PatternSite Set DcLevel | Specifies a single DC level to apply on the given signal within this pattern. SetDcLevel cannot be called while the pattern is executing.
Function | PatternSite Set Force Validate Enable | If true, any WaveformTables compiled will perform force validation by adding a compare operation to validate a successful force on the last cycle of operations that include force operations.
Function | PatternSite Set Signal | Changes a single signal over a series of clock periods in the compiled waveform. That is, it writes the characters of the provided string into the designated signal in subsequent vectors.
Function | PatternSite Set Vector | Overwrites the vector data at the specified location in a compiled pattern.
Function | PatternSite Set Waveform Table | Overwrites the Waveform Table at the specified location in the compiled pattern.
Function | PatternSite Wait For Acquisition Complete | This function waits for the pattern to complete execution before it returns. If a pattern has not been initiated or if it has already completed, the function will return immediately.
Function | PatternSites Activate | Activates a site for pattern operations using the specified PatternExec and with the specified EdgePlacementResolution. The pattern is compiled and downloaded to the pattern cache.
Function | PatternSites Activate From Cache | Activates a previously-compiled PatternSite that has been saved in cache.
Function | PatternSites Activate Pattern | Activates a site for pattern operations. Parameters specify the site, pattern, waveform table, DcLevels, and EdgePlacementResolution. The pattern is compiled and downloaded to the pattern cache.
Function | PatternSites Compile Pattern | Compiles the pattern components for the specified site and saves the compiled pattern to the specified destination (either a file or cache). The name will be used to refer to the site when it is later activated from cache.
Function | PatternSites Compile Pattern Exec | Compiles the components into a PatternSite and saves it to the specified destination (either a file or cache). The name will be used to later reference the PatternSite.
Function | PatternSites Download Pattern To Cache | Downloads the compiled pattern from the file system to the cache and assigns a name, CacheName, to the compiled pattern.
Function | PatternSites Get Name | Returns the patternsite name that corresponds to the one-based index that the user specifies.
Function | PatternSites Inactivate | Releases the resources associated with this site. The state of the individual channels is not changed (that is, the channels are not disabled).
Function | PatternSites Inactivate And Disable | Releases the resources associated with this site. The individual channels are disabled.
Function | PatternSites List Cache | Returns a comma-separated list of PatternSites previously saved in cache, and the amount of memory each is using.
Function | PatternSites Set End Behavior | Sets the behavior of the signal lines upon completion of a pattern to either retain the last state of the signal lines from the last period or repeat the last waveform character of the last period.
Function | PatternSites Set Result Buffer Size | Specifies the amount of memory, in bytes, to be reserved for results for this pattern. This memory is taken from the memory reserved for results using Instrument Configure Memory.
Function | PatternSites Set Trigger Mode | The trigger mode determines whether the pattern begins executing immediately after it is initiated or whether it waits for a trigger event.
Function | PatternSites Set Trigger Source | Gets or sets the trigger source used to begin execution for this pattern after calling Initiate.
Function | PatternSites Set What To Log | Sets the compares to log during pattern execution (all compares; first failed compare; all failed compares). If "first failed compare" is selected, the first failure terminates the pattern execution.
Top

Attributes

 | Name | Description
Attribute | PatternSite Conditional Loop Failure Mode | Match loops and watch loops include a loop counter which, if expired, indicates that the loop has failed. This attribute selects what will happen when the loop counter expires (either stop execution or exit the loop and continue).
Attribute | PatternSite Conditional Loop Success Mode | Configures if the DSR will execute a MatchLoop at least one extra time after a successful loop, or if the MatchLoop will require no compares in the final few cycles of the loop.
Attribute | PatternSite Edge Placement Resolution | Returns the edge placement resolution that was used when this pattern was activated. If EdgePlacementResolutionAuto was True at the time of activation, the return value is the value selected by the DSR.
Attribute | PatternSite Edge Placement Resolution Auto | Returns a Boolean that indicates whether this site was activated with EdgePlacementResolutionAuto.
Attribute | PatternSite Execution Result | Gets a Boolean that indicates whether there are any results logged from the previous pattern execution. True indicates there are results.
Attribute | PatternSite Execution State | Returns the state of the pattern execution hardware. Possible values are Stopped, Running, WaitingForTrigger, Complete, Aborted, and Error.
Attribute | PatternSite Force Validate Enable | If true, any WaveformTables compiled will perform force validation by adding a compare operation to validate a successful force on the last cycle of operations that include force operations.
Attribute | PatternSite Result Count | Gets the number of elements in the result from the last pattern execution.
Attribute | PatternSite Result Width | Gets the width of the result, that is, the number of bits in each element of the response. The result width is established by the highest ordinal assigned to a response signal in the site definition.
Attribute | PatternSite Termination Reason | Gets a comma-separated string containing errors that occurred during pattern execution. This should be consulted if the ExecutionResult returns an error.
Attribute | PatternSites Count |
Attribute | PatternSites End Behavior | Sets the behavior of the signal lines upon completion of a pattern to either retain the last state of the signal lines from the last period or repeat the last waveform character of the last period.
Attribute | PatternSites Result Buffer Size | Specifies the amount of memory, in bytes, to be reserved for results for this pattern. This memory is taken from the memory reserved for results using Instrument Configure Memory.
Attribute | PatternSites Trigger Mode | The trigger mode determines whether the pattern begins executing immediately after it is initiated or whether it waits for a trigger event.
Attribute | PatternSites Trigger Source | Gets or sets the trigger source used to begin execution for this pattern after calling Initiate.
Attribute | PatternSites What To Log | Sets the compares to log during pattern execution (all compares; first failed compare; all failed compares). If "first failed compare" is selected, the first failure terminates the pattern execution.
Top

See Also

Reference

KtMDsr


KtMDsr_PatternSiteFetchResultSegmentWide Function

KtMDsr_PatternSiteFetchResultSegmentWide Function
PatternSite See Also

Returns the result as an array of 32-bit integers. It is only needed when the result data is wider than16 bits (Ordinals for results data are > 15).

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\Pattern Site Fetch Result Segment Wide
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteFetchResultSegmentWide(
    ViSession Vi,
    ViConstString PatternSite,
    ViInt32 Offset,
    ViInt32 Count,
    ViInt32* ArrayElementsPerVector,
    ViInt32 ValBufferSize,
    ViInt32[] Val,
    ViInt32* ValActualSize
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PatternSite repeated capability.

Offset

The offset of the first element returned within the segment.

Count

The number of elements to return in the segment.

ArrayElementsPerVector

The number of element in the returned array, for each results vector.

ValBufferSize

Val

Result data from the pattern execution.

ValActualSize

Return Value

Success or failure code.

Remarks

An integer number of integers are inserted in the array for each cycle that produces a result. The number of integers for that cycle is the minimum number necessary to provide all the bit positions for all of the ordinals specified for the Out and InOut channels.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteFetchResultWide Function

KtMDsr_PatternSiteFetchResultWide Function
PatternSite See Also

Returns the result as an array of 32-bit integers. It is only needed when the result data is wider than16 bits (Ordinals for results data are > 15).

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\Pattern Site Fetch Result Wide
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteFetchResultWide(
    ViSession Vi,
    ViConstString PatternSite,
    ViInt32* ArrayElementsPerVector,
    ViInt32 ValBufferSize,
    ViInt32[] Val,
    ViInt32* ValActualSize
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PatternSite repeated capability.

ArrayElementsPerVector

The number of element in the returned array, for each results vector.

ValBufferSize

Val

Result data from the pattern execution.

ValActualSize

Return Value

Success or failure code.

Remarks

An integer number of integers are inserted in the array for each cycle that produces a result. The number of integers for that cycle is the minimum number necessary to provide all the bit positions for all of the ordinals specified for the Out and InOut channels.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteFetchTrinaryResultSegmentWide Function

KtMDsr_PatternSiteFetchTrinaryResultSegmentWide Function
PatternSite See Also

Returns a segment from the captured result as an array of 32-bit integers. Only needed when the result data is wider than 32 bits.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\Pattern Site Fetch Trinary Result Segment Wide
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteFetchTrinaryResultSegmentWide(
    ViSession Vi,
    ViConstString PatternSite,
    ViInt32 Offset,
    ViInt32 Count,
    ViInt32* ArrayElementsPerVector,
    ViInt32 ValBufferSize,
    ViInt32[] Val,
    ViInt32* ValActualSize
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PatternSite repeated capability.

Offset

The offset of the first element returned within the segment.

Count

The number of elements to return in the segment.

ArrayElementsPerVector

The number of element in the returned array, for each results vector.

ValBufferSize

Val

Result data from the pattern execution.

ValActualSize

Return Value

Success or failure code.

Remarks

An integer number of integers are inserted in the array for each cycle that produces a result. The number of integers for that cycle is the minimum number necessary to provide all the bit positions for all of the ordinals specified for the Out and InOut channels.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteFetchTrinaryResultWide Function

KtMDsr_PatternSiteFetchTrinaryResultWide Function
PatternSite See Also

Returns a segment from the captured result as an array of 32-bit integers. Only needed when the result data is wider than 32 bits.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\Pattern Site Fetch Trinary Result Wide
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteFetchTrinaryResultWide(
    ViSession Vi,
    ViConstString PatternSite,
    ViInt32* ArrayElementsPerVector,
    ViInt32 ValBufferSize,
    ViInt32[] Val,
    ViInt32* ValActualSize
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PatternSite repeated capability.

ArrayElementsPerVector

The number of element in the returned array, for each results vector.

ValBufferSize

Val

Result data from the pattern execution.

ValActualSize

Return Value

Success or failure code.

Remarks

An integer number of integers are inserted in the array for each cycle that produces a result. The number of integers for that cycle is the minimum number necessary to provide all the bit positions for all of the ordinals specified for the Out and InOut channels.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteAbort Function

KtMDsr_PatternSiteAbort Function
PatternSite See Also

Asynchronously stops the execution of a pattern. The pattern aborts and discards any intermediate results.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Abort
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteAbort(
    ViSession Vi,
    ViConstString PatternSite
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PatternSite repeated capability.

Return Value

Success or failure code.

Remarks

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KTMDSR_ATTR_PATTERNSITE_CONDITIONAL_LOOP_FAILURE_MODE Attribute

KTMDSR_ATTR_PATTERNSITE_CONDITIONAL_LOOP_FAILURE_MODE Attribute
PatternSite See Also

Match loops and watch loops include a loop counter which, if expired, indicates that the loop has failed. This attribute selects what will happen when the loop counter expires (either stop execution or exit the loop and continue).

Attribute Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Conditional Loop Failure Mode
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERNSITE_CONDITIONAL_LOOP_FAILURE_MODE 1150216

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

ViStatus KtMDsr_SetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERNSITE_CONDITIONAL_LOOP_FAILURE_MODE.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

The following behaviors are supported on a MatchLoop or WatchLoop count reaching 0 (that is, the counter expiring) without the condition being satisfied:

ContinueOnFail | When the count is satisfied, the loop exits as if the match or watch condition had been satisfied.
StopOnFail | When the count is satisfied, pattern execution terminates (default).

This failure mode setting is compiled into the pattern. Therefore, when compiling to cache, this setting must be specified at the time the pattern is compiled.

For more information on the PatternSites interface, see the PatternSites Overview.
For information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information about how the EdgePlacementResolution parameter is used, see Edge Placement Resolution.
For conditional loops, see Patterns.MatchLoop and Patterns.WatchLoop.

Defined Values

Name | Description
KTMDSR_VAL_PATTERNSITE_MATCH_LOOP_FAILURE_MODE_STOP_ON_FAIL | Stop Execution if LoopCount exceeded.
KTMDSR_VAL_PATTERNSITE_MATCH_LOOP_FAILURE_MODE_CONTINUE_ON_FAIL | Continue Execution if LoopCount is exceeded.
Top

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KTMDSR_ATTR_PATTERNSITE_CONDITIONAL_LOOP_SUCCESS_MODE Attribute

KTMDSR_ATTR_PATTERNSITE_CONDITIONAL_LOOP_SUCCESS_MODE Attribute
PatternSite See Also

Configures if the DSR will execute a MatchLoop at least one extra time after a successful loop, or if the MatchLoop will require no compares in the final few cycles of the loop.

Attribute Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Conditional Loop Success Mode
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERNSITE_CONDITIONAL_LOOP_SUCCESS_MODE 1150217

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

ViStatus KtMDsr_SetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERNSITE_CONDITIONAL_LOOP_SUCCESS_MODE.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

The DSR supports two different behaviors for successfully exiting MatchLoops.

As described in Patterns.MatchLoop, it takes several edge placement resolution times for the MatchLoop success to be determined. Once that success has been determined, the sequencer can optionally perform an additional loop before exiting.

NoCompare | The loop exits at the end of the first successful pass through the Matchloop. If there are compares too close to the end of the loop the MatchLoop will exit after the first pass through the loop.
ExtraLoop | Once the MatchLoop succeeds, one or more additional passes through the loop will be executed. Failed MatchLoops on the extra passes through the loop will not effect when the MatchLoop exits.

This success mode setting is compiled into the pattern. Therefore, when compiling to cache, this setting must be specified at the time the pattern is compiled.

For more information on the PatternSites interface, see the PatternSites Overview.
For information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information about how the EdgePlacementResolution parameter is used, see Edge Placement Resolution.
For conditional loops, see Patterns.MatchLoop and Patterns.WatchLoop.

Defined Values

Name | Description
KTMDSR_VAL_PATTERN_SITE_CONDITIONAL_LOOP_SUCCESS_MODE_EXTRA_LOOP | Loop one or more additional times after a succesful MatchLoop.
KTMDSR_VAL_PATTERN_SITE_CONDITIONAL_LOOP_SUCCESS_MODE_NO_COMPARE | Exit at the end of the first successful loop if no Compares exist at the end of the Loop.
Top

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KTMDSR_ATTR_PATTERNSITE_EDGE_PLACEMENT_RESOLUTION Attribute

KTMDSR_ATTR_PATTERNSITE_EDGE_PLACEMENT_RESOLUTION Attribute
PatternSite See Also

Returns the edge placement resolution that was used when this pattern was activated. If EdgePlacementResolutionAuto was True at the time of activation, the return value is the value selected by the DSR.

Attribute Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Edge Placement Resolution
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERNSITE_EDGE_PLACEMENT_RESOLUTION 1150162

ViStatus KtMDsr_GetAttributeViReal64(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViReal64* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the PatternSite repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERNSITE_EDGE_PLACEMENT_RESOLUTION.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

EdgePlacementResolution sets the finest resolution available for various pattern timing parameters. This value can be set independently of the actual timing values, and the MDsr software will generally select the closest possible value that is consistent with the specified resolution.

Setting the EdgePlacementResolution too small limits the ability of the DSR to produce long durations; setting the EdgePlacementResolution too large limits the ability of the DSR to accurately represent times.

For more information on the PatternSites interface, see the PatternSites Overview.
For detailed information on selecting the EdgePlacementResolution and its impact on various DSR settings, see Edge Placement Resolution. In addition, the Edge Placement Resolution Optimizer is a useful tool (in the DSR Soft Front Panel: Tools > Edge Placement Resolution Optimizer).

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KTMDSR_ATTR_PATTERNSITE_EDGE_PLACEMENT_RESOLUTION_AUTO Attribute

KTMDSR_ATTR_PATTERNSITE_EDGE_PLACEMENT_RESOLUTION_AUTO Attribute
PatternSite See Also

Returns a Boolean that indicates whether this site was activated with EdgePlacementResolutionAuto.

Attribute Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Edge Placement Resolution Auto
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERNSITE_EDGE_PLACEMENT_RESOLUTION_AUTO 1150231

ViStatus KtMDsr_GetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the PatternSite repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERNSITE_EDGE_PLACEMENT_RESOLUTION_AUTO.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

For more information on the PatternSites interface, see the PatternSites Overview.
For detailed information on selecting the EdgePlacementResolution and its impact on various DSR settings, see Edge Placement Resolution. In addition, the Edge Placement Resolution Optimizer is a useful tool (in the DSR Soft Front Panel: Tools > Edge Placement Resolution Optimizer).

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KTMDSR_ATTR_PATTERNSITE_EXECUTION_RESULT Attribute

KTMDSR_ATTR_PATTERNSITE_EXECUTION_RESULT Attribute
PatternSite See Also

Gets a Boolean that indicates whether there are any results logged from the previous pattern execution. True indicates there are results.

Attribute Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Execution Result
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERNSITE_EXECUTION_RESULT 1150206

ViStatus KtMDsr_GetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the PatternSite repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERNSITE_EXECUTION_RESULT.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

ExecutionResult may be used to indicate whether a pattern has a failing compare when used with the WhatToLog property to log failing compares. In this configuration an ExecutionResult of true may be used to quickly identify a pattern execution that completed with failing compares. On the other hand, logging all compares cannot rely on ExecutionResult as a failing compare check mechanism.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KTMDSR_ATTR_PATTERNSITE_EXECUTION_STATE Attribute

KTMDSR_ATTR_PATTERNSITE_EXECUTION_STATE Attribute
PatternSite See Also

Returns the state of the pattern execution hardware. Possible values are Stopped, Running, WaitingForTrigger, Complete, Aborted, and Error.

Attribute Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Execution State
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERNSITE_EXECUTION_STATE 1150211

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the PatternSite repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERNSITE_EXECUTION_STATE.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

Possible values for ExecutionState are:

Value | Indicates
Stopped | The pattern has not yet been initiated.
Executing | The pattern is currently running.
WaitingForTriggger | The pattern is waiting for a trigger. This could be waiting for a trigger to begin execution, or waiting for a trigger in a WatchLoop.
Complete | The pattern has completed execution without error.
Aborted | The pattern execution was aborted by the user.
Error | An error occurred during pattern execution. (Check ExecutionErrors.)
WaitingForMatchLoop | The pattern is waiting for a MatchLoop.
WatchingForTrigger0 WatchingForTrigger1 WatchingForTrigger2 WatchingForTrigger3 WatchingForTrigger4 WatchingForTrigger5 | Six values of WatchingForTrigger; these correspond to Trigger0 - Trigger 5, defined in the Site.

ExecutionState may be used to poll the DSR to determine whether a pattern has completed execution.

Use WaitForAcquisitionComplete to stop the execution of a client program until the pattern finishes executing.

For more information on the PatternSites interface, see the PatternSites Overview.

Defined Values

Name | Description
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_EXECUTING | Pattern is currently running.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_STOPPED | Pattern has not yet been Initiated.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WAITING_FOR_INITIATE_TRIGGER | Pattern has been Initiated and is waiting for appropriate trigger.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_COMPLETE | Pattern has reached the end of execution
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_ABORTED | Pattern has been Aborted by user.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_ERROR | Error occured during PatternExecution. Check ExecutionErrors.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WAITING_FOR_MATCH_LOOP | Waiting for a successful MatchLoop
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER0 | Watching for Trigger0 in a WatchLoop.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER1 | Watching for Trigger1 in a WatchLoop.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER2 | Watching for Trigger2 in a WatchLoop.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER3 | Watching for Trigger3 in a WatchLoop.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER4 | Watching for Trigger4 in a WatchLoop.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER5 | Watching for Trigger5 in a WatchLoop.
Top

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteFetchLineInformation Function

KtMDsr_PatternSiteFetchLineInformation Function
PatternSite See Also

Gets the information associated with the specified index in the result array.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Fetch Line Information
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteFetchLineInformation(
    ViSession Vi,
    ViConstString PatternSite,
    ViReal64* Time,
    ViInt32* VectorNumber,
    ViInt32* PatternIndex,
    ViInt32 Index,
    ViInt32 CrossReferenceBufferSize,
    ViChar[] CrossReference,
    ViInt32* CrossReferenceOffset,
    ViInt32 PatternBufferSize,
    ViChar[] Pattern
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL if the operation does not apply to a repeated capability. You can also pass VI_NULL if the device only has a single patternsite.For valid values, see the PatternSite repeated capability.

Time

The number of seconds elapsed since the pattern began executing and the compare operation that produced the result at the specified index.

VectorNumber

The vector offset within the pattern that produced the result at the specified index. This is determined as the difference between the current vector corresponding to the result element and the first vector in the pattern definition.

PatternIndex

The offset within the pattern that produced the result at the specified index, determined as the difference between the pattern index of the vector corresponding to the result element and the pattern index of the first line in the pattern definition.

Index

Index in the result array being queried.

CrossReferenceBufferSize

Number of elements in CrossReference.

CrossReference

The most recent CrossReference executed prior to the result at the specifed index.

CrossReferenceOffset

The number of vectors executed since the most recent cross reference. This is determined as the difference between the pattern index of the vector corresponding to the result element and the pattern index of the line tagged with the cross reference.

PatternBufferSize

Number of elements in Pattern.

Pattern

The pattern that produced the result at the specified index.

Return Value

Success or failure code.

Remarks

This query is used to correlate the data in the result to the location in the pattern that produced this result.

The input to this function is the Index of a specific result in the result array.

The provided line information is independent of the type of fetch function called.

If fetch segment operations are used, the index in the response is offset by the specified Offset.

The outputs from this function (in the table below) provide information about the result.

Parameter | Contains
Pattern The specific pattern that generated the result (since the compiled pattern may be produced from a PatternBurst).

If the result line was from the expansion of a macro, the name of the invoking pattern and its line number precedes the macro name using the syntax: <pattern>(<line number>):<macro name>
PatternIndex The PatternIndex of the line that generated the response.
  • Patterns defined with OpenXML, BulkData, or the API include a pattern index that tags each line in the pattern definition.
  • Patterns defined in STIL have a PatternIndex automatically generated for them. The first line of the pattern is PatternIndex 0, and subsequent lines are numbered incrementally.
CrossReference The CrossReference is a tag explicitly inserted into the pattern definition to facilitate correlating response data to the pattern input.

If no CrossReferences have been executed, this parameter returns a null string.
VectorNumber | The vector offset within the pattern that produced the result at the specified index. This is determined as the difference between the current vector corresponding to the result element and the first vector in the pattern definition.
Time | The time, in seconds, from the beginning of pattern execution to the compare operation that logged the result.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteFetchResultByte Function

KtMDsr_PatternSiteFetchResultByte Function
PatternSite See Also

Gets an array of results and returns them as bytes. The FetchResultByte function works for sites where all ordinals are less than 8 (0-7).

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Fetch Result Byte
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteFetchResultByte(
    ViSession Vi,
    ViConstString PatternSite,
    ViInt32 ValBufferSize,
    ViByte[] Val,
    ViInt32* ValActualSize
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL if the operation does not apply to a repeated capability. You can also pass VI_NULL if the device only has a single patternsite.For valid values, see the PatternSite repeated capability.

ValBufferSize

Expected number of Results

Val

Result data from the pattern execution.

ValActualSize

Actual number of Results

Return Value

Success or failure code.

Remarks

The site ordinals define which bit specific signals of the pattern occupy in the result.

If an ordinal is 8 or higher, this function generates an error.

Bits in the result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT input (Direction is In) are 0.

The result may contain all compares, only compares with failures, or the first failure, based on the setting of the WhatToLog attribute.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteFetchResultInt16 Function

KtMDsr_PatternSiteFetchResultInt16 Function
PatternSite See Also

Gets results in an array of 16-bit integers. The FetchResultInt16 function works for sites with ordinals less than 16 (0-15).

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Fetch Result Int16
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteFetchResultInt16(
    ViSession Vi,
    ViConstString PatternSite,
    ViInt32 ValBufferSize,
    ViInt16[] Val,
    ViInt32* ValActualSize
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL if the operation does not apply to a repeated capability. You can also pass VI_NULL if the device only has a single patternsite.For valid values, see the PatternSite repeated capability.

ValBufferSize

Expected number of Results

Val

Result data from the pattern execution.

ValActualSize

Actual number of Results

Return Value

Success or failure code.

Remarks

The site ordinals define which bit specific signals of the pattern occupy in the result.

If an ordinal is 16 or higher, this function generates an error.

Bits in the result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT input (Direction is In) are 0.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteFetchResultSegmentByte Function

KtMDsr_PatternSiteFetchResultSegmentByte Function
PatternSite See Also

Gets the specified segment of the result as an array of bytes. The FetchResultSegmentByte function works for sites with ordinals less than 8 (0-7).

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Fetch Result Segment Byte
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteFetchResultSegmentByte(
    ViSession Vi,
    ViConstString PatternSite,
    ViInt32 Offset,
    ViInt32 Count,
    ViInt32 ValBufferSize,
    ViByte[] Val,
    ViInt32* ValActualSize
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL if the operation does not apply to a repeated capability. You can also pass VI_NULL if the device only has a single patternsite.For valid values, see the PatternSite repeated capability.

Offset

The offset of the first element returned within the segment.

Count

The number of elements to return in the segment.

ValBufferSize

Expected number of Results

Val

Result data from the pattern execution.

ValActualSize

Actual number of Results

Return Value

Success or failure code.

Remarks

The site ordinals define which bit specific signals of the pattern occupy in the result.

If an ordinal is 8 or higher, this function generates an error.

Bits in the result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT input (Direction is In) are 0.

Result may contain all compares, only compares with failures, or the first failure, based on the setting of the WhatToLog attribute.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteFetchResultSegmentInt16 Function

KtMDsr_PatternSiteFetchResultSegmentInt16 Function
PatternSite See Also

Returns the specified segment of the results as an array of 16-bit integers. The FetchResultSegmentInt16 function works for sites with ordinals less than 16 (0-15).

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Fetch Result Segment Int16
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteFetchResultSegmentInt16(
    ViSession Vi,
    ViConstString PatternSite,
    ViInt32 Offset,
    ViInt32 Count,
    ViInt32 ValBufferSize,
    ViInt16[] Val,
    ViInt32* ValActualSize
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL if the operation does not apply to a repeated capability. You can also pass VI_NULL if the device only has a single patternsite.For valid values, see the PatternSite repeated capability.

Offset

The offset of the first element returned within the segment.

Count

The number of elements to return in the segment.

ValBufferSize

Expected number of Results

Val

Result data from the pattern execution.

ValActualSize

Actual number of Results

Return Value

Success or failure code.

Remarks

The site ordinals define which bit specific signals of the pattern occupy in the result.

If an ordinal is 16 or higher, this function generates an error.

Bits in the result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT input (Direction is In) are 0.

Result may contain all compares, only compares with failures, or the first failure, based on the setting of the WhatToLog attribute.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteFetchTrinaryResult Function

KtMDsr_PatternSiteFetchTrinaryResult Function
PatternSite See Also

Returns an array of captured results. The 32 bits for each element contain two bits for each ordinal (0 - 15); this indicates the actual state of the DUT response on logged compares.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Fetch Trinary Result
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteFetchTrinaryResult(
    ViSession Vi,
    ViConstString PatternSite,
    ViInt32 ValBufferSize,
    ViInt32[] Val,
    ViInt32* ValActualSize
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PatternSite repeated capability.

ValBufferSize

Expected number of Results

Val

Result data from the pattern execution.

ValActualSize

Actual number of Results

Return Value

Success or failure code.

Remarks

The ordinal is multiplied by 2, so that two bits are available for each signal/pin. The bit values are mapped as follows:

Value | Indicates
00 | No Compare or No failure
01 | Failed Low
02 | Failed, electrical state between high and low
03 | Failed High

Result may contain all compares, only compares with failures, or the first failure, based on the setting of the WhatToLog attribute.

If an ordinal is 16 or higher, this function generates an error.

Bits in the result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT input (Direction is In) are 0.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteFetchTrinaryResultSegment Function

KtMDsr_PatternSiteFetchTrinaryResultSegment Function
PatternSite See Also

Returns an array of captured results. The 32 bits for each element contain two bits for each ordinal (0 - 15); this indicates the actual state of the DUT response on logged compares.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Fetch Trinary Result Segment
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteFetchTrinaryResultSegment(
    ViSession Vi,
    ViConstString PatternSite,
    ViInt32 Offset,
    ViInt32 Count,
    ViInt32 ValBufferSize,
    ViInt32[] Val,
    ViInt32* ValActualSize
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PatternSite repeated capability.

Offset

The offset of the first element returned within the segment.

Count

The number of elements to return in the segment.

ValBufferSize

Expected number of Results

Val

Result data from the pattern execution.

ValActualSize

Actual number of Results

Return Value

Success or failure code.

Remarks

The ordinal is multiplied by 2, so that two bits are available for each signal/pin. The bit values are mapped as follows:
Value | Indicates
00 | No Compare or No failure
01 | Failed Low
02 | Failed, electrical state between high and low
03 | Failed High

Result may contain all compares, only compares with failures, or the first failure, based on the setting of the WhatToLog attribute.

If an ordinal is 16 or higher, this function generates an error.

Bits in the result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT input (Direction is In) are 0.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KTMDSR_ATTR_PATTERNSITE_FORCE_VALIDATE_ENABLE Attribute

KTMDSR_ATTR_PATTERNSITE_FORCE_VALIDATE_ENABLE Attribute
PatternSite See Also

If true, any WaveformTables compiled will perform force validation by adding a compare operation to validate a successful force on the last cycle of operations that include force operations.

Attribute Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Force Validate Enable
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERNSITE_FORCE_VALIDATE_ENABLE 1150204

ViStatus KtMDsr_GetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean* AttributeValue
);

ViStatus KtMDsr_SetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERNSITE_FORCE_VALIDATE_ENABLE.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

Force validation uses the DSR hardware to verify that forced outputs reach their designated level within the waveform period.

Force validation requires that the DcLevels defined for the pattern satisfactorily measure the forced signal. That is, if the the response thresholds (set with Vol, Voh) need to be set so that a properly settled stimulus (based on Vil and Vih) can be used to verify the levels.

Force validation works by introducing a compare operation into waveform characters that:

  • Are defined on InOut Signals
  • Have no defined compare operations
  • Have atleast two times the edge placement resolution between driving the output and the end of the cycle.

ForceValidate can be useful even if certain waveform characters within the pattern do not do the force validation.

ForceValidate can be disabled on a particular waveform character by specifying a CompareUnknown anywhere within the period.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteGetEdgePlacementResolution Function

KtMDsr_PatternSiteGetEdgePlacementResolution Function
PatternSite See Also

Returns the edge placement resolution that was used when this pattern was activated. If EdgePlacementResolutionAuto was True at the time of activation, the return value is the value selected by the DSR.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Get Edge Placement Resolution
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteGetEdgePlacementResolution(
    ViSession Vi,
    ViConstString PatternSite,
    ViReal64* EdgePlacementResolution
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PatternSite repeated capability.

EdgePlacementResolution

Returns the EdgePlacementResolution that this pattern was activated with.

Return Value

Success or failure code.

Remarks

EdgePlacementResolution sets the finest resolution available for various pattern timing parameters. This value can be set independently of the actual timing values, and the MDsr software will generally select the closest possible value that is consistent with the specified resolution.

Setting the EdgePlacementResolution too small limits the ability of the DSR to produce long durations; setting the EdgePlacementResolution too large limits the ability of the DSR to accurately represent times.

For more information on the PatternSites interface, see the PatternSites Overview.
For detailed information on selecting the EdgePlacementResolution and its impact on various DSR settings, see Edge Placement Resolution. In addition, the Edge Placement Resolution Optimizer is a useful tool (in the DSR Soft Front Panel: Tools > Edge Placement Resolution Optimizer).

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteGetEdgePlacementResolutionAuto Function

KtMDsr_PatternSiteGetEdgePlacementResolutionAuto Function
PatternSite See Also

Returns a Boolean that indicates whether this site was activated with EdgePlacementResolutionAuto.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Get Edge Placement Resolution Auto
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteGetEdgePlacementResolutionAuto(
    ViSession Vi,
    ViConstString PatternSite,
    ViBoolean* EdgePlacementResolutionAuto
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PatternSite repeated capability.

EdgePlacementResolutionAuto

If true EdgePlacementResolutionAuto was used to Activate the PatternSite.

Return Value

Success or failure code.

Remarks

For more information on the PatternSites interface, see the PatternSites Overview.
For detailed information on selecting the EdgePlacementResolution and its impact on various DSR settings, see Edge Placement Resolution. In addition, the Edge Placement Resolution Optimizer is a useful tool (in the DSR Soft Front Panel: Tools > Edge Placement Resolution Optimizer).

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteGetExecutionErrors Function

KtMDsr_PatternSiteGetExecutionErrors Function
PatternSite See Also

Gets a comma-separated string containing errors that occurred during pattern execution. This should be consulted if the ExecutionResult returns an error.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Get Execution Errors
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteGetExecutionErrors(
    ViSession Vi,
    ViConstString PatternSite,
    ViInt32 TerminationTypeBufferSize,
    ViChar[] TerminationType
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PatternSite repeated capability.

TerminationTypeBufferSize

Number of elements in TerminationType.

TerminationType

Comma-separated list of Errors

Return Value

Success or failure code.

Remarks

The ExecutionErrors string indicates whether errors occurred during pattern execution. It is cleared by Initiate and updated to reflect any errors that occurred during pattern execution. If one or more errors occured during pattern execution, the string contains a comma-separated list of errors.

Error | Indicates
Reference Unlocked | The reference clock PLL was unlocked at some point between Initiate and the completion of pattern execution.
Pattern Error | The hardware detected an error at some point during pattern execution. This will occur if the pattern generation hardware is unable to produce the pattern, for instance, if loops in the pattern exceed required lengths.
Conditional Loop Count Exceeded | MatchLoop or WatchLoop exceeded the specified LoopCount parameter.
Overheated | The drivers in the pin electronics overheated during pattern execution.
None | No error

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteGetExecutionResult Function

KtMDsr_PatternSiteGetExecutionResult Function
PatternSite See Also

Gets a Boolean that indicates whether there are any results logged from the previous pattern execution. True indicates there are results.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Get Execution Result
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteGetExecutionResult(
    ViSession Vi,
    ViConstString PatternSite,
    ViBoolean* Failed
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL if the operation does not apply to a repeated capability. You can also pass VI_NULL if the device only has a single patternsite.For valid values, see the PatternSite repeated capability.

Failed

If True at least 1 failure was logged.

Return Value

Success or failure code.

Remarks

ExecutionResult may be used to indicate whether a pattern has a failing compare when used with the WhatToLog property to log failing compares. In this configuration an ExecutionResult of true may be used to quickly identify a pattern execution that completed with failing compares. On the other hand, logging all compares cannot rely on ExecutionResult as a failing compare check mechanism.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteGetExecutionState Function

KtMDsr_PatternSiteGetExecutionState Function
PatternSite See Also

Returns the state of the pattern execution hardware. Possible values are Stopped, Running, WaitingForTrigger, Complete, Aborted, and Error.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Get Execution State
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteGetExecutionState(
    ViSession Vi,
    ViConstString PatternSite,
    ViInt32* SequencerState
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL if the operation does not apply to a repeated capability. You can also pass VI_NULL if the device only has a single patternsite.For valid values, see the PatternSite repeated capability.

SequencerState

Read the sequencer state

Return Value

Success or failure code.

Remarks

Possible values for ExecutionState are:

Value | Indicates
Stopped | The pattern has not yet been initiated.
Executing | The pattern is currently running.
WaitingForTriggger | The pattern is waiting for a trigger. This could be waiting for a trigger to begin execution, or waiting for a trigger in a WatchLoop.
Complete | The pattern has completed execution without error.
Aborted | The pattern execution was aborted by the user.
Error | An error occurred during pattern execution. (Check ExecutionErrors.)
WaitingForMatchLoop | The pattern is waiting for a MatchLoop.
WatchingForTrigger0 WatchingForTrigger1 WatchingForTrigger2 WatchingForTrigger3 WatchingForTrigger4 WatchingForTrigger5 | Six values of WatchingForTrigger; these correspond to Trigger0 - Trigger 5, defined in the Site.

ExecutionState may be used to poll the DSR to determine whether a pattern has completed execution.

Use WaitForAcquisitionComplete to stop the execution of a client program until the pattern finishes executing.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

Defined Values For Parameter SequencerState

Name | Description
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_EXECUTING | Pattern is currently running.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_STOPPED | Pattern has not yet been Initiated.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WAITING_FOR_INITIATE_TRIGGER | Pattern has been Initiated and is waiting for appropriate trigger.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_COMPLETE | Pattern has reached the end of execution
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_ABORTED | Pattern has been Aborted by user.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_ERROR | Error occured during PatternExecution. Check ExecutionErrors.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WAITING_FOR_MATCH_LOOP | Waiting for a successful MatchLoop
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER0 | Watching for Trigger0 in a WatchLoop.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER1 | Watching for Trigger1 in a WatchLoop.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER2 | Watching for Trigger2 in a WatchLoop.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER3 | Watching for Trigger3 in a WatchLoop.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER4 | Watching for Trigger4 in a WatchLoop.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER5 | Watching for Trigger5 in a WatchLoop.
Top

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteGetResultCount Function

KtMDsr_PatternSiteGetResultCount Function
PatternSite See Also

Gets the number of elements in the result from the last pattern execution.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Get Result Count
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteGetResultCount(
    ViSession Vi,
    ViConstString PatternSite,
    ViInt32* ResultSize
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PatternSite repeated capability.

ResultSize

Gets the number of results logged from last execution.

Return Value

Success or failure code.

Remarks

ResultCount returns the number of elements in the result, regardless of how they were logged.

Any single element of the results may be retrieved with FetchResultSegment.

The WhatToLog setting specifies the results that are logged.

For more information on WhatToLog, see PatternSite WhatToLog.
For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteGetResultWidth Function

KtMDsr_PatternSiteGetResultWidth Function
PatternSite See Also

Gets the width of the result, that is, the number of bits in each element of the response. The result width is established by the highest ordinal assigned to a response signal in the site definition.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Get Result Width
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteGetResultWidth(
    ViSession Vi,
    ViConstString PatternSite,
    ViInt32* ResultWidth
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PatternSite repeated capability.

ResultWidth

The number of bits in each element of the response.

Return Value

Success or failure code.

Remarks

To determine the number of elements in the response, use PatternSite ResultCount.
For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteInitiate Function

KtMDsr_PatternSiteInitiate Function
PatternSite See Also

Begin the execution of the pattern. If Trigger Mode is set to Immediate, the pattern will begin executing immediately. If Trigger Mode is set to Trigger, the hardware will fully initialize, then it will wait for a trigger event before proceeding.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Initiate
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteInitiate(
    ViSession Vi,
    ViConstString PatternSite
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PatternSite repeated capability.

Return Value

Success or failure code.

Remarks

For general information about working with patterns, including the sequence of operations from activation through execution, see the PatternSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteReevaluateVariables Function

KtMDsr_PatternSiteReevaluateVariables Function
PatternSite See Also

Takes a list of variable expressions separated by semicolons (;), evaluates them, and then recalculates the values in the WaveformTables based on the new values of the variables.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Reevaluate Variables
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteReevaluateVariables(
    ViSession Vi,
    ViConstString PatternSite,
    ViConstString VariableExpressions
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PatternSite repeated capability.

VariableExpressions

String to evaluate, resulting in new variable values, and new values in WaveFormTables. Multiple variable assignments may be made by inserting semicolons between individual assignments.

Return Value

Success or failure code.

Remarks

ReevaluateVariables provides a way to modify the waveform table times compiled in a pattern. This is especially useful for shmoo testing, which is testing where the same pattern needs to be executed repeatedly while adjusting the timing, the DcLevels settings, or both.

To use ReevaluateVariables, the pattern must be defined in STIL or OpenXML. When defined in STIL or OpenXML, the waveform timing may be defined with a string that is re-evaluated by ReevaluateVariables. By using variables in the string that defines an edge or period, the value can be changed by simply changing the value of the variable.

For instance, if the STIL file defined a waveform table like this:

WaveformTable TableName {
    Period '50ns+shmoo*10ns';
    Waveforms {
        AllSignals { 01 { '0ns+shmoo*1ns' D/U; }}
    }
}

The STIL Spec block can be used to declare and initialize variables.

Then a program similar to this, could be used to determine errors as a function of the shmoo control variable:

       var Site = Driver.PatternSites.Item["MySite"];
for (var shmoo=0,shmoo <=1; shmoo +=0.01) {
Site.ReevaluateVariables("shmoo=" + shmoo.ToString());
Site.PatternSites.Item["MySite"].Initiate();
Site.WaitForAcquisitionComplete();
Console.WriteLine("Pattern failed: {0}
       times with shmoo={1}%",
Site.ResultSize,
shmoo*100);
}

The variables are associated with this pattern site, and remain in place until the pattern is inactivated. Multiple variables can be used in the evaluation. The default value of all variables is 0; however, they may be initialized in the pattern source. This can be done by providing a variable assignment as part of any string that is part of the pattern definition. For instance, the following initializes shmoo to 1:

WaveformTable TableName {
    Period 'shmoo=1; 100ns'{
    ...

Levels in DC levels tables may also be defined in terms of strings to defer evaluation. In tests where it is necessary to adjust both amplitude and timing values, the same control variable can be used in the calculation of both values. For instance, the control variable could represent the percentage deviation from the nominal value. Since the variables for the waveform table evaluation and DC level calculations are in the same namespace, the control variable needs to be defined only once for both operations. See ReevaluateDcLevels for details on that function.

Note that the same expression evaluator is used for DcLevels and WaveformTables; a single control variable can be used to adjust both timing and amplitude; however, both reevaluate functions must be called. The second reevaluate function called can pass a null string if no other variables need to be evaluated.

For more information on the PatternSites interface, see the PatternSites Overview.
For more information on expression evaluation, see Numeric Expressions.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteReevaluateDcLevels Function

KtMDsr_PatternSiteReevaluateDcLevels Function
PatternSite See Also

Takes a list of variable expressions separated by semicolons (;), evaluates them, and then recalculates the DcLevels values based on the new values of the variables.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite ReevaluateDcLevels
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteReevaluateDcLevels(
    ViSession Vi,
    ViConstString PatternSite,
    ViConstString VariableExpressions
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PatternSite repeated capability.

VariableExpressions

String to evaluate, resulting in new variable values, and new calculations for DcLevels. Multiple variable assignments may be made by inserting semicolons between individual assignments.

Return Value

Success or failure code.

Remarks

ReevaluateDcLevels provides a way to modify the DcLevels in a compiled pattern. This is especially useful for shmoo testing, which is testing where the same pattern needs to execute repeatedly while adjusting the timing, DcLevels settings, or both.

To use ReevaluateDcLevels, the pattern must be defined in STIL or OpenXML. When defined in STIL or OpenXML, the DcLevels may be defined with a string that is re-evaluated by ReevaluateDcLevels. By using variables in the string that defines a DcLevel, the value can be changed by simply changing the value of the variable.

For instance, if the STIL file defined a DC Level like this:

DCLevels DcLevelName {
    AllSignals { VIH '3+Overdrive'; VIL '0-Overdrive';}
}

Then a program similar to this could be used to determine errors as a function of increasing overdrive to the DUT:

       var Site = Driver.PatternSites.Item["MySite"];
for (var Overdrive=0,Overdrive>=1; Overdrive +=0.1) {
Site.ReevaluateDcLevels("Overdrive=" + Overdrive.ToString());
Site.PatternSites.Item["MySite"].Initiate();
Site.WaitForAcquisitionComplete();
Console.WriteLine("Pattern failed: {0}
       times with overdrive={1}V",
Site.ResultSize,
Overdrive);
}

The variables are associated with this pattern site, and remain in place until the pattern is inactivated. Multiple variables can be used in the evaluation. The default value of all variables is 0; however, they may be initialized in the pattern source. This can be done by providing a variable assignment as part of any string that is part of the pattern definition. For instance, the following initializes Overdrive to 1:

DCLevels DcLevelName {
    Ann {* ANN #8 *}{
    AllSignals { VIH 'Overdrive=1; 3+Overdrive'; VIL '0-Overdrive';}{
}

Timings in waveform tables may also be defined in terms of strings to defer evaluation. In tests where it is necessary to adjust both amplitude and timing values, the same control variable can be used in the calculation of both values. For instance, the control variable could represent the percentage deviation from the nominal value. Since the variables for the waveform table evaluation and DC level calculations are in the same namespace, the control variable needs to be defined only once for both operations. See ReevaluateVariables for details on that function.

Note that the same expression evaluator is used for DcLevels and WaveformTables, so a single control variable can be used to adjust both timing and amplitude, but both reevaluate functions must be called. The second reevaluate function called can pass a null string if no other variables need to be evaluated.

For more information on the PatternSites interface, see the PatternSites Overview.
For more information on expression evaluation, see Numeric Expressions.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KTMDSR_ATTR_PATTERNSITE_RESULT_COUNT Attribute

KTMDSR_ATTR_PATTERNSITE_RESULT_COUNT Attribute
PatternSite See Also

Gets the number of elements in the result from the last pattern execution.

Attribute Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Result Count
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERNSITE_RESULT_COUNT 1150208

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the PatternSite repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERNSITE_RESULT_COUNT.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

ResultCount returns the number of elements in the result, regardless of how they were logged.

Any single element of the results may be retrieved with FetchResultSegment.

The WhatToLog setting specifies the results that are logged.

For more information on WhatToLog, see PatternSite WhatToLog.
For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KTMDSR_ATTR_PATTERNSITE_RESULT_WIDTH Attribute

KTMDSR_ATTR_PATTERNSITE_RESULT_WIDTH Attribute
PatternSite See Also

Gets the width of the result, that is, the number of bits in each element of the response. The result width is established by the highest ordinal assigned to a response signal in the site definition.

Attribute Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Result Width
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERNSITE_RESULT_WIDTH 1150209

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the PatternSite repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERNSITE_RESULT_WIDTH.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

To determine the number of elements in the response, use PatternSite ResultCount.
For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteSaveResultsToFile Function

KtMDsr_PatternSiteSaveResultsToFile Function
PatternSite See Also

Saves the results and all of the line information, as text, to the specified file. The individual elements are comma-separated.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Save Results To File
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteSaveResultsToFile(
    ViSession Vi,
    ViConstString PatternSite,
    ViConstString Filename
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PatternSite repeated capability.

Filename

Name of file including filepath.

Return Value

Success or failure code.

Remarks

The result and all of the line information is stored to the specified file as text. Each line of the file has the following syntax:

<Result><PatternName><PatternIndex><CrossReference><IndexSinceCrossReference><VectorNumber><Time>
Field position | Field | Meaning
0 | Result | The numeric value of the result, in decimal. This is the value returned by the various Fetch functions.
1 Pattern Name This is the pattern that contained the compare that produced the result.

If the pattern includes a macro expansion, the name of the macro and the line number where the macro was invoked in the pattern is included in this field using the following syntax:

     <calling pattern>[<calling pattern index>]:<macro name>

For example,

     MyPattern[3]:Macro1

The subsequent information describes the pattern index (and cross reference, if it exists) within the macro.

2 Pattern Index This indicates the pattern index in the pattern (or macro) that contained the vector that produced the result.

For patterns created with IVI or OpenXML, the pattern Index is in the pattern definition.

For patterns created with STIL, or if the pattern index was not included in an OpenXML file, the pattern index is the 0-based count of the vector within the pattern. That is, the first vector is 0, the second is 1 et cetera. Control statements are also assigned a pattern index. The control statements are:

Loop
WatchLoop
MatchLoop
Goto
Stop
3 | Cross Reference (XREF) | Name of most recent cross reference.
4 | Index Since Cross Reference | The offset since the most recent cross reference in the most recently executed vector.
5 | Vector Number | This is the 0-based count of vectors executed from the beginning of the pattern until the vector that produced this result.
6 | Time | The time from the beginning of the pattern execution until this result.

Labels and cross references are not assigned a pattern index. They both apply a label the following vector statement.

The format parallels the result format displayed by the SFP.
For more information on cross references, see Pattern CrossReference.
For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteSetConditionalLoopFailureMode Function

KtMDsr_PatternSiteSetConditionalLoopFailureMode Function
PatternSite See Also

Match loops and watch loops include a loop counter which, if expired, indicates that the loop has failed. This attribute selects what will happen when the loop counter expires (either stop execution or exit the loop and continue).

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Set Conditional Loop Failure Mode
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteSetConditionalLoopFailureMode(
    ViSession Vi,
    ViInt32 ConditionalLoopFailureMode
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

ConditionalLoopFailureMode

Match loops and watch loops include a loop counter which, if expired, indicates that the loop has failed. This attribute selects what will happen when the loop counter expires (either stop execution or exit the loop and continue).

Return Value

Success or failure code.

Remarks

The following behaviors are supported on a MatchLoop or WatchLoop count reaching 0 (that is, the counter expiring) without the condition being satisfied:

ContinueOnFail | When the count is satisfied, the loop exits as if the match or watch condition had been satisfied.
StopOnFail | When the count is satisfied, pattern execution terminates (default).

This failure mode setting is compiled into the pattern. Therefore, when compiling to cache, this setting must be specified at the time the pattern is compiled.

For more information on the PatternSites interface, see the PatternSites Overview.
For information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information about how the EdgePlacementResolution parameter is used, see Edge Placement Resolution.
For conditional loops, see Patterns.MatchLoop and Patterns.WatchLoop.

Requirements

Supported Models

All supported

Defined Values For Parameter ConditionalLoopFailureMode

Name | Description
KTMDSR_VAL_PATTERNSITE_MATCH_LOOP_FAILURE_MODE_STOP_ON_FAIL | Stop Execution if LoopCount exceeded.
KTMDSR_VAL_PATTERNSITE_MATCH_LOOP_FAILURE_MODE_CONTINUE_ON_FAIL | Continue Execution if LoopCount is exceeded.
Top

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteSetConditionalLoopSuccessMode Function

KtMDsr_PatternSiteSetConditionalLoopSuccessMode Function
PatternSite See Also

Configures if the DSR will execute a MatchLoop or WatchLoop at least one extra time after a successful loop, or if the loop will require no compares in the final few vectors of the loop.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Set Conditional Loop Success Mode
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteSetConditionalLoopSuccessMode(
    ViSession Vi,
    ViInt32 ConditionalLoopSuccessMode
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

ConditionalLoopSuccessMode

Configures if the DSR will execute a MatchLoop or WatchLoop at least one extra time after a successful loop, or if the loop will require no compares in the final few vectors of the loop.

Return Value

Success or failure code.

Remarks

The DSR supports two different behaviors for successfully exiting MatchLoops.

As described in Patterns.MatchLoop, it takes several edge placement resolution times for the MatchLoop success to be determined. Once that success has been determined, the sequencer can optionally perform an additional loop before exiting.

NoCompare | The loop exits at the end of the first successful pass through the Matchloop. If there are compares too close to the end of the loop the MatchLoop will exit after the first pass through the loop.
ExtraLoop | Once the MatchLoop succeeds, one or more additional passes through the loop will be executed. Failed MatchLoops on the extra passes through the loop will not effect when the MatchLoop exits.

This success mode setting is compiled into the pattern. Therefore, when compiling to cache, this setting must be specified at the time the pattern is compiled.

For more information on the PatternSites interface, see the PatternSites Overview.
For information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information about how the EdgePlacementResolution parameter is used, see Edge Placement Resolution.
For conditional loops, see Patterns.MatchLoop and Patterns.WatchLoop.

Requirements

Supported Models

All supported

Defined Values For Parameter ConditionalLoopSuccessMode

Name | Description
KTMDSR_VAL_PATTERN_SITE_CONDITIONAL_LOOP_SUCCESS_MODE_EXTRA_LOOP | Loop one or more additional times after a succesful MatchLoop.
KTMDSR_VAL_PATTERN_SITE_CONDITIONAL_LOOP_SUCCESS_MODE_NO_COMPARE | Exit at the end of the first successful loop if no Compares exist at the end of the Loop.
Top

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteSetDcLevel Function

KtMDsr_PatternSiteSetDcLevel Function
PatternSite See Also

Specifies a single DC level to apply on the given signal within this pattern. SetDcLevel cannot be called while the pattern is executing.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Set DcLevel
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteSetDcLevel(
    ViSession Vi,
    ViConstString PatternSite,
    ViConstString SignalExpression,
    ViInt32 DcLevelToSet,
    ViReal64 Level
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PatternSite repeated capability.

SignalExpression

Signals to which to apply the new DcLevel

DcLevelToSet

Which DcLevel to change, that is, which of the DC settings will be changed. The termination mode may not be changed. Only active values may be adjusted.

Level

New value of DcLevel

Return Value

Success or failure code.

Remarks

SetDcLevel is useful for shmoo testing, or other applications where a single amplitude value needs to be adjusted after a pattern has been compiled.

The level is updated when this function is called; however, if no outputs are currently using this DcLevel, it will not be apparent.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

Defined Values For Parameter DcLevelToSet

Name | Description
KTMDSR_VAL_DCLEVEL_IOH | This is the current output by the active load when the input voltage is over the commutation voltage (VCOM). It is used with IOL and VCOM to configure the active load.
KTMDSR_VAL_DCLEVEL_IOL | This is the current output by the active load when the input voltage is under the commutation voltage (VCOM). It is used with IOH and VCOM to configure the active load.
KTMDSR_VAL_DCLEVEL_VIT | Module sourced termination voltage for 50 Ohm input termination. Setting this to a value other than NaN turns on the 50 Ohm load.
KTMDSR_VAL_DCLEVEL_VCOM | This is the active load commutation voltage, the voltage at which the load switches from sinking current to sourcing current. It is used with IOH and IOL to configure the active load.
KTMDSR_VAL_DCLEVEL_VHH | Voltage forced by the DSR on the high voltage pin when high voltage is active.
KTMDSR_VAL_DCLEVEL_VIH | DUT high voltage input. This is the voltage produced by the DSR for a 1.
KTMDSR_VAL_DCLEVEL_VIL | DUT low voltage input. This is the voltage produced by the DSR for a 0.
KTMDSR_VAL_DCLEVEL_VOH | DUT output high threshold.
KTMDSR_VAL_DCLEVEL_VOL | DUT output low threshold.
KTMDSR_VAL_DCLEVEL_VHYST | Hysteresis applied to the DUT output. This is the peak-to-peak hysteresis voltage. Inputs are coerced to 0, 50 mV or 100 mV.
Top

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteSetForceValidateEnable Function

KtMDsr_PatternSiteSetForceValidateEnable Function
PatternSite See Also

If true, any WaveformTables compiled will perform force validation by adding a compare operation to validate a successful force on the last cycle of operations that include force operations.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Set Force Validate Enable
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteSetForceValidateEnable(
    ViSession Vi,
    ViBoolean ForceValidate
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

ForceValidate

If true, the waveform characters defined in this waveform will automatically have force validation added to them.Force validation is only applied to waveform characters that:? The second or only stimulus operation is U or D? That have atleast (tbd) seconds between the stimulus operation and the final cycle of the period (note that the final cycle of the period is determined by the TimingResolution).Waveform characters that have these characteristics will have a compare operation incorporated in the final cycle of the waveform that verifies the force operation (H for U and L for D)To disable the Force Validate on a waveform by waveform basis, specify a CompareUnknown (X) waveform event in the waveform.

Return Value

Success or failure code.

Remarks

Force validation uses the DSR hardware to verify that forced outputs reach their designated level within the waveform period.

Force validation requires that the DcLevels defined for the pattern satisfactorily measure the forced signal. That is, if the the response thresholds (set with Vol, Voh) need to be set so that a properly settled stimulus (based on Vil and Vih) can be used to verify the levels.

Force validation works by introducing a compare operation into waveform characters that:

  • Are defined on InOut Signals
  • Have no defined compare operations
  • Have atleast two times the edge placement resolution between driving the output and the end of the cycle.

ForceValidate can be useful even if certain waveform characters within the pattern do not do the force validation.

ForceValidate can be disabled on a particular waveform character by specifying a CompareUnknown anywhere within the period.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteSetSignal Function

KtMDsr_PatternSiteSetSignal Function
PatternSite See Also

Changes a single signal over a series of clock periods in the compiled waveform. That is, it writes the characters of the provided string into the designated signal in subsequent vectors.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Set Signal
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteSetSignal(
    ViSession Vi,
    ViConstString PatternSite,
    ViConstString Pattern,
    ViConstString Label,
    ViInt32 LabelOffset,
    ViConstString Signal,
    ViConstString WaveformCharacters
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL if the operation does not apply to a repeated capability. You can also pass VI_NULL if the device only has a single patternsite.For valid values, see the PatternSite repeated capability.

Pattern

Pattern to modify

Label

Label within the pattern where the first change will be applied. This defines offset 0.

LabelOffset

PatternIndex offset from the label to modify. Must be within the same block of vectors, that is, within the same group of vectors enclosed in braces in STIL.

Signal

Name of signal to change

WaveformCharacters

Waveform characters to write into the pattern. Successive characters are written from the string into the pattern until the end of the string.

Return Value

Success or failure code.

Remarks

SetSignal changes a specified signal data line over a series of clock periods. For instance, this is useful to change a data value in a serial protocol. The first waveform character in the waveform characters string is written to the designated signal in the vector described by parameters Label and LabelOffset. Subsequent waveform characters are written to the same signal in subsequent vectors until all of the waveform characters are used.

The changes to the signal must all be within a program segment. That is, the length of the waveform characters string must not cause the changes to span into a different segment.

Note that this instruction works on the currently active pattern.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteSetVector Function

KtMDsr_PatternSiteSetVector Function
PatternSite See Also

Overwrites the vector data at the specified location in a compiled pattern.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Set Vector
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteSetVector(
    ViSession Vi,
    ViConstString PatternSite,
    ViConstString Pattern,
    ViConstString Label,
    ViInt32 LabelOffset,
    ViConstString SignalExpression,
    ViConstString WaveformCharacters,
    ViConstString WaveformTable
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL if the operation does not apply to a repeated capability. You can also pass VI_NULL if the device only has a single patternsite.For valid values, see the PatternSite repeated capability.

Pattern

Pattern to modify

Label

Label within the pattern where the change will be applied.

LabelOffset

PatternIndex offset from the label to modify. Must be within the same block of vectors, that is, within the same group of vectors enclosed in braces in STIL.

SignalExpression

The signals that are modified. That is, the signals that are set to the provided waveform characters. These are specified in the order the signals appear in the SignalExpression parameter.

WaveformCharacters

The new waveform characters to use for the signals specified.

WaveformTable

The waveform table for this vector.

Return Value

Success or failure code.

Remarks

SetVector completely replaces the vector at the given location with the pattern, label, offset, waveform characters, and waveform table specified in this function. The location modified is the location with the pattern index at the specified offset from the specified label within the pattern.

The new vector is formed by assigning the characters in WaveformCharacters to the corresponding signals in the SignalExpression. If a Signal is not specified in the SignalExpression, the DSR will repeat the waveform character specified in the previous vector.

The specified Waveform Table must have been defined in the original Pattern Exec unless 32 or fewer waveform tables were specified when the pattern was compiled.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteSetWaveformTable Function

KtMDsr_PatternSiteSetWaveformTable Function
PatternSite See Also

Overwrites the Waveform Table at the specified location in the compiled pattern.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Set Waveform Table
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteSetWaveformTable(
    ViSession Vi,
    ViConstString PatternSite,
    ViConstString Pattern,
    ViConstString Label,
    ViInt32 LabelOffset,
    ViConstString WaveformTable
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PatternSite repeated capability.

Pattern

Pattern to modify

Label

Label within the pattern where the first change will be applied. This defines offset 0.

LabelOffset

PatternIndex offset from label to modify. Must be within the same block of vectors, that is, within the same group of vectors enclosed in braces in STIL.

WaveformTable

The new waveform table for this vector.

Return Value

Success or failure code.

Remarks

SetWaveformTable changes the WaveformTable at a single clock period. Using this, the timing of a single bit period can be adjusted. Successive vectors will return to the WaveformTable with which they were compiled. This is useful for shmoo testing.

The specified Waveform Table must have been defined in the original Pattern Exec unless 32 or fewer waveform tables were specified when the pattern was compiled.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KTMDSR_ATTR_PATTERNSITE_TERMINATION_REASON Attribute

KTMDSR_ATTR_PATTERNSITE_TERMINATION_REASON Attribute
PatternSite See Also

Gets a comma-separated string containing errors that occurred during pattern execution. This should be consulted if the ExecutionResult returns an error.

Attribute Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Termination Reason
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERNSITE_TERMINATION_REASON 1150212

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the PatternSite repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERNSITE_TERMINATION_REASON.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Remarks

The ExecutionErrors string indicates whether errors occurred during pattern execution. It is cleared by Initiate and updated to reflect any errors that occurred during pattern execution. If one or more errors occured during pattern execution, the string contains a comma-separated list of errors.

Error | Indicates
Reference Unlocked | The reference clock PLL was unlocked at some point between Initiate and the completion of pattern execution.
Pattern Error | The hardware detected an error at some point during pattern execution. This will occur if the pattern generation hardware is unable to produce the pattern, for instance, if loops in the pattern exceed required lengths.
Conditional Loop Count Exceeded | MatchLoop or WatchLoop exceeded the specified LoopCount parameter.
Overheated | The drivers in the pin electronics overheated during pattern execution.
None | No error

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSiteWaitForAcquisitionComplete Function

KtMDsr_PatternSiteWaitForAcquisitionComplete Function
PatternSite See Also

This function waits for the pattern to complete execution before it returns. If a pattern has not been initiated or if it has already completed, the function will return immediately.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSite Wait For Acquisition Complete
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSiteWaitForAcquisitionComplete(
    ViSession Vi,
    ViConstString PatternSite,
    ViReal64 MaximumSeconds,
    ViInt32* Val
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PatternSite repeated capability.

MaximumSeconds

The length of time, in seconds, to wait for the pattern to complete execution.

Val

ExecutionStateEnum indicating the current state of the PatternSite.

Return Value

Success or failure code.

Remarks

Use Execution Result and Execution Errors to determine why the acquisition terminated.

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

Defined Values For Parameter Val

Name | Description
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_EXECUTING | Pattern is currently running.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_STOPPED | Pattern has not yet been Initiated.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WAITING_FOR_INITIATE_TRIGGER | Pattern has been Initiated and is waiting for appropriate trigger.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_COMPLETE | Pattern has reached the end of execution
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_ABORTED | Pattern has been Aborted by user.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_ERROR | Error occured during PatternExecution. Check ExecutionErrors.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WAITING_FOR_MATCH_LOOP | Waiting for a successful MatchLoop
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER0 | Watching for Trigger0 in a WatchLoop.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER1 | Watching for Trigger1 in a WatchLoop.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER2 | Watching for Trigger2 in a WatchLoop.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER3 | Watching for Trigger3 in a WatchLoop.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER4 | Watching for Trigger4 in a WatchLoop.
KTMDSR_VAL_PATTERN_SITE_EXECUTION_STATE_WATCHING_FOR_TRIGGER5 | Watching for Trigger5 in a WatchLoop.
Top

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSitesActivate Function

KtMDsr_PatternSitesActivate Function
PatternSite See Also

Activates a site for pattern operations using the specified PatternExec and with the specified EdgePlacementResolution. The pattern is compiled and downloaded to the pattern cache.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSites Activate
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSitesActivate(
    ViSession Vi,
    ViConstString Site,
    ViConstString PatternExec,
    ViBoolean EdgePlacementResolutionAuto,
    ViReal64 EdgePlacementResolution
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Site

Name of Site block to be activated.

PatternExec

Name of the PatternExec block that defines the pattern, DcLevels, and WaveformTables to execute.

EdgePlacementResolutionAuto

Indicates if the KtMDsr driver should select the EdgePlacementResolution or if the EdgePlacementResolution parameter will specify the value. True indicates the driver should select the value, in which case the EdgePlacementResolution parameter is ignored.

EdgePlacementResolution

Specifies the edge placement resolution (when EdgePlacementResolutionAuto is False). Sets the finest resolution available when selecting pattern timing parameters. Range is 1 ns to 100 ns. This resolution determines how the times specified are rounded to values produced.

Return Value

Success or failure code.

Remarks

Reserves the channels for exclusive use by the specified site and compiles the PatternExec for use on the specified channels using the EdgePlacementResolution.

Note that the PatternExec block refers to the necessary DcLevels, MacroDefs and a PatternBurst which contains one or more pattern blocks; this information is compiled to produce the pattern.

The pattern information is compiled and downloaded to the pattern cache; it is removed when the site is inactivated.

For more information on the PatternSites interface, see the PatternSites Overview.
For more information on the dynamic repeated capability Activate function, see Dynamic Repeated Capabilities.
For information about how the EdgePlacementResolution parameter is used, see Edge Placement Resolution.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSitesActivateFromCache Function

KtMDsr_PatternSitesActivateFromCache Function
PatternSite See Also

Activates a previously-compiled PatternSite that has been saved in cache.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSites Activate From Cache
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSitesActivateFromCache(
    ViSession Vi,
    ViConstString CacheName
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

CacheName

Name of the compiled pattern in cache.

Return Value

Success or failure code.

Remarks

Reserve the channels for exclusive use by the specified site and activates the compiled PatternExec for use on the specified channels.

The compiled pattern includes all the PatternExec and Site information that was in the original pattern. The site name for the activated pattern is the CacheName.

When a pattern is activated using ActivateFromCache, the pattern remains in cache, even after it is later inactivated. In contrast, when a pattern is activated with Activate, a subsequent Inactivate will delete the pattern from cache.

Note that the compiled pattern has information about the entire PatternExec and the site incorporated into it, so a pattern must be compiled for every site on which it will be used.

For more information on the PatternSites interface, see the PatternSites Overview.
For information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information about how the EdgePlacementResolution parameter is used, see Edge Placement Resolution.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSitesActivatePattern Function

KtMDsr_PatternSitesActivatePattern Function
PatternSite See Also

Activates a site for pattern operations. Parameters specify the site, pattern, waveform table, DcLevels, and EdgePlacementResolution. The pattern is compiled and downloaded to the pattern cache.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSites Activate Pattern
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSitesActivatePattern(
    ViSession Vi,
    ViConstString Site,
    ViConstString Pattern,
    ViConstString DcLevels,
    ViBoolean EdgePlacementResolutionAuto,
    ViReal64 EdgePlacementResolution
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Site

Name of Site block to be activated.

Pattern

Name of the Pattern block that will be executed.

DcLevels

Name of the DcLevels block that will be applied to the signals.

EdgePlacementResolutionAuto

If True, the KtMDsr driver will automatically select the edge placement resolution (in which case the EdgePlacementResolution parameter is ignored). If False, the resolution is set by the EdgePlacementResolution parameter.

EdgePlacementResolution

Specifies the edge placement resolution (when EdgePlacementResolutionAuto is False). Sets the finest resolution available when selecting pattern timing parameters. Range is 1 ns to 100 ns. This resolution determines how the times specified are rounded to values produced.

Return Value

Success or failure code.

Remarks

ActivatePattern reserves the channels for exclusive use by the specified site and compiles the pattern and DcLevels for use on the specified channels using the edge placement resolution.

To activate a pattern that uses multiple patterns or macros, use Activate. This requires creating a PatternBurst and PatternExec.

The pattern information is compiled and downloaded to the pattern cache; it is removed when the site is inactivated.

For more information on the PatternSites interface, see the PatternSites Overview.
For information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information about how the EdgePlacementResolution parameter is used, see Edge Placement Resolution.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSitesCompilePattern Function

KtMDsr_PatternSitesCompilePattern Function
PatternSite See Also

Compiles the pattern components for the specified site and saves the compiled pattern to the specified destination (either a file or cache). The name will be used to refer to the site when it is later activated from cache.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSites Compile Pattern
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSitesCompilePattern(
    ViSession Vi,
    ViConstString Site,
    ViConstString Pattern,
    ViConstString DcLevels,
    ViBoolean EdgePlacementResolutionAuto,
    ViReal64 EdgePlacementResolution,
    ViInt32 Destination,
    ViConstString Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Site

Name of Site block to compile.

Pattern

Name of the Pattern block that will be executed.

DcLevels

Name of the DcLevels block that will be applied to the signals.

EdgePlacementResolutionAuto

If True, the KtMDsr driver will automatically select the edge placement resolution (in which case the EdgePlacementResolution parameter is ignored). If False, the resolution is set by the EdgePlacementResolution parameter.

EdgePlacementResolution

Specifies the edge placement resolution (when EdgePlacementResolutionAuto is False). Sets the finest resolution available when selecting pattern timing parameters. Range is 1 ns to 100 ns. This resolution determines how the times specified are rounded to values produced.

Destination

Specifies whether the pattern should be saved to the file system or to cache.

Name

The name of the compiled pattern. This is either the file system name or the name in cache.

Return Value

Success or failure code.

Remarks

Compiles the specified pattern for use on the specified site with the specified edge placement resolution. The compiled pattern is either placed in cache or saved to the file system.

The pattern is specified as a pattern block and the DcLevels to apply to the signal. To specify a pattern that uses macros or multiple patterns CompilePatternExec. This requires creating a PatternBurst and a PatternExec.

If the pattern is saved to the cache, it can be activated using the specifed Name. If the pattern is saved to the file system, the Name is the filename where the file is stored.

For more information on the PatternSites interface, see the PatternSites Overview.
For information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information about how the EdgePlacementResolution parameter is used, see Edge Placement Resolution.

Requirements

Supported Models

All supported

Defined Values For Parameter Destination

Name | Description
KTMDSR_VAL_PATTERNSITE_SAVE_DESTINATION_FILE | External file.
KTMDSR_VAL_PATTERNSITE_SAVE_DESTINATION_CACHE | On Board memory of the Dsr.
Top

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSitesCompilePatternExec Function

KtMDsr_PatternSitesCompilePatternExec Function
PatternSite See Also

Compiles the components into a PatternSite and saves it to the specified destination (either a file or cache). The name will be used to later reference the PatternSite.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSites Compile Pattern Exec
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSitesCompilePatternExec(
    ViSession Vi,
    ViConstString Site,
    ViConstString PatternExec,
    ViBoolean EdgePlacementResolutionAuto,
    ViReal64 EdgePlacementResolution,
    ViInt32 Destination,
    ViConstString Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Site

Name of Site block to compile.

PatternExec

PatternExec to compile.

EdgePlacementResolutionAuto

If True, the KtMDsr driver will automatically select the edge placement resolution (in which case the EdgePlacementResolution parameter is ignored). If False, the resolution is set by the EdgePlacementResolution parameter.

EdgePlacementResolution

Specifies the edge placement resolution (when EdgePlacementResolutionAuto is False). Sets the finest resolution available when selecting pattern timing parameters. Range is 1 ns to 100 ns. This resolution determines how the times specified are rounded to values produced.

Destination

Specifies whether the pattern should be saved to the file system or to cache.

Name

The name of the compiled pattern. This is either the file system name or the name in cache.

Return Value

Success or failure code.

Remarks

Compiles the specified pattern for use on the specified site with the specified edge placement resolution. The compiled pattern is either placed in cache or saved to the file system.

Note that the PatternExec block refers to the necessary DcLevels, MacroDefs, and a PatternBurst that contains one or more pattern blocks. This information is compiled to produce the pattern.

If the pattern is saved to the cache, it can be activated using the specifed Name. If the pattern is saved to the file system, the Name is the filename where the file is stored.

The compiler incorporates the site and PatternExec into the compiled pattern. Therefore, a pattern must be compiled for every site on which it will be used.

For more information on the PatternSites interface, see the PatternSites Overview.
For information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information about how the EdgePlacementResolution parameter is used, see Edge Placement Resolution.

Requirements

Supported Models

All supported

Defined Values For Parameter Destination

Name | Description
KTMDSR_VAL_PATTERNSITE_SAVE_DESTINATION_FILE | External file.
KTMDSR_VAL_PATTERNSITE_SAVE_DESTINATION_CACHE | On Board memory of the Dsr.
Top

See Also

Reference

PatternSite
KtMDsr


KTMDSR_ATTR_PATTERNSITES_COUNT Attribute

KTMDSR_ATTR_PATTERNSITES_COUNT Attribute
PatternSite See Also

Attribute Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSites Count
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERNSITES_COUNT 1150085

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERNSITES_COUNT.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

For more information on the PatternSites interface, see the PatternSites Overview.
For more information on dynamic repeated capabilities and the Count attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSitesDownloadPatternToCache Function

KtMDsr_PatternSitesDownloadPatternToCache Function
PatternSite See Also

Downloads the compiled pattern from the file system to the cache and assigns a name, CacheName, to the compiled pattern.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSites Download Pattern To Cache
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSitesDownloadPatternToCache(
    ViSession Vi,
    ViConstString PatternFile,
    ViConstString CacheName
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternFile

FilePath of compiled pattern (which was previously created using CompilePattern).

CacheName

Name of the compiled pattern in the pattern cache. This name is used to activate the pattern.

Return Value

Success or failure code.

Remarks

Downloads the compiled pattern to cache. No pattern-specific actions will take place until the compiled pattern is activated.

Note that the compiled pattern has information about the PatternExec and the site incorporated into it, so a pattern must be compiled for every site on which it will be used.

For more information on the PatternSites interface, see the PatternSites Overview.
For information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KTMDSR_ATTR_PATTERNSITES_END_BEHAVIOR Attribute

KTMDSR_ATTR_PATTERNSITES_END_BEHAVIOR Attribute
PatternSite See Also

Sets the behavior of the signal lines upon completion of a pattern to either retain the last state of the signal lines from the last period or repeat the last waveform character of the last period.

Attribute Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSites End Behavior
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERNSITES_END_BEHAVIOR 1150205

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

ViStatus KtMDsr_SetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERNSITES_END_BEHAVIOR.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

This capability is especially useful for applications where a clock signal needs to continue between pattern executions or while using the DSR in another way.

To generate a continuous clock, the last cycle of the pattern should specify unchanging values for signals that should remain at a fixed level. Clock signals should have a clock cycle defined that will continue to execute at the specified period until another pattern is initiated.

EndBehavior setting: | Specifies:
RepeatLastLevel | The last signal level of the last period will be retained on each signal.
RepeatLastWaveformCharacter | The last waveform character of the last period will be repeated until the channel is disabled or driven by some other operation.

For more information on the PatternSites interface, see the PatternSites Overview.
For information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Defined Values

Name | Description
KTMDSR_VAL_PATTERNSITE_END_BEHAVIOR_RETAIN_LAST_LEVEL | Hold at last Level for all channels.
KTMDSR_VAL_PATTERNSITE_END_BEHAVIOR_REPEAT_LAST_WAVEFORM_CHARACTER | Repeat last Vector for all Channels.
Top

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSitesGetName Function

KtMDsr_PatternSitesGetName Function
PatternSite See Also

Returns the patternsite name that corresponds to the one-based index that the user specifies.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSites Get Name
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSitesGetName(
    ViSession Vi,
    ViInt32 Index,
    ViInt32 NameBufferSize,
    ViChar[] Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Index

A one-based index that defines which name to return.

NameBufferSize

Number of elements in Name.

Name

Specifies the buffer into which the function returns the name that corresponds to the index the user specifies. The caller may pass VI_NULL for this parameter if the buffer size parameter is 0.

Return Value

Success or failure code.

Remarks

For more information on the PatternSites interface, see the PatternSites Overview.
For more information on the dynamic repeated capability Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSitesInactivate Function

KtMDsr_PatternSitesInactivate Function
PatternSite See Also

Releases the resources associated with this site. The state of the individual channels is not changed (that is, the channels are not disabled).

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSites Inactivate
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSitesInactivate(
    ViSession Vi,
    ViConstString SiteName
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

SiteName

Name of site to inactivate.

Return Value

Success or failure code.

Remarks

Channels will continue to output the level or waveform character specified in the EndCondition. This is not allow while a Pattern is Executing. To put the channels into a high impedance state, use InactivateAndDisable.

If transitioning between sites that change the direction of the signals on the channels, InactivateAndDisable should be used.

For more information on the PatternSites interface, see the PatternSites Overview.
For more information on the dynamic repeated capability Inactivate function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSitesInactivateAndDisable Function

KtMDsr_PatternSitesInactivateAndDisable Function
PatternSite See Also

Releases the resources associated with this site. The individual channels are disabled.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSites Inactivate And Disable
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSitesInactivateAndDisable(
    ViSession Vi,
    ViConstString SiteName
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

SiteName

Name of site to inactivate.

Return Value

Success or failure code.

Remarks

In addition to inactivating the site, this function also disables the channels. That is, the instrument will isolate itself from the DUT in a fashion that will minimize the possibility of the DUT or DSR being harmed.

If transitioning between sites that change the direction of the signals on the channels, InactivateAndDisable should be used.

For more information on the PatternSites interface, see the PatternSites Overview.
For more information on Inactivate and other dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSitesListCache Function

KtMDsr_PatternSitesListCache Function
PatternSite See Also

Returns a comma-separated list of PatternSites previously saved in cache, and the amount of memory each is using.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSites List Cache
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSitesListCache(
    ViSession Vi,
    ViInt32 PatternsBufferSize,
    ViChar[] Patterns,
    ViInt32 SizesBufferSize,
    ViInt32[] Sizes,
    ViInt32* SizesActualSize
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PatternsBufferSize

Number of elements in Patterns.

Patterns

String containing a comma-separated list of cached patterns.

SizesBufferSize

Sizes

Array containing the sizes of each compiled pattern. Element 0 of the array corresponds to the first pattern in the comma-separated list of patterns.

SizesActualSize

Actual number of elements in Sizes.

Return Value

Success or failure code.

Remarks

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KTMDSR_ATTR_PATTERNSITES_RESULT_BUFFER_SIZE Attribute

KTMDSR_ATTR_PATTERNSITES_RESULT_BUFFER_SIZE Attribute
PatternSite See Also

Specifies the amount of memory, in bytes, to be reserved for results for this pattern. This memory is taken from the memory reserved for results using Instrument Configure Memory.

Attribute Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSites Result Buffer Size
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERNSITES_RESULT_BUFFER_SIZE 1150207

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

ViStatus KtMDsr_SetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERNSITES_RESULT_BUFFER_SIZE.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

The default value is generally appropriate for this attribute. It is useful to set ResultBufferSize to a specific size when an application is using multiple banks and it needs to allocate different amounts of result memory to each site.

If this pattern uses all of the module banks, the default value utilizes all of the memory reserved by the Instrument Configure Memory function.

If this pattern uses only a single bank, the default value will evenly divide the unused memory between this pattern and any inactive banks.

See Instrument.ConfigureMemory for details on how memory allocation is controlled between patterns and results.
For more information on the PatternSites interface, see the PatternSites Overview.

Range

$$RANGES$$

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSitesSetEndBehavior Function

KtMDsr_PatternSitesSetEndBehavior Function
PatternSite See Also

Sets the behavior of the signal lines upon completion of a pattern to either retain the last state of the signal lines from the last period or repeat the last waveform character of the last period.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSites Set End Behavior
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSitesSetEndBehavior(
    ViSession Vi,
    ViInt32 EndBehavior
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

EndBehavior

After completing a pattern execution, there are two different possible behaviors. Either the last state of the signal lines is retained, or the entire cycle associated with the last waveform character can be repeated. It is useful to repeat the last waveform character to produce clocks that persist after the pattern execution completes.

Return Value

Success or failure code.

Remarks

This capability is especially useful for applications where a clock signal needs to continue between pattern executions or while using the DSR in another way.

To generate a continuous clock, the last cycle of the pattern should specify unchanging values for signals that should remain at a fixed level. Clock signals should have a clock cycle defined that will continue to execute at the specified period until another pattern is initiated.

EndBehavior setting: | Specifies:
RepeatLastLevel | The last signal level of the last period will be retained on each signal.
RepeatLastWaveformCharacter | The last waveform character of the last period will be repeated until the channel is disabled or driven by some other operation.

For more information on the PatternSites interface, see the PatternSites Overview.
For information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

Defined Values For Parameter EndBehavior

Name | Description
KTMDSR_VAL_PATTERNSITE_END_BEHAVIOR_RETAIN_LAST_LEVEL | Hold at last Level for all channels.
KTMDSR_VAL_PATTERNSITE_END_BEHAVIOR_REPEAT_LAST_WAVEFORM_CHARACTER | Repeat last Vector for all Channels.
Top

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSitesSetResultBufferSize Function

KtMDsr_PatternSitesSetResultBufferSize Function
PatternSite See Also

Specifies the amount of memory, in bytes, to be reserved for results for this pattern. This memory is taken from the memory reserved for results using Instrument Configure Memory.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSites Set Result Buffer Size
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSitesSetResultBufferSize(
    ViSession Vi,
    ViInt32 ResultBufferSize
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

ResultBufferSize

Amount of memory in Bytes to allocate for results.

Return Value

Success or failure code.

Remarks

The default value is generally appropriate for this attribute. It is useful to set ResultBufferSize to a specific size when an application is using multiple banks and it needs to allocate different amounts of result memory to each site.

If this pattern uses all of the module banks, the default value utilizes all of the memory reserved by the Instrument Configure Memory function.

If this pattern uses only a single bank, the default value will evenly divide the unused memory between this pattern and any inactive banks.

See Instrument.ConfigureMemory for details on how memory allocation is controlled between patterns and results.
For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSitesSetTriggerMode Function

KtMDsr_PatternSitesSetTriggerMode Function
PatternSite See Also

The trigger mode determines whether the pattern begins executing immediately after it is initiated or whether it waits for a trigger event.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSites Set Trigger Mode
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSitesSetTriggerMode(
    ViSession Vi,
    ViInt32 TriggerMode
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

TriggerMode

Sets the Trigger Mode. The trigger mode determines if execution of the pattern automatically begins when initiated or if the execution waits for a trigger event before executing.

Return Value

Success or failure code.

Remarks

For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

Defined Values For Parameter TriggerMode

Name | Description
KTMDSR_VAL_PATTERNSITE_TRIGGER_MODE_IMMEDIATE | Triggered by Initiate.
KTMDSR_VAL_PATTERNSITE_TRIGGER_MODE_TRIGGERED | Trigger set in TriggerSource starts execution.
Top

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSitesSetTriggerSource Function

KtMDsr_PatternSitesSetTriggerSource Function
PatternSite See Also

Gets or sets the trigger source used to begin execution for this pattern after calling Initiate.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSites Set Trigger Source
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSitesSetTriggerSource(
    ViSession Vi,
    ViConstString TriggerSource
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

TriggerSource

Set how PatternSite will be initiated.

Return Value

Success or failure code.

Remarks

The table below shows the relationship between Software Triggers, TriggerSource strings, and the EventBits to set when calling GenerateSoftwareEvents. Multiple bits may be set to generate multiple software triggers.

Software trigger | TriggerSource string | Set EventBits to this value when calling GenerateSoftwareEvents
Software0 | "SoftwareTrigger0" | 1
Software1 | "SoftwareTrigger1" | 2
Software2 | "SoftwareTrigger2" | 4
Software3 | "SoftwareTrigger3" | 8
Software4 | "SoftwareTrigger4" | 16
Software5 | "SoftwareTrigger5" | 32
Software6 | "SoftwareTrigger6" | 64
Software7 | "SoftwareTrigger7" | 128
Software8 | "SoftwareTrigger8" | 256
Software9 | "SoftwareTrigger9" | 512
Software10 | "SoftwareTrigger10" | 1024
Software11 | "SoftwareTrigger11" | 2048
Software12 | "SoftwareTrigger12" | 4096
Software13 | "SoftwareTrigger13" | 8192
Software14 | "SoftwareTrigger14" | 16384
Software15 | "SoftwareTrigger15" | 32768

For details on generating software triggers, see Generate Software Events.
For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KtMDsr_PatternSitesSetWhatToLog Function

KtMDsr_PatternSitesSetWhatToLog Function
PatternSite See Also

Sets the compares to log during pattern execution (all compares; first failed compare; all failed compares). If "first failed compare" is selected, the first failure terminates the pattern execution.

Function Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSites Set What To Log
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PatternSitesSetWhatToLog(
    ViSession Vi,
    ViInt32 WhatToLog
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

WhatToLog

All compares; first failed compare; all failed compares. If "first failed compare" is selected, the first failure terminates the pattern execution.

Return Value

Success or failure code.

Remarks

The WhatToLog setting controls the logging of compares during pattern execution.

WhatToLog setting: | DSR logs:
EveryCycleWithCompare | Every cycle with a compare. Use this setting when the pattern is defined with the intent of capturing all compares.
EveryCycleWithFailingCompare | All failed compares. This setting is useful when the pattern expects specific values for all DUT response signals.
FirstCycleWithFailingCompareAndTerminate | The first failed compare. After the failed compare, the pattern execution terminates. A successful completion will result in ExecutionState of "Complete" and ExecutionErrors = "None."

To use the DSR to log data, set WhatToLog to EveryCycleWithCompare. The bits which contain data are normally configured to compare the input with a logical low. In this case, the state of the compare reflects the binary information. When WhatToLog is set to EveryCycleWithCompare, this will place both 0's and 1's in the result.

See also KtMDsrPatterSitesWhatToLogEnum enumeration.

For details on generating software triggers, see Generate Software Events.
For more information on the PatternSites interface, see the PatternSites Overview.

Requirements

Supported Models

All supported

Defined Values For Parameter WhatToLog

Name | Description
KTMDSR_VAL_PATTERNSITE_WHAT_TO_LOG_EVERY_CYCLE_WITH_COMPARE | Every cycle with a compare. Use this setting when the pattern is defined with the intent of capturing all compares.
KTMDSR_VAL_PATTERNSITE_WHAT_TO_LOG_EVERY_CYCLE_WITH_FAILING_COMPARE | All failed compares. This setting is useful when the pattern expects specific values for all DUT response signals.
KTMDSR_VAL_PATTERNSITE_WHAT_TO_LOG_FIRST_CYCLE_WITH_FAILING_COMPARE_AND_TERMINATE | The first failed compare. After the failed compare, the pattern execution terminates. A successful completion will result in ExecutionState of "Complete" and ExecutionErrors = "None".
Top

See Also

Reference

PatternSite
KtMDsr


KTMDSR_ATTR_PATTERNSITES_TRIGGER_MODE Attribute

KTMDSR_ATTR_PATTERNSITES_TRIGGER_MODE Attribute
PatternSite See Also

The trigger mode determines whether the pattern begins executing immediately after it is initiated or whether it waits for a trigger event.

Attribute Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSites Trigger Mode
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERNSITES_TRIGGER_MODE 1150213

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

ViStatus KtMDsr_SetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERNSITES_TRIGGER_MODE.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

For more information on the PatternSites interface, see the PatternSites Overview.

Defined Values

Name | Description
KTMDSR_VAL_PATTERNSITE_TRIGGER_MODE_IMMEDIATE | Triggered by Initiate.
KTMDSR_VAL_PATTERNSITE_TRIGGER_MODE_TRIGGERED | Trigger set in TriggerSource starts execution.
Top

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KTMDSR_ATTR_PATTERNSITES_TRIGGER_SOURCE Attribute

KTMDSR_ATTR_PATTERNSITES_TRIGGER_SOURCE Attribute
PatternSite See Also

Gets or sets the trigger source used to begin execution for this pattern after calling Initiate.

Attribute Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSites Trigger Source
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERNSITES_TRIGGER_SOURCE 1150214

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

ViStatus KtMDsr_SetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViConstString AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERNSITES_TRIGGER_SOURCE.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue (GetAttribute)

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

The table below shows the relationship between Software Triggers, TriggerSource strings, and the EventBits to set when calling GenerateSoftwareEvents. Multiple bits may be set to generate multiple software triggers.

Software trigger | TriggerSource string | Set EventBits to this value when calling GenerateSoftwareEvents
Software0 | "SoftwareTrigger0" | 1
Software1 | "SoftwareTrigger1" | 2
Software2 | "SoftwareTrigger2" | 4
Software3 | "SoftwareTrigger3" | 8
Software4 | "SoftwareTrigger4" | 16
Software5 | "SoftwareTrigger5" | 32
Software6 | "SoftwareTrigger6" | 64
Software7 | "SoftwareTrigger7" | 128
Software8 | "SoftwareTrigger8" | 256
Software9 | "SoftwareTrigger9" | 512
Software10 | "SoftwareTrigger10" | 1024
Software11 | "SoftwareTrigger11" | 2048
Software12 | "SoftwareTrigger12" | 4096
Software13 | "SoftwareTrigger13" | 8192
Software14 | "SoftwareTrigger14" | 16384
Software15 | "SoftwareTrigger15" | 32768

For details on generating software triggers, see Generate Software Events.
For more information on the PatternSites interface, see the PatternSites Overview.

Allowed Values

"SoftwareTrigger0", "SoftwareTrigger1", "SoftwareTrigger2", "SoftwareTrigger3", "SoftwareTrigger4", "SoftwareTrigger5", "SoftwareTrigger6", "SoftwareTrigger7", "SoftwareTrigger8", "SoftwareTrigger9", "SoftwareTrigger10", "SoftwareTrigger11", "SoftwareTrigger12", "SoftwareTrigger13", "SoftwareTrigger14", "SoftwareTrigger15", "External1", "External2", "GPIO1", "GPIO2", "PXI_TRIG0", "PXI_TRIG1", "PXI_TRIG2", "PXI_TRIG3", "PXI_TRIG4", "PXI_TRIG5", "PXI_TRIG6", "PXI_TRIG7", "PXI_STAR", "PXIe_DSTARB"

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


KTMDSR_ATTR_PATTERNSITES_WHAT_TO_LOG Attribute

KTMDSR_ATTR_PATTERNSITES_WHAT_TO_LOG Attribute
PatternSite See Also

Sets the compares to log during pattern execution (all compares; first failed compare; all failed compares). If "first failed compare" is selected, the first failure terminates the pattern execution.

Attribute Tree Node: \KtMDsr\Instrument Specific\PatternSite\PatternSites What To Log
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PATTERNSITES_WHAT_TO_LOG 1150215

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

ViStatus KtMDsr_SetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_PATTERNSITES_WHAT_TO_LOG.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

The WhatToLog setting controls the logging of compares during pattern execution.

WhatToLog setting: | DSR logs:
EveryCycleWithCompare | Every cycle with a compare. Use this setting when the pattern is defined with the intent of capturing all compares.
EveryCycleWithFailingCompare | All failed compares. This setting is useful when the pattern expects specific values for all DUT response signals.
FirstCycleWithFailingCompareAndTerminate | The first failed compare. After the failed compare, the pattern execution terminates. A successful completion will result in ExecutionState of "Complete" and ExecutionErrors = "None."

To use the DSR to log data, set WhatToLog to EveryCycleWithCompare. The bits which contain data are normally configured to compare the input with a logical low. In this case, the state of the compare reflects the binary information. When WhatToLog is set to EveryCycleWithCompare, this will place both 0's and 1's in the result.

See also KtMDsrPatterSitesWhatToLogEnum enumeration.

For details on generating software triggers, see Generate Software Events.
For more information on the PatternSites interface, see the PatternSites Overview.

Defined Values

Name | Description
KTMDSR_VAL_PATTERNSITE_WHAT_TO_LOG_EVERY_CYCLE_WITH_COMPARE | Every cycle with a compare. Use this setting when the pattern is defined with the intent of capturing all compares.
KTMDSR_VAL_PATTERNSITE_WHAT_TO_LOG_EVERY_CYCLE_WITH_FAILING_COMPARE | All failed compares. This setting is useful when the pattern expects specific values for all DUT response signals.
KTMDSR_VAL_PATTERNSITE_WHAT_TO_LOG_FIRST_CYCLE_WITH_FAILING_COMPARE_AND_TERMINATE | The first failed compare. After the failed compare, the pattern execution terminates. A successful completion will result in ExecutionState of "Complete" and ExecutionErrors = "None".
Top

Requirements

Supported Models

All supported

See Also

Reference

PatternSite
KtMDsr


PpmuSite

PpmuSite
See Also

Tree Node: \KtMDsr\Instrument Specific\PpmuSite

Functions

 | Name | Description
Function | PpmuSite Force | This function forces a current, voltage or shuts off the force function. No measurement is performed.
Function | PpmuSite Force Current Measure Current | Function that forces the specified current and measures the actual current. Note that the ability to force the current depends on the system impedance.
Function | PpmuSite Force Current Measure Voltage | Function that forces the specified current and measures the voltage.
Function | PpmuSite Force Nothing Measure Voltage | Stops any active forcing function (either current or voltage) and measures voltage.
Function | PpmuSite Force Voltage Measure Current | Function that forces the specified voltage and measures the current.
Function | PpmuSite Force Voltage Measure Voltage | Function that forces the specified voltage and measures the actual voltage. Note that the ability to force the voltage depends on the system impedance.
Function | PpmuSite Get Current Limit | Returns the maximum current the module can produce on this channel based on the current settings.
Function | PpmuSite Get Force Mode | Allows querying of the Force Mode. To set the ForceMode attribute, use the Force function or one of the Force and Measure functions.
Function | PpmuSite Get Level | Returns the force level currently in use. To set the Level attribute, use the Force function or one of the Force and Measure functions.
Function | PpmuSite Set Average Mode | Controls the averaging performed for measurements. Configures whether the PPMU should perform simple averaging, perform averaging to noise reduction (reject power-line frequency noise), or omit averaging to return the highest speed measurements.
Function | PpmuSite Set Settling Delay | Specifies the delay, in seconds, between applying the Force and performing the measurement.
Function | PpmuSites Activate | Activates a site for PPMU operations. Once activated, the site block name can be passed to the Item function to access PPMU functions for this site.
Function | PpmuSites Get Name | Returns the ppmusite name that corresponds to the one-based index that the user specifies.
Function | PpmuSites Inactivate | Releases PPMU resources associated with this site without altering the signals on the channels.
Function | PpmuSitess Inactivate And Disable | Releases PPMU resources associated with this site and places the channels into a high impedance state.
Top

Attributes

 | Name | Description
Attribute | PpmuSite Average Mode | Controls the averaging performed for measurements. Configures whether the PPMU should perform simple averaging, perform averaging to noise reduction (reject power-line frequency noise), or omit averaging to return the highest speed measurements.
Attribute | PpmuSite Current Limit | Returns the maximum current the module can produce on this channel based on the current settings.
Attribute | PpmuSite Force Mode | Allows querying of the Force Mode. To set the ForceMode attribute, use the Force function or one of the Force and Measure functions.
Attribute | PpmuSite Level | Returns the force level currently in use. To set the Level attribute, use the Force function or one of the Force and Measure functions.
Attribute | PpmuSite Settling Delay | Specifies the delay, in seconds, between applying the Force and performing the measurement.
Attribute | PpmuSites Count |
Top

See Also

Reference

KtMDsr


KTMDSR_ATTR_PPMUSITE_AVERAGE_MODE Attribute

KTMDSR_ATTR_PPMUSITE_AVERAGE_MODE Attribute
PpmuSite See Also

Controls the averaging performed for measurements. Configures whether the PPMU should perform simple averaging, perform averaging to noise reduction (reject power-line frequency noise), or omit averaging to return the highest speed measurements.

Attribute Tree Node: \KtMDsr\Instrument Specific\PpmuSite\PpmuSite Average Mode
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PPMUSITE_AVERAGE_MODE 1150230

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

ViStatus KtMDsr_SetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the PpmuSite repeated capability.

AttributeID

Must be KTMDSR_ATTR_PPMUSITE_AVERAGE_MODE.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

The following averaging modes are supported:

Mode | Behavior
None | No averaging is performed. This mode provides the fastest possible measurements.
Average64 | 64 measurements are made and averaged together on each channel. This improves the noise level on the measurements.
Window50Hz Measurements are averaged over a 50 Hz power-line cycle. All channels are measured simultaneously over this period. In addition to the noise reduction provided by Average64, this also rejects line noise present on the signal lines, resulting in improved measurement quality.

This setting should be used in environments with 50 Hz line frequency that require maximum conversion resolution. The minimum measurements time is 20 ms.

This setting is the best choice for environments with 400 Hz line frequency that require maximum conversion resolution; however, the line rejection will not be as effective.

Window60Hz Measurements are averaged over a 60 Hz power-line cycle. All channels are measured simultaneously over this period. In addition to the noise reduction provided by Average64, this also rejects line noise present on the signal lines, resulting in improved measurement quality.

This setting should be used in environments with 60 Hz line frequency that require maximum conversion resolution. The minimum measurements time is 17 ms.

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Defined Values

Name | Description
KTMDSR_VAL_PPMU_SITE_AVERAGE_MODE_NONE | A single measurement is performed.
KTMDSR_VAL_PPMU_SITE_AVERAGE_MODE_AVERAGE64 | 64 measurements are performed as quickly as possible and averaged together.
KTMDSR_VAL_PPMU_SITE_AVERAGE_MODE_WINDOW50_HZ | Measurements are made over a single 50 Hz power-line cycle in order to maximize noise immunity in 50 Hz environments.
KTMDSR_VAL_PPMU_SITE_AVERAGE_MODE_WINDOW60_HZ | Measurements are made over a single 60 Hz power-line cycle in order to maximize noise immunity in 60 Hz environments.
Top

Requirements

Supported Models

All supported

See Also

Reference

PpmuSite
KtMDsr


KTMDSR_ATTR_PPMUSITE_CURRENT_LIMIT Attribute

KTMDSR_ATTR_PPMUSITE_CURRENT_LIMIT Attribute
PpmuSite See Also

Returns the maximum current the module can produce on this channel based on the current settings.

Attribute Tree Node: \KtMDsr\Instrument Specific\PpmuSite\PpmuSite Current Limit
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PPMUSITE_CURRENT_LIMIT 1150153

ViStatus KtMDsr_GetAttributeViReal64(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViReal64* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the PpmuSite repeated capability.

AttributeID

Must be KTMDSR_ATTR_PPMUSITE_CURRENT_LIMIT.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

CurrentLimit indicates the maximum current that can be produced when forcing a voltage based on the current module configuration. It does not take into account the total module current limitation. The maximum module current is approximately 320mA.

The CurrentLimit is not relevant when measuring or sourcing current, as current level is implicit in other settings.

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

PpmuSite
KtMDsr


KtMDsr_PpmuSiteForce Function

KtMDsr_PpmuSiteForce Function
PpmuSite See Also

This function forces a current, voltage or shuts off the force function. No measurement is performed.

Function Tree Node: \KtMDsr\Instrument Specific\PpmuSite\PpmuSite Force
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PpmuSiteForce(
    ViSession Vi,
    ViConstString PpmuSite,
    ViInt32 ForceMode,
    ViReal64 Level
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PpmuSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PpmuSite repeated capability.

ForceMode

Specifies current or voltage output. The "Nothing" setting can be used to shut off the force function.

Level

Level being forced. In Amps for current, in Volts for voltage. When ForceMode is Nothing, the Level parameter is ignored.

Return Value

Success or failure code.

Remarks

Each channel's measurement result is placed at the index in the array specified by the ordinal in the site.

The maximum compliance voltage is dependent on the current range. Below is a table of values.

Current range | Voltage
+/-40 mA | -2.0 to +5.75 V
+/-25 mA | -2.0 to +6.0 V
+/-2 mA (and less) | -2.0 to +6.5 V

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

Defined Values For Parameter ForceMode

Name | Description
KTMDSR_VAL_PPMU_SITE_FORCE_MODE_NOTHING | Force nothing.
KTMDSR_VAL_PPMU_SITE_FORCE_MODE_VOLTAGE | Force configured Voltage.
KTMDSR_VAL_PPMU_SITE_FORCE_MODE_CURRENT | Force configured Current.
Top

See Also

Reference

PpmuSite
KtMDsr


KtMDsr_PpmuSiteForceCurrentMeasureCurrent Function

KtMDsr_PpmuSiteForceCurrentMeasureCurrent Function
PpmuSite See Also

Function that forces the specified current and measures the actual current. Note that the ability to force the current depends on the system impedance.

Function Tree Node: \KtMDsr\Instrument Specific\PpmuSite\PpmuSite Force Current Measure Current
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PpmuSiteForceCurrentMeasureCurrent(
    ViSession Vi,
    ViConstString PpmuSite,
    ViReal64 ForceCurrent,
    ViInt32 ValBufferSize,
    ViReal64[] Val,
    ViInt32* ValActualSize
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PpmuSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PpmuSite repeated capability.

ForceCurrent

Level being forced, in Amps. Current must be between -40mA and 40mA, inclusive.

ValBufferSize

Val

Returns an array containing the measured current on each channel in the site. Each channel's measurement result is placed at the index in the array specified by the ordinal in the site.

ValActualSize

Return Value

Success or failure code.

Remarks

Each channel's measurement result is placed at the index in the array specified by the ordinal in the site.

The maximum compliance voltage is dependent on the current range. Below is a table of values.

Current range | Voltage
+/-40 mA | -2.0 to +5.75 V
+/-25 mA | -2.0 to +6.0 V
+/-2 mA (and less) | -2.0 to +6.5 V

A positive current produces a current flow out of the DSR and into the DUT.

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

PpmuSite
KtMDsr


KtMDsr_PpmuSiteForceCurrentMeasureVoltage Function

KtMDsr_PpmuSiteForceCurrentMeasureVoltage Function
PpmuSite See Also

Function that forces the specified current and measures the voltage.

Function Tree Node: \KtMDsr\Instrument Specific\PpmuSite\PpmuSite Force Current Measure Voltage
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PpmuSiteForceCurrentMeasureVoltage(
    ViSession Vi,
    ViConstString PpmuSite,
    ViReal64 ForceCurrent,
    ViInt32 ValBufferSize,
    ViReal64[] Val,
    ViInt32* ValActualSize
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PpmuSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PpmuSite repeated capability.

ForceCurrent

Level being forced, in Amps.

ValBufferSize

Val

Returns an array containing the voltage measured on each channel in the site. Each channel's measurement result is placed at the index in the array specified by the ordinal in the site.

ValActualSize

Return Value

Success or failure code.

Remarks

Each channel's measurement result is placed at the index in the array specified by the ordinal in the site.

The maximum compliance voltage is dependent on the current range. Below is a table of values.

Current range | Voltage
+/-40 mA | -2.0 to +5.75 V
+/-25 mA | -2.0 to +6.0 V
+/-2 mA (and less) | -2.0 to +6.5 V

A positive current produces a current flow out of the DSR and into the DUT.

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

PpmuSite
KtMDsr


KTMDSR_ATTR_PPMUSITE_FORCE_MODE Attribute

KTMDSR_ATTR_PPMUSITE_FORCE_MODE Attribute
PpmuSite See Also

Allows querying of the Force Mode. To set the ForceMode attribute, use the Force function or one of the Force and Measure functions.

Attribute Tree Node: \KtMDsr\Instrument Specific\PpmuSite\PpmuSite Force Mode
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PPMUSITE_FORCE_MODE 1150146

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the PpmuSite repeated capability.

AttributeID

Must be KTMDSR_ATTR_PPMUSITE_FORCE_MODE.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information on using active sites, see Active Sites.

Defined Values

Name | Description
KTMDSR_VAL_PPMU_SITE_FORCE_MODE_NOTHING | Force nothing.
KTMDSR_VAL_PPMU_SITE_FORCE_MODE_VOLTAGE | Force configured Voltage.
KTMDSR_VAL_PPMU_SITE_FORCE_MODE_CURRENT | Force configured Current.
Top

Requirements

Supported Models

All supported

See Also

Reference

PpmuSite
KtMDsr


KtMDsr_PpmuSiteForceNothingMeasureVoltage Function

KtMDsr_PpmuSiteForceNothingMeasureVoltage Function
PpmuSite See Also

Stops any active forcing function (either current or voltage) and measures voltage.

Function Tree Node: \KtMDsr\Instrument Specific\PpmuSite\PpmuSite Force Nothing Measure Voltage
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PpmuSiteForceNothingMeasureVoltage(
    ViSession Vi,
    ViConstString PpmuSite,
    ViInt32 ValBufferSize,
    ViReal64[] Val,
    ViInt32* ValActualSize
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PpmuSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PpmuSite repeated capability.

ValBufferSize

Val

Returns an array containing the measured voltage on each channel in the site. Each channel's measurement result is placed at the index in the array specified by the ordinal in the site.

ValActualSize

Return Value

Success or failure code.

Remarks

Each channel's measurement result is placed at the index in the array specified by the ordinal in the site.

The maximum compliance voltage is dependent on the current range. Below is a table of values.

Current range | Voltage
+/-40 mA | -2.0 to +5.75 V
+/-25 mA | -2.0 to +6.0 V
+/-2 mA (and less) | -2.0 to +6.5 V

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

PpmuSite
KtMDsr


KtMDsr_PpmuSiteForceVoltageMeasureCurrent Function

KtMDsr_PpmuSiteForceVoltageMeasureCurrent Function
PpmuSite See Also

Function that forces the specified voltage and measures the current.

Function Tree Node: \KtMDsr\Instrument Specific\PpmuSite\PpmuSite Force Voltage Measure Current
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PpmuSiteForceVoltageMeasureCurrent(
    ViSession Vi,
    ViConstString PpmuSite,
    ViReal64 ForceVoltage,
    ViReal64 CurrentRange,
    ViInt32 ValBufferSize,
    ViReal64[] Val,
    ViInt32* ValActualSize
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PpmuSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PpmuSite repeated capability.

ForceVoltage

Level being forced, in Volts.

CurrentRange

The maximum current expected. This configures the DSR to measure currents of this magnitude or below.

ValBufferSize

Val

Returns an array containing the measured current on each channel in the site. Each channel's measurement result is placed at the index in the array specified by the ordinal in the site.

ValActualSize

Return Value

Success or failure code.

Remarks

Each channel's measurement result is placed at the index in the array specified by the ordinal in the site.

The maximum compliance voltage is dependent on the current range. Below is a table of values.

Current range | Voltage
+/-40 mA | -2.0 to +5.75 V
+/-25 mA | -2.0 to +6.0 V
+/-2 mA (and less) | -2.0 to +6.5 V

A positive current measurement indicates a flow of current out of the DSR and into the DUT.

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

PpmuSite
KtMDsr


KtMDsr_PpmuSiteForceVoltageMeasureVoltage Function

KtMDsr_PpmuSiteForceVoltageMeasureVoltage Function
PpmuSite See Also

Function that forces the specified voltage and measures the actual voltage. Note that the ability to force the voltage depends on the system impedance.

Function Tree Node: \KtMDsr\Instrument Specific\PpmuSite\PpmuSite Force Voltage Measure Voltage
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PpmuSiteForceVoltageMeasureVoltage(
    ViSession Vi,
    ViConstString PpmuSite,
    ViReal64 ForceVoltage,
    ViInt32 ValBufferSize,
    ViReal64[] Val,
    ViInt32* ValActualSize
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PpmuSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PpmuSite repeated capability.

ForceVoltage

Level being forced, in Volts.

ValBufferSize

Val

Returns an array containing the measured voltage on each channel in the site. Each channel's measurement result is placed at the index in the array specified by the ordinal in the site.

ValActualSize

Return Value

Success or failure code.

Remarks

Each channel's measurement result is placed at the index in the array specified by the ordinal in the site.

The maximum compliance voltage is dependent on the current range. Below is a table of values.

Current range | Voltage
+/-40 mA | -2.0 to +5.75 V
+/-25 mA | -2.0 to +6.0 V
+/-2 mA (and less) | -2.0 to +6.5 V

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

PpmuSite
KtMDsr


KtMDsr_PpmuSiteGetCurrentLimit Function

KtMDsr_PpmuSiteGetCurrentLimit Function
PpmuSite See Also

Returns the maximum current the module can produce on this channel based on the current settings.

Function Tree Node: \KtMDsr\Instrument Specific\PpmuSite\PpmuSite Get Current Limit
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PpmuSiteGetCurrentLimit(
    ViSession Vi,
    ViConstString PpmuSite,
    ViReal64* CurrentLimit
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PpmuSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PpmuSite repeated capability.

CurrentLimit

Sets the maximum current to be produced when forcing voltage and measuring current. Also sets the source resistance when sourcing voltage. (Note: CurrentLimit is not used when measuring or sourcing current, as current level is implicit in other settings.)

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

PpmuSite
KtMDsr


KtMDsr_PpmuSiteGetForceMode Function

KtMDsr_PpmuSiteGetForceMode Function
PpmuSite See Also

Allows querying of the Force Mode. To set the ForceMode attribute, use the Force function or one of the Force and Measure functions.

Function Tree Node: \KtMDsr\Instrument Specific\PpmuSite\PpmuSite Get Force Mode
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PpmuSiteGetForceMode(
    ViSession Vi,
    ViConstString PpmuSite,
    ViInt32* ForceMode
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PpmuSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PpmuSite repeated capability.

ForceMode

Allows querying of the Force Mode. To set the ForceMode attribute, use the Force function or one of the Force and Measure functions.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

Defined Values For Parameter ForceMode

Name | Description
KTMDSR_VAL_PPMU_SITE_FORCE_MODE_NOTHING | Force nothing.
KTMDSR_VAL_PPMU_SITE_FORCE_MODE_VOLTAGE | Force configured Voltage.
KTMDSR_VAL_PPMU_SITE_FORCE_MODE_CURRENT | Force configured Current.
Top

See Also

Reference

PpmuSite
KtMDsr


KtMDsr_PpmuSiteGetLevel Function

KtMDsr_PpmuSiteGetLevel Function
PpmuSite See Also

Returns the force level currently in use. To set the Level attribute, use the Force function or one of the Force and Measure functions.

Function Tree Node: \KtMDsr\Instrument Specific\PpmuSite\PpmuSite Get Level
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PpmuSiteGetLevel(
    ViSession Vi,
    ViConstString PpmuSite,
    ViReal64* Level
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PpmuSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PpmuSite repeated capability.

Level

Returns the force level currently in use. To set the Level attribute, use the Force function or one of the Force and Measure functions.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

PpmuSite
KtMDsr


KTMDSR_ATTR_PPMUSITE_LEVEL Attribute

KTMDSR_ATTR_PPMUSITE_LEVEL Attribute
PpmuSite See Also

Returns the force level currently in use. To set the Level attribute, use the Force function or one of the Force and Measure functions.

Attribute Tree Node: \KtMDsr\Instrument Specific\PpmuSite\PpmuSite Level
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PPMUSITE_LEVEL 1150125

ViStatus KtMDsr_GetAttributeViReal64(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViReal64* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the PpmuSite repeated capability.

AttributeID

Must be KTMDSR_ATTR_PPMUSITE_LEVEL.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

PpmuSite
KtMDsr


KtMDsr_PpmuSiteSetAverageMode Function

KtMDsr_PpmuSiteSetAverageMode Function
PpmuSite See Also

Controls the averaging performed for measurements. Configures whether the PPMU should perform simple averaging, perform averaging to noise reduction (reject power-line frequency noise), or omit averaging to return the highest speed measurements.

Function Tree Node: \KtMDsr\Instrument Specific\PpmuSite\PpmuSite Set Average Mode
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PpmuSiteSetAverageMode(
    ViSession Vi,
    ViConstString PpmuSite,
    ViInt32 AverageMode
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PpmuSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PpmuSite repeated capability.

AverageMode

Controls the averaging performed for measurements. Configures whether the PPMU should perform simple averaging, perform averaging to noise reduction (reject power-line frequency noise), or omit averaging to return the highest speed measurements.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

Defined Values For Parameter AverageMode

Name | Description
KTMDSR_VAL_PPMU_SITE_AVERAGE_MODE_NONE | A single measurement is performed.
KTMDSR_VAL_PPMU_SITE_AVERAGE_MODE_AVERAGE64 | 64 measurements are performed as quickly as possible and averaged together.
KTMDSR_VAL_PPMU_SITE_AVERAGE_MODE_WINDOW50_HZ | Measurements are made over a single 50 Hz power-line cycle in order to maximize noise immunity in 50 Hz environments.
KTMDSR_VAL_PPMU_SITE_AVERAGE_MODE_WINDOW60_HZ | Measurements are made over a single 60 Hz power-line cycle in order to maximize noise immunity in 60 Hz environments.
Top

See Also

Reference

PpmuSite
KtMDsr


KtMDsr_PpmuSiteSetSettlingDelay Function

KtMDsr_PpmuSiteSetSettlingDelay Function
PpmuSite See Also

Specifies the delay, in seconds, between applying the Force and performing the measurement.

Function Tree Node: \KtMDsr\Instrument Specific\PpmuSite\PpmuSite Set Settling Delay
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PpmuSiteSetSettlingDelay(
    ViSession Vi,
    ViConstString PpmuSite,
    ViReal64 SettlingDelay
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

PpmuSite

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the PpmuSite repeated capability.

SettlingDelay

Delay, in seconds.

Return Value

Success or failure code.

Remarks

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

PpmuSite
KtMDsr


KTMDSR_ATTR_PPMUSITE_SETTLING_DELAY Attribute

KTMDSR_ATTR_PPMUSITE_SETTLING_DELAY Attribute
PpmuSite See Also

Specifies the delay, in seconds, between applying the Force and performing the measurement.

Attribute Tree Node: \KtMDsr\Instrument Specific\PpmuSite\PpmuSite Settling Delay
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PPMUSITE_SETTLING_DELAY 1150218

ViStatus KtMDsr_GetAttributeViReal64(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViReal64* AttributeValue
);

ViStatus KtMDsr_SetAttributeViReal64(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViReal64 AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the PpmuSite repeated capability.

AttributeID

Must be KTMDSR_ATTR_PPMUSITE_SETTLING_DELAY.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

PpmuSite
KtMDsr


KtMDsr_PpmuSitesActivate Function

KtMDsr_PpmuSitesActivate Function
PpmuSite See Also

Activates a site for PPMU operations. Once activated, the site block name can be passed to the Item function to access PPMU functions for this site.

Function Tree Node: \KtMDsr\Instrument Specific\PpmuSite\PpmuSites Activate
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PpmuSitesActivate(
    ViSession Vi,
    ViConstString Site
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Site

Block name of the site to activate.

Return Value

Success or failure code.

Remarks

Activate will reserve the channels for exclusive use by the specified site and initialize the PPMU capabilities associated with those channels.

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on the dynamic repeated capability Activate function, see Dynamic Repeated Capabilities.
For general information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

PpmuSite
KtMDsr


KTMDSR_ATTR_PPMUSITES_COUNT Attribute

KTMDSR_ATTR_PPMUSITES_COUNT Attribute
PpmuSite See Also

Attribute Tree Node: \KtMDsr\Instrument Specific\PpmuSite\PpmuSites Count
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_PPMUSITES_COUNT 1150083

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_PPMUSITES_COUNT.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on the dynamic repeated capability Count attribute, see Dynamic Repeated Capabilities.
For general information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

PpmuSite
KtMDsr


KtMDsr_PpmuSitesGetName Function

KtMDsr_PpmuSitesGetName Function
PpmuSite See Also

Returns the ppmusite name that corresponds to the one-based index that the user specifies.

Function Tree Node: \KtMDsr\Instrument Specific\PpmuSite\PpmuSites Get Name
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PpmuSitesGetName(
    ViSession Vi,
    ViInt32 Index,
    ViInt32 NameBufferSize,
    ViChar[] Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Index

A one-based index that defines which name to return.

NameBufferSize

Number of elements in Name.

Name

Specifies the buffer into which the function returns the name that corresponds to the index the user specifies. The caller may pass VI_NULL for this parameter if the buffer size parameter is 0.

Return Value

Success or failure code.

Remarks

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on the dynamic repeated capability Name attribute, see Dynamic Repeated Capabilities.
For information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

PpmuSite
KtMDsr


KtMDsr_PpmuSitesInactivate Function

KtMDsr_PpmuSitesInactivate Function
PpmuSite See Also

Releases PPMU resources associated with this site without altering the signals on the channels.

Function Tree Node: \KtMDsr\Instrument Specific\PpmuSite\PpmuSites Inactivate
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PpmuSitesInactivate(
    ViSession Vi,
    ViConstString SiteName
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

SiteName

Name of the site activated for PPMU operations to inactivate.

Return Value

Success or failure code.

Remarks

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on the dynamic repeated capability Inactivate function, see Dynamic Repeated Capabilities.
For general information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

PpmuSite
KtMDsr


KtMDsr_PpmuSitesInactivateAndDisable Function

KtMDsr_PpmuSitesInactivateAndDisable Function
PpmuSite See Also

Releases PPMU resources associated with this site and places the channels into a high impedance state.

Function Tree Node: \KtMDsr\Instrument Specific\PpmuSite\PpmuSitess Inactivate And Disable
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_PpmuSitesInactivateAndDisable(
    ViSession Vi,
    ViConstString SiteName
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

SiteName

Name of PPMU site

Return Value

Success or failure code.

Remarks

For more information on the PpmuSites interface, see the PpmuSites Overview.
For more information on the dynamic repeated capability Inactivate function, see Dynamic Repeated Capabilities.
For general information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

PpmuSite
KtMDsr


Signal

Signal
See Also

Tree Node: \KtMDsr\Instrument Specific\Signal

Functions

 | Name | Description
Function | Signal Set Direction | Gets or sets the direction of this signal. The direction is relative to the DUT.
Function | Signals Add | Adds a Signal of the specified name.
Function | Signals Add Signal List | Takes a list of Signal names and creates a new Signal for each, including an assigned direction. This provides a way to define several Signals at once.
Function | Signals Remove | Removes the Signal block with the specified name.
Top

Attributes

 | Name | Description
Attribute | Signal Direction | Gets or sets the direction of this signal. The direction is relative to the DUT.
Attribute | Signals Count |
Top

See Also

Reference

KtMDsr


KTMDSR_ATTR_SIGNAL_DIRECTION Attribute

KTMDSR_ATTR_SIGNAL_DIRECTION Attribute
Signal See Also

Gets or sets the direction of this signal. The direction is relative to the DUT.

Attribute Tree Node: \KtMDsr\Instrument Specific\Signal\Signal Direction
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SIGNAL_DIRECTION 1150106

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

ViStatus KtMDsr_SetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Signal repeated capability.

AttributeID

Must be KTMDSR_ATTR_SIGNAL_DIRECTION.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Defined Values

Name | Description
KTMDSR_VAL_SIGNAL_DIRECTION_IN | Specifies that the signal is an input to the DUT (and output from the DSR).
KTMDSR_VAL_SIGNAL_DIRECTION_OUT | Specifies that the signal is an output from the DUT (and input to the DSR).
KTMDSR_VAL_SIGNAL_DIRECTION_IN_OUT | Specifies that the signal can be either an input to the DUT or an output from the DUT.
Top

Requirements

Supported Models

All supported

See Also

Reference

Signal
KtMDsr


KtMDsr_SignalSetDirection Function

KtMDsr_SignalSetDirection Function
Signal See Also

Gets or sets the direction of this signal. The direction is relative to the DUT.

Function Tree Node: \KtMDsr\Instrument Specific\Signal\Signal Set Direction
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SignalSetDirection(
    ViSession Vi,
    ViConstString Signal,
    ViInt32 Direction
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Signal

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the Signal repeated capability.

Direction

Get/Set the direction of the signal

Return Value

Success or failure code.

Requirements

Supported Models

All supported

Defined Values For Parameter Direction

Name | Description
KTMDSR_VAL_SIGNAL_DIRECTION_IN | Specifies that the signal is an input to the DUT (and output from the DSR).
KTMDSR_VAL_SIGNAL_DIRECTION_OUT | Specifies that the signal is an output from the DUT (and input to the DSR).
KTMDSR_VAL_SIGNAL_DIRECTION_IN_OUT | Specifies that the signal can be either an input to the DUT or an output from the DUT.
Top

See Also

Reference

Signal
KtMDsr


KtMDsr_SignalsAdd Function

KtMDsr_SignalsAdd Function
Signal See Also

Adds a Signal of the specified name.

Function Tree Node: \KtMDsr\Instrument Specific\Signal\Signals Add
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SignalsAdd(
    ViSession Vi,
    ViConstString Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Name

Name of Signal

Return Value

Success or failure code.

Remarks

For more information on the Signals interface, see the Signals Overview.
For more information on the dynamic repeated capability Add function, see Dynamic Repeated Capabilities.
See STIL Components for more information on how patterns are defined.

Requirements

Supported Models

All supported

See Also

Reference

Signal
KtMDsr


KtMDsr_SignalsAddSignalList Function

KtMDsr_SignalsAddSignalList Function
Signal See Also

Takes a list of Signal names and creates a new Signal for each, including an assigned direction. This provides a way to define several Signals at once.

Function Tree Node: \KtMDsr\Instrument Specific\Signal\Signals Add Signal List
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SignalsAddSignalList(
    ViSession Vi,
    ViConstString Signals,
    ViInt32 DirectionBufferSize,
    ViInt32[] Direction
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Signals

String containing a list of signal names.

DirectionBufferSize

Direction

Array of directions (relative to the DUT) to apply to the Signal list. Directions are assigned as follows: first enum in Direction array is assigned to first signal in the Signal list, second direction enum to second signal in list, and so on.

Return Value

Success or failure code.

Remarks

AddSignalList provides a simple way to Add several signals with a single function call.

The Signals string has the following syntax:

Plus (+) or comma (,) are used to list Signal names | Sig1+Sig2+Sig3 Sig1,Sig2,Sig3
A range of Signals can be added using square brackets | DataBus[0..16]
Minus (-) removes a signal from the expression | DataBus[0..16] - DataBus[16]

For more information on the Signals interface, see the Signals Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
See STIL Components for more information on how patterns are defined.

Requirements

Supported Models

All supported

Defined Values For Parameter Direction

Name | Description
KTMDSR_VAL_SIGNAL_DIRECTION_IN | Specifies that the signal is an input to the DUT (and output from the DSR).
KTMDSR_VAL_SIGNAL_DIRECTION_OUT | Specifies that the signal is an output from the DUT (and input to the DSR).
KTMDSR_VAL_SIGNAL_DIRECTION_IN_OUT | Specifies that the signal can be either an input to the DUT or an output from the DUT.
Top

See Also

Reference

Signal
KtMDsr


KTMDSR_ATTR_SIGNALS_COUNT Attribute

KTMDSR_ATTR_SIGNALS_COUNT Attribute
Signal See Also

Attribute Tree Node: \KtMDsr\Instrument Specific\Signal\Signals Count
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SIGNALS_COUNT 1150056

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_SIGNALS_COUNT.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

For more information on the Signals interface, see the Signals Overview.
For more information on the dynamic repeated capability Count attribute, see Dynamic Repeated Capabilities.
See STIL Components for more information on how patterns are defined.

Requirements

Supported Models

All supported

See Also

Reference

Signal
KtMDsr


KtMDsr_SignalsRemove Function

KtMDsr_SignalsRemove Function
Signal See Also

Removes the Signal block with the specified name.

Function Tree Node: \KtMDsr\Instrument Specific\Signal\Signals Remove
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SignalsRemove(
    ViSession Vi,
    ViConstString Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Name

Name of Signal block to Remove.

Return Value

Success or failure code.

Remarks

For more information on the Signals interface, see the Signals Overview.
For more information on the dynamic repeated capability Remove function, see Dynamic Repeated Capabilities.
See STIL Components for more information on how patterns are defined.

Requirements

Supported Models

All supported

See Also

Reference

Signal
KtMDsr


SignalGroup

SignalGroup
See Also

Tree Node: \KtMDsr\Instrument Specific\SignalGroup

Functions

 | Name | Description
Function | SignalGroup Set Signals | Sets the list of Signals to use for this SignalGroup. To add multiple signals at the same time, they should be defined using conventional STIL signal-reference-expression syntax. For instance "Sig1+Sig2+Bus[0..7]".
Function | SignalGroups Add | Adds a SignalGroup block of the specified name.
Function | SignalGroups Get Name | Returns the signalgroup name that corresponds to the one-based index that the user specifies.
Function | SignalGroups Remove | Removes the SignalGroup block with the specified name.
Top

Attributes

 | Name | Description
Attribute | SignalGroup Signals | Sets the list of Signals to use for this SignalGroup. To add multiple signals at the same time, they should be defined using conventional STIL signal-reference-expression syntax. For instance "Sig1+Sig2+Bus[0..7]".
Attribute | SignalGroups Count |
Top

See Also

Reference

KtMDsr


KtMDsr_SignalGroupSetSignals Function

KtMDsr_SignalGroupSetSignals Function
SignalGroup See Also

Sets the list of Signals to use for this SignalGroup. To add multiple signals at the same time, they should be defined using conventional STIL signal-reference-expression syntax. For instance "Sig1+Sig2+Bus[0..7]".

Function Tree Node: \KtMDsr\Instrument Specific\SignalGroup\SignalGroup Set Signals
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SignalGroupSetSignals(
    ViSession Vi,
    ViConstString SignalGroup,
    ViConstString Signals
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

SignalGroup

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the SignalGroup repeated capability.

Signals

Add/Remove signals from the SignalGroup. To add multiple signals at the same time, they should be defined using conventional STIL syntax. For instance ?Sig1+Sig2?.

Return Value

Success or failure code.

Remarks

This attribute contains the string that defines the group as defined Signal Groups.

For more information on the SignalGroups interface, see the SignalGroups Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For more information on evaluating Signal and numeric expressions, see Signal Expressions and Numeric Expressions.

Requirements

Supported Models

All supported

See Also

Reference

SignalGroup
KtMDsr


KTMDSR_ATTR_SIGNALGROUP_SIGNALS Attribute

KTMDSR_ATTR_SIGNALGROUP_SIGNALS Attribute
SignalGroup See Also

Sets the list of Signals to use for this SignalGroup. To add multiple signals at the same time, they should be defined using conventional STIL signal-reference-expression syntax. For instance "Sig1+Sig2+Bus[0..7]".

Attribute Tree Node: \KtMDsr\Instrument Specific\SignalGroup\SignalGroup Signals
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SIGNALGROUP_SIGNALS 1150152

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

ViStatus KtMDsr_SetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViConstString AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the SignalGroup repeated capability.

AttributeID

Must be KTMDSR_ATTR_SIGNALGROUP_SIGNALS.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue (GetAttribute)

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

This attribute contains the string that defines the group as defined Signal Groups.

For more information on the SignalGroups interface, see the SignalGroups Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For more information on evaluating Signal and numeric expressions, see Signal Expressions and Numeric Expressions.

Requirements

Supported Models

All supported

See Also

Reference

SignalGroup
KtMDsr


KtMDsr_SignalGroupsAdd Function

KtMDsr_SignalGroupsAdd Function
SignalGroup See Also

Adds a SignalGroup block of the specified name.

Function Tree Node: \KtMDsr\Instrument Specific\SignalGroup\SignalGroups Add
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SignalGroupsAdd(
    ViSession Vi,
    ViConstString Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Name

Name of SignalGroup

Return Value

Success or failure code.

Remarks

For more information on the SignalGroups interface, see the SignalGroups Overview.
For more information on the dynamic repeated capability Add function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

SignalGroup
KtMDsr


KTMDSR_ATTR_SIGNALGROUPS_COUNT Attribute

KTMDSR_ATTR_SIGNALGROUPS_COUNT Attribute
SignalGroup See Also

Attribute Tree Node: \KtMDsr\Instrument Specific\SignalGroup\SignalGroups Count
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SIGNALGROUPS_COUNT 1150054

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_SIGNALGROUPS_COUNT.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

For more information on the SignalGroups interface, see the SignalGroups Overview.
For more information on the dynamic repeated capability Count attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

SignalGroup
KtMDsr


KtMDsr_SignalGroupsGetName Function

KtMDsr_SignalGroupsGetName Function
SignalGroup See Also

Returns the signalgroup name that corresponds to the one-based index that the user specifies.

Function Tree Node: \KtMDsr\Instrument Specific\SignalGroup\SignalGroups Get Name
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SignalGroupsGetName(
    ViSession Vi,
    ViInt32 Index,
    ViInt32 NameBufferSize,
    ViChar[] Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Index

A one-based index that defines which name to return.

NameBufferSize

Number of elements in Name.

Name

Specifies the buffer into which the function returns the name that corresponds to the index the user specifies. The caller may pass VI_NULL for this parameter if the buffer size parameter is 0.

Return Value

Success or failure code.

Remarks

For more information on the SignalGroups interface, see the SignalGroups Overview.
For more information on the dynamic repeated capability Name attribute, see Dynamic Repeated Capabilities.
For more information on evaluating Signal and numeric expressions, see Signal Expressions and Numeric Expressions.

Requirements

Supported Models

All supported

See Also

Reference

SignalGroup
KtMDsr


KtMDsr_SignalGroupsRemove Function

KtMDsr_SignalGroupsRemove Function
SignalGroup See Also

Removes the SignalGroup block with the specified name.

Function Tree Node: \KtMDsr\Instrument Specific\SignalGroup\SignalGroups Remove
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SignalGroupsRemove(
    ViSession Vi,
    ViConstString Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Name

Name of SignalGroup

Return Value

Success or failure code.

Remarks

For more information on the SignalGroups interface, see the SignalGroups Overview.
For more information on the dynamic repeated capability Remove function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

SignalGroup
KtMDsr


Site

Site
See Also

Tree Node: \KtMDsr\Instrument Specific\Site

Functions

 | Name | Description
Function | Site Assign Signal | Defines the mapping from a signal to a channel and specifies the ordinal. The ordinal specifies the bit or element number to use when packing measurement results into bytes or arrays.
Function | Site Assign Signal List | Provides a simple way to define several signals from a comma-separated list of Signal names. Automatically assigns channels and ordinals. First Signal name is assigned Channels[0]; ordinals begin from highest ordinal already assigned for that site.
Function | Site Query Site | Returns the Signals, Channels, and Ordinals defined in the site.
Function | Site Set Marker0 Destination | Sets the destination of all Marker0 references for patterns run on this site. The destination specifies on what signal the marker is generated.
Function | Site Set Marker1 Destination | Sets the destination of all Marker1 references for patterns run on this site. The destination specifies on what signal the marker is generated.
Function | Site Set Marker2 Destination | Sets the destination of all Marker2 references for patterns run on this site. The destination specifies on what signal the marker is generated.
Function | Site Set Trigger0 Source | Configures the trigger event that maps to Trigger0 in the WatchLoop.
Function | Site Set Trigger1 Source | Configures the trigger event that maps to Trigger1 in the WatchLoop.
Function | Site Set Trigger2 Source | Configures the trigger event that maps to Trigger2 in the WatchLoop.
Function | Site Set Trigger3 Source | Configures the trigger event that maps to Trigger3 in the WatchLoop.
Function | Site Set Trigger4 Source | Configures the trigger event that maps to Trigger4 in the WatchLoop.
Function | Site Set Trigger5 Source | Configures the trigger event that maps to Trigger5 in the WatchLoop.
Function | Sites Add | Adds a Site with the specified name.
Function | Sites Get Name | Returns the site name that corresponds to the one-based index that the user specifies.
Function | Sites Remove | Removes the Site of the specified name. Fails if the Site is not defined.
Top

Attributes

 | Name | Description
Attribute | Site Marker0 Destination | Sets the destination of all Marker0 references for patterns run on this site. The destination specifies on what signal the marker is generated.
Attribute | Site Marker1 Destination | Sets the destination of all Marker1 references for patterns run on this site. The destination specifies on what signal the marker is generated.
Attribute | Site Marker2 Destination | Sets the destination of all Marker2 references for patterns run on this site. The destination specifies on what signal the marker is generated.
Attribute | Site Trigger0 Source | Configures the trigger event that maps to Trigger0 in the WatchLoop.
Attribute | Site Trigger1 Source | Configures the trigger event that maps to Trigger1 in the WatchLoop.
Attribute | Site Trigger2 Source | Configures the trigger event that maps to Trigger2 in the WatchLoop.
Attribute | Site Trigger3 Source | Configures the trigger event that maps to Trigger3 in the WatchLoop.
Attribute | Site Trigger4 Source | Configures the trigger event that maps to Trigger4 in the WatchLoop.
Attribute | Site Trigger5 Source | Configures the trigger event that maps to Trigger5 in the WatchLoop.
Attribute | Sites Count |
Top

See Also

Reference

KtMDsr


KtMDsr_SiteAssignSignal Function

KtMDsr_SiteAssignSignal Function
Site See Also

Defines the mapping from a signal to a channel and specifies the ordinal. The ordinal specifies the bit or element number to use when packing measurement results into bytes or arrays.

Function Tree Node: \KtMDsr\Instrument Specific\Site\Site Assign Signal
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SiteAssignSignal(
    ViSession Vi,
    ViConstString Site,
    ViConstString Signal,
    ViInt32 Channel,
    ViInt32 Ordinal
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Site

The physical or virtual repeated capability identifier. Pass VI_NULL if the operation does not apply to a repeated capability. You can also pass VI_NULL if the device only has a single site.For valid values, see the Site repeated capability.

Signal

Name of Signal

Channel

Channel number to map to the Signal

Ordinal

Ordinal (Index used for data formatting). An ordinal is needed for Signals with direction of Out or InOut, and for Signals used for PPMU measurement. Use -1 to ignore this field.

Return Value

Success or failure code.

Remarks

For more information on the Sites interface, see the Sites Overview.
For more information on Signals, see the Signals Overview.

Requirements

Supported Models

All supported

See Also

Reference

Site
KtMDsr


KtMDsr_SiteAssignSignalList Function

KtMDsr_SiteAssignSignalList Function
Site See Also

Provides a simple way to define several signals from a comma-separated list of Signal names. Automatically assigns channels and ordinals. First Signal name is assigned Channels[0]; ordinals begin from highest ordinal already assigned for that site.

Function Tree Node: \KtMDsr\Instrument Specific\Site\Site Assign Signal List
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SiteAssignSignalList(
    ViSession Vi,
    ViConstString Site,
    ViConstString Signals,
    ViInt32 ChannelsBufferSize,
    ViInt32[] Channels
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Site

The physical or virtual repeated capability identifier. Pass VI_NULL if the operation does not apply to a repeated capability. You can also pass VI_NULL if the device only has a single site.For valid values, see the Site repeated capability.

Signals

Comma-separated list of Signals

ChannelsBufferSize

Channels

Channel numbers to pair with Signals. Index 0 applies to the first Signal in the string.

Return Value

Success or failure code.

Remarks

When ordinals are automatically assigned, the numbering starts from the highest ordinal already defined for that site (which may be 0).

AssignSignalList provides a shorthand for defining sites. It provides the same functionality as AssignSignal but requires that the Signals and Channels be provided in the order that ordinals should be assigned.

For more information on the Sites interface, see the Sites Overview.
For more information on Signals, see the Signals Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

Site
KtMDsr


KTMDSR_ATTR_SITE_MARKER0_DESTINATION Attribute

KTMDSR_ATTR_SITE_MARKER0_DESTINATION Attribute
Site See Also

Sets the destination of all Marker0 references for patterns run on this site. The destination specifies on what signal the marker is generated.

Attribute Tree Node: \KtMDsr\Instrument Specific\Site\Site Marker0 Destination
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SITE_MARKER0_DESTINATION 1150245

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

ViStatus KtMDsr_SetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViConstString AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Site repeated capability.

AttributeID

Must be KTMDSR_ATTR_SITE_MARKER0_DESTINATION.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue (GetAttribute)

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Allowed Values

"External1", "External2", "GPIO1", "GPIO2", "PXI_TRIG0", "PXI_TRIG1", "PXI_TRIG2", "PXI_TRIG3", "PXI_TRIG4", "PXI_TRIG5", "PXI_TRIG6", "PXI_TRIG7", "PXI_STAR", "PXIe_DSTARC"

Requirements

Supported Models

All supported

See Also

Reference

Site
KtMDsr


KTMDSR_ATTR_SITE_MARKER1_DESTINATION Attribute

KTMDSR_ATTR_SITE_MARKER1_DESTINATION Attribute
Site See Also

Sets the destination of all Marker1 references for patterns run on this site. The destination specifies on what signal the marker is generated.

Attribute Tree Node: \KtMDsr\Instrument Specific\Site\Site Marker1 Destination
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SITE_MARKER1_DESTINATION 1150246

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

ViStatus KtMDsr_SetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViConstString AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Site repeated capability.

AttributeID

Must be KTMDSR_ATTR_SITE_MARKER1_DESTINATION.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue (GetAttribute)

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Allowed Values

"External1", "External2", "GPIO1", "GPIO2", "PXI_TRIG0", "PXI_TRIG1", "PXI_TRIG2", "PXI_TRIG3", "PXI_TRIG4", "PXI_TRIG5", "PXI_TRIG6", "PXI_TRIG7", "PXI_STAR", "PXIe_DSTARC"

Requirements

Supported Models

All supported

See Also

Reference

Site
KtMDsr


KTMDSR_ATTR_SITE_MARKER2_DESTINATION Attribute

KTMDSR_ATTR_SITE_MARKER2_DESTINATION Attribute
Site See Also

Sets the destination of all Marker2 references for patterns run on this site. The destination specifies on what signal the marker is generated.

Attribute Tree Node: \KtMDsr\Instrument Specific\Site\Site Marker2 Destination
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SITE_MARKER2_DESTINATION 1150247

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

ViStatus KtMDsr_SetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViConstString AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Site repeated capability.

AttributeID

Must be KTMDSR_ATTR_SITE_MARKER2_DESTINATION.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue (GetAttribute)

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Allowed Values

"External1", "External2", "GPIO1", "GPIO2", "PXI_TRIG0", "PXI_TRIG1", "PXI_TRIG2", "PXI_TRIG3", "PXI_TRIG4", "PXI_TRIG5", "PXI_TRIG6", "PXI_TRIG7", "PXI_STAR", "PXIe_DSTARC"

Requirements

Supported Models

All supported

See Also

Reference

Site
KtMDsr


KtMDsr_SiteQuerySite Function

KtMDsr_SiteQuerySite Function
Site See Also

Returns the Signals, Channels, and Ordinals defined in the site.

Function Tree Node: \KtMDsr\Instrument Specific\Site\Site Query Site
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SiteQuerySite(
    ViSession Vi,
    ViConstString Site,
    ViInt32 SignalsBufferSize,
    ViChar[] Signals,
    ViInt32 ChannelsBufferSize,
    ViInt32[] Channels,
    ViInt32* ChannelsActualSize,
    ViInt32 OrdinalsBufferSize,
    ViInt32[] Ordinals,
    ViInt32* OrdinalsActualSize
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Site

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the Site repeated capability.

SignalsBufferSize

Signals

Comma-separated list of signals.

ChannelsBufferSize

Channels

Array containing all of the defined channels. Element 0 corresponds to the first Signal in the list.

ChannelsActualSize

OrdinalsBufferSize

Ordinals

Array containing the ordinals for each channel. Element 0 corresponds to the first Signal in the list. Use -1 to indicate that no ordinal is defined for this channel.

OrdinalsActualSize

Return Value

Success or failure code.

Remarks

This function provides a way to read back all the settings from this site.

For more information on the Sites interface, see the Sites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

Site
KtMDsr


KtMDsr_SiteSetMarker0Destination Function

KtMDsr_SiteSetMarker0Destination Function
Site See Also

Sets the destination of all Marker0 references for patterns run on this site. The destination specifies on what signal the marker is generated.

Function Tree Node: \KtMDsr\Instrument Specific\Site\Site Set Marker0 Destination
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SiteSetMarker0Destination(
    ViSession Vi,
    ViConstString Site,
    ViConstString Marker0Destination
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Site

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the Site repeated capability.

Marker0Destination

Sets the destination of all ?X Marker0? references for patterns run on this site.

Return Value

Success or failure code.

See Also

Reference

Site
KtMDsr


KtMDsr_SiteSetMarker1Destination Function

KtMDsr_SiteSetMarker1Destination Function
Site See Also

Sets the destination of all Marker1 references for patterns run on this site. The destination specifies on what signal the marker is generated.

Function Tree Node: \KtMDsr\Instrument Specific\Site\Site Set Marker1 Destination
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SiteSetMarker1Destination(
    ViSession Vi,
    ViConstString Site,
    ViConstString Marker1Destination
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Site

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the Site repeated capability.

Marker1Destination

Sets the destination of all ?X Marker1? references for patterns run on this site.

Return Value

Success or failure code.

See Also

Reference

Site
KtMDsr


KtMDsr_SiteSetMarker2Destination Function

KtMDsr_SiteSetMarker2Destination Function
Site See Also

Sets the destination of all Marker2 references for patterns run on this site. The destination specifies on what signal the marker is generated.

Function Tree Node: \KtMDsr\Instrument Specific\Site\Site Set Marker2 Destination
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SiteSetMarker2Destination(
    ViSession Vi,
    ViConstString Site,
    ViConstString Marker2Destination
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Site

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the Site repeated capability.

Marker2Destination

Sets the destination of all ?X Marker2? references for patterns run on this site.

Return Value

Success or failure code.

See Also

Reference

Site
KtMDsr


KtMDsr_SiteSetTrigger0Source Function

KtMDsr_SiteSetTrigger0Source Function
Site See Also

Configures the trigger event that maps to Trigger0 in the WatchLoop.

Function Tree Node: \KtMDsr\Instrument Specific\Site\Site Set Trigger0 Source
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SiteSetTrigger0Source(
    ViSession Vi,
    ViConstString Site,
    ViConstString Trigger0Source
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Site

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the Site repeated capability.

Trigger0Source

Configures the trigger event that maps to Trigger0 in the WatchLoop.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

Site
KtMDsr


KtMDsr_SiteSetTrigger1Source Function

KtMDsr_SiteSetTrigger1Source Function
Site See Also

Configures the trigger event that maps to Trigger1 in the WatchLoop.

Function Tree Node: \KtMDsr\Instrument Specific\Site\Site Set Trigger1 Source
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SiteSetTrigger1Source(
    ViSession Vi,
    ViConstString Site,
    ViConstString Trigger2Source
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Site

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the Site repeated capability.

Trigger2Source

Configure the triggers looked for by the Watch and OnTrigger operation.

Return Value

Success or failure code.

Remarks

The Trigger1Source attribute assigns the source of trigger events to use when the pattern references Trigger1.

For instance, in the pattern below,

     Vector WXYZ;
     Vector ABCD;
     WatchLoop 10 Trigger1 {
     Vector EFGH;
     }

code similar to this would set the above WatchLoop to watch for SoftwareTrigger1:

     myDriver.Site.Item["mySite"].Trigger1Source="SoftwareTrigger1";

For more information on the Sites interface, see the Sites Overview.

Requirements

Supported Models

All supported

See Also

Reference

Site
KtMDsr


KtMDsr_SiteSetTrigger2Source Function

KtMDsr_SiteSetTrigger2Source Function
Site See Also

Configures the trigger event that maps to Trigger2 in the WatchLoop.

Function Tree Node: \KtMDsr\Instrument Specific\Site\Site Set Trigger2 Source
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SiteSetTrigger2Source(
    ViSession Vi,
    ViConstString Site,
    ViConstString Trigger2Source
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Site

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the Site repeated capability.

Trigger2Source

Configures the physical trigger that corresponds to Trigger2 in the WatchLoop.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

Site
KtMDsr


KtMDsr_SiteSetTrigger3Source Function

KtMDsr_SiteSetTrigger3Source Function
Site See Also

Configures the trigger event that maps to Trigger3 in the WatchLoop.

Function Tree Node: \KtMDsr\Instrument Specific\Site\Site Set Trigger3 Source
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SiteSetTrigger3Source(
    ViSession Vi,
    ViConstString Site,
    ViConstString Trigger3Source
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Site

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the Site repeated capability.

Trigger3Source

Configures the physical trigger that corresponds to Trigger3 in the WatchLoop.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

Site
KtMDsr


KtMDsr_SiteSetTrigger4Source Function

KtMDsr_SiteSetTrigger4Source Function
Site See Also

Configures the trigger event that maps to Trigger4 in the WatchLoop.

Function Tree Node: \KtMDsr\Instrument Specific\Site\Site Set Trigger4 Source
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SiteSetTrigger4Source(
    ViSession Vi,
    ViConstString Site,
    ViConstString Trigger4Source
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Site

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the Site repeated capability.

Trigger4Source

Configures the trigger event that maps to Trigger4 in the WatchLoop.

Return Value

Success or failure code.

Remarks

The Trigger4Source attribute assigns the source of trigger events to use when the pattern references Trigger4.

For instance, in the pattern below,

     Vector WXYZ;
     Vector ABCD;
     WatchLoop 10 Trigger4 {
     Vector EFGH;
     }

code similar to this would set the above WatchLoop to watch for SoftwareTrigger1:

     myDriver.Site.Item["mySite"].Trigger4Source="SoftwareTrigger1";

For more information on the Sites interface, see the Sites Overview.

Requirements

Supported Models

All supported

See Also

Reference

Site
KtMDsr


KtMDsr_SiteSetTrigger5Source Function

KtMDsr_SiteSetTrigger5Source Function
Site See Also

Configures the trigger event that maps to Trigger5 in the WatchLoop.

Function Tree Node: \KtMDsr\Instrument Specific\Site\Site Set Trigger5 Source
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SiteSetTrigger5Source(
    ViSession Vi,
    ViConstString Site,
    ViConstString Trigger5Source
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Site

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the Site repeated capability.

Trigger5Source

Configures the trigger event that maps to Trigger5 in the WatchLoop.

Return Value

Success or failure code.

Remarks

The Trigger5Source attribute assigns the source of trigger events to use when the pattern references Trigger5.

For instance, in the pattern below,

     Vector WXYZ;
     Vector ABCD;
     WatchLoop 10 Trigger5 {
     Vector EFGH;
     }

code similar to this would set the above WatchLoop to watch for SoftwareTrigger1:

     myDriver.Site.Item["mySite"].Trigger5Source="SoftwareTrigger1";

For more information on the Sites interface, see the Sites Overview.

Requirements

Supported Models

All supported

See Also

Reference

Site
KtMDsr


KTMDSR_ATTR_SITE_TRIGGER0_SOURCE Attribute

KTMDSR_ATTR_SITE_TRIGGER0_SOURCE Attribute
Site See Also

Configures the trigger event that maps to Trigger0 in the WatchLoop.

Attribute Tree Node: \KtMDsr\Instrument Specific\Site\Site Trigger0 Source
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SITE_TRIGGER0_SOURCE 1150236

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

ViStatus KtMDsr_SetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViConstString AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Site repeated capability.

AttributeID

Must be KTMDSR_ATTR_SITE_TRIGGER0_SOURCE.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue (GetAttribute)

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Allowed Values

"SoftwareTrigger0", "SoftwareTrigger1", "SoftwareTrigger2", "SoftwareTrigger3", "SoftwareTrigger4", "SoftwareTrigger5", "SoftwareTrigger6", "SoftwareTrigger7", "SoftwareTrigger8", "SoftwareTrigger9", "SoftwareTrigger10", "SoftwareTrigger11", "SoftwareTrigger12", "SoftwareTrigger13", "SoftwareTrigger14", "SoftwareTrigger15", "External1", "External2", "GPIO1", "GPIO2", "PXI_TRIG0", "PXI_TRIG1", "PXI_TRIG2", "PXI_TRIG3", "PXI_TRIG4", "PXI_TRIG5", "PXI_TRIG6", "PXI_TRIG7", "PXI_STAR", "PXIe_DSTARB"

Requirements

Supported Models

All supported

See Also

Reference

Site
KtMDsr


KTMDSR_ATTR_SITE_TRIGGER1_SOURCE Attribute

KTMDSR_ATTR_SITE_TRIGGER1_SOURCE Attribute
Site See Also

Configures the trigger event that maps to Trigger1 in the WatchLoop.

Attribute Tree Node: \KtMDsr\Instrument Specific\Site\Site Trigger1 Source
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SITE_TRIGGER1_SOURCE 1150149

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

ViStatus KtMDsr_SetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViConstString AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Site repeated capability.

AttributeID

Must be KTMDSR_ATTR_SITE_TRIGGER1_SOURCE.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue (GetAttribute)

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

The Trigger1Source attribute assigns the source of trigger events to use when the pattern references Trigger1.

For instance, in the pattern below,

     Vector WXYZ;
     Vector ABCD;
     WatchLoop 10 Trigger1 {
     Vector EFGH;
     }

code similar to this would set the above WatchLoop to watch for SoftwareTrigger1:

     myDriver.Site.Item["mySite"].Trigger1Source="SoftwareTrigger1";

For more information on the Sites interface, see the Sites Overview.

Allowed Values

"SoftwareTrigger0", "SoftwareTrigger1", "SoftwareTrigger2", "SoftwareTrigger3", "SoftwareTrigger4", "SoftwareTrigger5", "SoftwareTrigger6", "SoftwareTrigger7", "SoftwareTrigger8", "SoftwareTrigger9", "SoftwareTrigger10", "SoftwareTrigger11", "SoftwareTrigger12", "SoftwareTrigger13", "SoftwareTrigger14", "SoftwareTrigger15", "External1", "External2", "GPIO1", "GPIO2", "PXI_TRIG0", "PXI_TRIG1", "PXI_TRIG2", "PXI_TRIG3", "PXI_TRIG4", "PXI_TRIG5", "PXI_TRIG6", "PXI_TRIG7", "PXI_STAR", "PXIe_DSTARB"

Requirements

Supported Models

All supported

See Also

Reference

Site
KtMDsr


KTMDSR_ATTR_SITE_TRIGGER2_SOURCE Attribute

KTMDSR_ATTR_SITE_TRIGGER2_SOURCE Attribute
Site See Also

Configures the trigger event that maps to Trigger2 in the WatchLoop.

Attribute Tree Node: \KtMDsr\Instrument Specific\Site\Site Trigger2 Source
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SITE_TRIGGER2_SOURCE 1150150

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

ViStatus KtMDsr_SetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViConstString AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Site repeated capability.

AttributeID

Must be KTMDSR_ATTR_SITE_TRIGGER2_SOURCE.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue (GetAttribute)

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

The Trigger2Source attribute assigns the source of trigger events to use when the pattern references Trigger2.

For instance, in the pattern below,

     Vector WXYZ;
     Vector ABCD;
     WatchLoop 10 Trigger2 {
     Vector EFGH;
     }

code similar to this would set the above WatchLoop to watch for SoftwareTrigger1:

     myDriver.Site.Item["mySite"].Trigger2Source="SoftwareTrigger1";

For more information on the Sites interface, see the Sites Overview.

Allowed Values

"SoftwareTrigger0", "SoftwareTrigger1", "SoftwareTrigger2", "SoftwareTrigger3", "SoftwareTrigger4", "SoftwareTrigger5", "SoftwareTrigger6", "SoftwareTrigger7", "SoftwareTrigger8", "SoftwareTrigger9", "SoftwareTrigger10", "SoftwareTrigger11", "SoftwareTrigger12", "SoftwareTrigger13", "SoftwareTrigger14", "SoftwareTrigger15", "External1", "External2", "GPIO1", "GPIO2", "PXI_TRIG0", "PXI_TRIG1", "PXI_TRIG2", "PXI_TRIG3", "PXI_TRIG4", "PXI_TRIG5", "PXI_TRIG6", "PXI_TRIG7", "PXI_STAR", "PXIe_DSTARB"

Requirements

Supported Models

All supported

See Also

Reference

Site
KtMDsr


KTMDSR_ATTR_SITE_TRIGGER3_SOURCE Attribute

KTMDSR_ATTR_SITE_TRIGGER3_SOURCE Attribute
Site See Also

Configures the trigger event that maps to Trigger3 in the WatchLoop.

Attribute Tree Node: \KtMDsr\Instrument Specific\Site\Site Trigger3 Source
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SITE_TRIGGER3_SOURCE 1150225

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

ViStatus KtMDsr_SetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViConstString AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Site repeated capability.

AttributeID

Must be KTMDSR_ATTR_SITE_TRIGGER3_SOURCE.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue (GetAttribute)

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

The Trigger3Source attribute assigns the source of trigger events to use when the pattern references Trigger3.

For instance, in the pattern below,

     Vector WXYZ;
     Vector ABCD;
     WatchLoop 10 Trigger3 {
     Vector EFGH;
     }

code similar to this would set the above WatchLoop to watch for SoftwareTrigger1:

     myDriver.Site.Item["mySite"].Trigger3Source="SoftwareTrigger1";

For more information on the Sites interface, see the Sites Overview.

Allowed Values

"SoftwareTrigger0", "SoftwareTrigger1", "SoftwareTrigger2", "SoftwareTrigger3", "SoftwareTrigger4", "SoftwareTrigger5", "SoftwareTrigger6", "SoftwareTrigger7", "SoftwareTrigger8", "SoftwareTrigger9", "SoftwareTrigger10", "SoftwareTrigger11", "SoftwareTrigger12", "SoftwareTrigger13", "SoftwareTrigger14", "SoftwareTrigger15", "External1", "External2", "GPIO1", "GPIO2", "PXI_TRIG0", "PXI_TRIG1", "PXI_TRIG2", "PXI_TRIG3", "PXI_TRIG4", "PXI_TRIG5", "PXI_TRIG6", "PXI_TRIG7", "PXI_STAR", "PXIe_DSTARB"

Requirements

Supported Models

All supported

See Also

Reference

Site
KtMDsr


KTMDSR_ATTR_SITE_TRIGGER4_SOURCE Attribute

KTMDSR_ATTR_SITE_TRIGGER4_SOURCE Attribute
Site See Also

Configures the trigger event that maps to Trigger4 in the WatchLoop.

Attribute Tree Node: \KtMDsr\Instrument Specific\Site\Site Trigger4 Source
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SITE_TRIGGER4_SOURCE 1150226

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

ViStatus KtMDsr_SetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViConstString AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Site repeated capability.

AttributeID

Must be KTMDSR_ATTR_SITE_TRIGGER4_SOURCE.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue (GetAttribute)

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

The Trigger4Source attribute assigns the source of trigger events to use when the pattern references Trigger4.

For instance, in the pattern below,

     Vector WXYZ;
     Vector ABCD;
     WatchLoop 10 Trigger4 {
     Vector EFGH;
     }

code similar to this would set the above WatchLoop to watch for SoftwareTrigger1:

     myDriver.Site.Item["mySite"].Trigger4Source="SoftwareTrigger1";

For more information on the Sites interface, see the Sites Overview.

Allowed Values

"SoftwareTrigger0", "SoftwareTrigger1", "SoftwareTrigger2", "SoftwareTrigger3", "SoftwareTrigger4", "SoftwareTrigger5", "SoftwareTrigger6", "SoftwareTrigger7", "SoftwareTrigger8", "SoftwareTrigger9", "SoftwareTrigger10", "SoftwareTrigger11", "SoftwareTrigger12", "SoftwareTrigger13", "SoftwareTrigger14", "SoftwareTrigger15", "External1", "External2", "GPIO1", "GPIO2", "PXI_TRIG0", "PXI_TRIG1", "PXI_TRIG2", "PXI_TRIG3", "PXI_TRIG4", "PXI_TRIG5", "PXI_TRIG6", "PXI_TRIG7", "PXI_STAR", "PXIe_DSTARB"

Requirements

Supported Models

All supported

See Also

Reference

Site
KtMDsr


KTMDSR_ATTR_SITE_TRIGGER5_SOURCE Attribute

KTMDSR_ATTR_SITE_TRIGGER5_SOURCE Attribute
Site See Also

Configures the trigger event that maps to Trigger5 in the WatchLoop.

Attribute Tree Node: \KtMDsr\Instrument Specific\Site\Site Trigger5 Source
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SITE_TRIGGER5_SOURCE 1150227

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

ViStatus KtMDsr_SetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViConstString AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Site repeated capability.

AttributeID

Must be KTMDSR_ATTR_SITE_TRIGGER5_SOURCE.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue (GetAttribute)

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

The Trigger5Source attribute assigns the source of trigger events to use when the pattern references Trigger5.

For instance, in the pattern below,

     Vector WXYZ;
     Vector ABCD;
     WatchLoop 10 Trigger5 {
     Vector EFGH;
     }

code similar to this would set the above WatchLoop to watch for SoftwareTrigger1:

     myDriver.Site.Item["mySite"].Trigger5Source="SoftwareTrigger1";

For more information on the Sites interface, see the Sites Overview.

Allowed Values

"SoftwareTrigger0", "SoftwareTrigger1", "SoftwareTrigger2", "SoftwareTrigger3", "SoftwareTrigger4", "SoftwareTrigger5", "SoftwareTrigger6", "SoftwareTrigger7", "SoftwareTrigger8", "SoftwareTrigger9", "SoftwareTrigger10", "SoftwareTrigger11", "SoftwareTrigger12", "SoftwareTrigger13", "SoftwareTrigger14", "SoftwareTrigger15", "External1", "External2", "GPIO1", "GPIO2", "PXI_TRIG0", "PXI_TRIG1", "PXI_TRIG2", "PXI_TRIG3", "PXI_TRIG4", "PXI_TRIG5", "PXI_TRIG6", "PXI_TRIG7", "PXI_STAR", "PXIe_DSTARB"

Requirements

Supported Models

All supported

See Also

Reference

Site
KtMDsr


KtMDsr_SitesAdd Function

KtMDsr_SitesAdd Function
Site See Also

Adds a Site with the specified name.

Function Tree Node: \KtMDsr\Instrument Specific\Site\Sites Add
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SitesAdd(
    ViSession Vi,
    ViConstString Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Name

Name of Site

Return Value

Success or failure code.

Remarks

For more information on the Sites interface, see the Sites Overview.
For more information on the dynamic repeated capability Add function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

Site
KtMDsr


KTMDSR_ATTR_SITES_COUNT Attribute

KTMDSR_ATTR_SITES_COUNT Attribute
Site See Also

Attribute Tree Node: \KtMDsr\Instrument Specific\Site\Sites Count
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SITES_COUNT 1150052

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_SITES_COUNT.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

For more information on the Sites interface, see the Sites Overview.
For more information on the dynamic repeated capability Count attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

Site
KtMDsr


KtMDsr_SitesGetName Function

KtMDsr_SitesGetName Function
Site See Also

Returns the site name that corresponds to the one-based index that the user specifies.

Function Tree Node: \KtMDsr\Instrument Specific\Site\Sites Get Name
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SitesGetName(
    ViSession Vi,
    ViInt32 Index,
    ViInt32 NameBufferSize,
    ViChar[] Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Index

A one-based index that defines which name to return.

NameBufferSize

Number of elements in Name.

Name

Specifies the buffer into which the function returns the name that corresponds to the index the user specifies. The caller may pass VI_NULL for this parameter if the buffer size parameter is 0.

Return Value

Success or failure code.

Remarks

For more information on the Sites interface, see the Sites Overview.
For more information on the dynamic repeated capability Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

Site
KtMDsr


KtMDsr_SitesRemove Function

KtMDsr_SitesRemove Function
Site See Also

Removes the Site of the specified name. Fails if the Site is not defined.

Function Tree Node: \KtMDsr\Instrument Specific\Site\Sites Remove
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SitesRemove(
    ViSession Vi,
    ViConstString Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Name

Name of Site block to Remove

Return Value

Success or failure code.

Remarks

For more information on the Sites interface, see the Sites Overview.
For more information on the dynamic repeated capability Remove function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

Site
KtMDsr


StaticSite

StaticSite
See Also

Tree Node: \KtMDsr\Instrument Specific\StaticSite

Functions

 | Name | Description
Function | StaticSite Read Three State Vector | Inputs a vector and builds it into two integers, one representing the data value and the other indicating if a valid 1 or 0 was detected. The bits of the integers are mapped to the channels based on the ordinals provided in the Site.
Function | StaticSite Read Vector | Inputs a vector and builds it into an integer. The bits of the integer are mapped to the channels based on the ordinals provided in the site.
Function | StaticSite Write Three State Vector | Stimulates the DUT with a vector based on two integers. The bits of the integer are mapped to the channels based on the ordinals provided in the site. The Data parameter sets the truth value; the Enable parameter enables the signal.
Function | StaticSite Write Vector | Stimulates the DUT with a vector based on one integer. The bits of the integer are mapped to channels based on the ordinals in the Site. The Data parameter sets the truth value. All bits configured in the site as Signal In or InOut are written.
Function | StaticSites Activate | Activates a site for StaticSite operations. Once activated, the site block name can be passed to the Item function to access the StaticSite functions for this site.
Function | StaticSites Get Name | Returns the staticsite name that corresponds to the one-based index that the user specifies.
Function | StaticSites Inactivate | Releases StaticSite resources associated with this site without altering the signals on the channels.
Function | StaticSites Inactivate And Disable | Releases StaticSite resources associated with this site and disables the signals on the channels.
Top

Attributes

 | Name | Description
Attribute | StaticSites Count |
Top

See Also

Reference

KtMDsr


KtMDsr_StaticSiteReadThreeStateVector Function

KtMDsr_StaticSiteReadThreeStateVector Function
StaticSite See Also

Inputs a vector and builds it into two integers, one representing the data value and the other indicating if a valid 1 or 0 was detected. The bits of the integers are mapped to the channels based on the ordinals provided in the Site.

Function Tree Node: \KtMDsr\Instrument Specific\StaticSite\StaticSite Read Three State Vector
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_StaticSiteReadThreeStateVector(
    ViSession Vi,
    ViConstString StaticSite,
    ViInt32* Data,
    ViInt32* Valid
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

StaticSite

The physical or virtual repeated capability identifier. Pass VI_NULL if the operation does not apply to a repeated capability. You can also pass VI_NULL if the device only has a single staticsite.For valid values, see the StaticSite repeated capability.

Data

Data read from the StaticSite. The ordinal from the Site definition specifies the mapping between bits of the Data result and the physical channels.

Valid

Indicates if the data read from the StaticSite is valid. The data is valid if the DUT output voltage is greater than Voh or less than Vol. The ordinal from the Site definition specifies the mapping between bits of the Data result and the physical channels.

Return Value

Success or failure code.

Remarks

Reads the state of the site as binary values based on the DC Levels specified when the StaticSite was activated. High values are returned as a 1 in the appropriate bit of the integer. Low values are returned as a 0 in the appropriate bit of the integer. Intermediate values are considered invalid and are returned as a 0 in the Data integer, and indicated in the Valid response parameter.

The Valid response parameter has bits set to 1 in the bit positions where a valid 0 or 1 was read from the input.

Only the 32 least signifficant channels are programmed. To control more than 32 static lines, a second static site must be activated.

Bits in the read result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT input (Direction is In) return 0.

If a bit is invalid, the data value returned is 0.

For more information on the StaticSites interface, see the StaticSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

StaticSite
KtMDsr


KtMDsr_StaticSiteReadVector Function

KtMDsr_StaticSiteReadVector Function
StaticSite See Also

Inputs a vector and builds it into an integer. The bits of the integer are mapped to the channels based on the ordinals provided in the site.

Function Tree Node: \KtMDsr\Instrument Specific\StaticSite\StaticSite Read Vector
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_StaticSiteReadVector(
    ViSession Vi,
    ViConstString StaticSite,
    ViInt32* Val
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

StaticSite

The physical or virtual repeated capability identifier. Pass VI_NULL if the operation does not apply to a repeated capability. You can also pass VI_NULL if the device only has a single staticsite.For valid values, see the StaticSite repeated capability.

Val

The integer read. Invalid voltage inputs are converted to zero.

Return Value

Success or failure code.

Remarks

Reads the state of the site as binary values based on the DC Levels specified when the StaticSite was activated. High values (those higher than Voh) are returned as a 1 in the result. Low values (those lower than Vol) are returned as a 0 in the result. Intermediate values (those where the input voltage is between Voh and Vol) are considered invalid and are returned as a 0 in the result.

This function returns the same value as the ReadThreeStateVector Data response parameter, but does not provide the Valid result that indicates voltage inputs fell between the Voh and Vol thresholds.

Bits in the read result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT input (Direction is In) return 0.

For more information on the StaticSites interface, see the StaticSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

StaticSite
KtMDsr


KtMDsr_StaticSiteWriteThreeStateVector Function

KtMDsr_StaticSiteWriteThreeStateVector Function
StaticSite See Also

Stimulates the DUT with a vector based on two integers. The bits of the integer are mapped to the channels based on the ordinals provided in the site. The Data parameter sets the truth value; the Enable parameter enables the signal.

Function Tree Node: \KtMDsr\Instrument Specific\StaticSite\StaticSite Write Three State Vector
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_StaticSiteWriteThreeStateVector(
    ViSession Vi,
    ViConstString StaticSite,
    ViInt32 Data,
    ViInt32 Enable
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

StaticSite

The physical or virtual repeated capability identifier. Pass VI_NULL if the operation does not apply to a repeated capability. You can also pass VI_NULL if the device only has a single staticsite.For valid values, see the StaticSite repeated capability.

Data

The truth value to force on the channels.

Enable

Enables which channels are written.

Return Value

Success or failure code.

Remarks

Bits not enabled, but configured with Signals defined as DUT In or DUT InOut are placed in a high impedance state.

Bits in the read result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT output (Direction is Out) are not affected by the write.

For more information on the StaticSites interface, see the StaticSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

StaticSite
KtMDsr


KtMDsr_StaticSiteWriteVector Function

KtMDsr_StaticSiteWriteVector Function
StaticSite See Also

Stimulates the DUT with a vector based on one integer. The bits of the integer are mapped to channels based on the ordinals in the Site. The Data parameter sets the truth value. All bits configured in the site as Signal In or InOut are written.

Function Tree Node: \KtMDsr\Instrument Specific\StaticSite\StaticSite Write Vector
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_StaticSiteWriteVector(
    ViSession Vi,
    ViConstString StaticSite,
    ViInt32 Data
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

StaticSite

The physical or virtual repeated capability identifier. Pass VI_NULL if the operation does not apply to a repeated capability. You can also pass VI_NULL if the device only has a single staticsite.For valid values, see the StaticSite repeated capability.

Data

The truth value to force on the channels.

Return Value

Success or failure code.

Remarks

Bits in the read result that are either not defined in the site specification or are assigned to a signal that is defined as a DUT output (Direction is Out) are not affected by the write.

For more information on the StaticSites interface, see the StaticSites Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

StaticSite
KtMDsr


KtMDsr_StaticSitesActivate Function

KtMDsr_StaticSitesActivate Function
StaticSite See Also

Activates a site for StaticSite operations. Once activated, the site block name can be passed to the Item function to access the StaticSite functions for this site.

Function Tree Node: \KtMDsr\Instrument Specific\StaticSite\StaticSites Activate
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_StaticSitesActivate(
    ViSession Vi,
    ViConstString Site,
    ViConstString DcLevels
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Site

Block name of the Site to activate.

DcLevels

Block name of the DcLevels block to use to generate the digital signals.

Return Value

Success or failure code.

Remarks

This will lock the channels for exclusive use by the specified site and initialize the StaticSite capabilities associated with those channels.

For more information on the StaticSites interface, see the StaticSites Overview.
For more information on the dynamic repeated capability Activate function, see Dynamic Repeated Capabilities.
For general information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

StaticSite
KtMDsr


KTMDSR_ATTR_STATICSITES_COUNT Attribute

KTMDSR_ATTR_STATICSITES_COUNT Attribute
StaticSite See Also

Attribute Tree Node: \KtMDsr\Instrument Specific\StaticSite\StaticSites Count
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_STATICSITES_COUNT 1150084

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_STATICSITES_COUNT.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

For more information on the StaticSites interface, see the StaticSites Overview.
For more information on the dynamic repeated capability Count attribute, see Dynamic Repeated Capabilities.
For general information on using active sites, see Active Sites.

Instrument Command

Requirements

Supported Models

All supported

See Also

Reference

StaticSite
KtMDsr


KtMDsr_StaticSitesGetName Function

KtMDsr_StaticSitesGetName Function
StaticSite See Also

Returns the staticsite name that corresponds to the one-based index that the user specifies.

Function Tree Node: \KtMDsr\Instrument Specific\StaticSite\StaticSites Get Name
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_StaticSitesGetName(
    ViSession Vi,
    ViInt32 Index,
    ViInt32 NameBufferSize,
    ViChar[] Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Index

A one-based index that defines which name to return.

NameBufferSize

Number of elements in Name.

Name

Specifies the buffer into which the function returns the name that corresponds to the index the user specifies. The caller may pass VI_NULL for this parameter if the buffer size parameter is 0.

Return Value

Success or failure code.

Remarks

This is useful when a reference to this block is acquired using the Item function and there is a subsequent need to determine which block this is.

For more information on the StaticSites interface, see the StaticSites Overview.
For more information on the dynamic repeated capability Item function, see Dynamic Repeated Capabilities.
For general information on using active sites, see Active Sites.

Instrument Command

{Index}

Requirements

Supported Models

All supported

See Also

Reference

StaticSite
KtMDsr


KtMDsr_StaticSitesInactivate Function

KtMDsr_StaticSitesInactivate Function
StaticSite See Also

Releases StaticSite resources associated with this site without altering the signals on the channels.

Function Tree Node: \KtMDsr\Instrument Specific\StaticSite\StaticSites Inactivate
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_StaticSitesInactivate(
    ViSession Vi,
    ViConstString SiteName
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

SiteName

Name of the site activated for StaticSite operations to inactivate.

Return Value

Success or failure code.

Remarks

For more information on the StaticSites interface, see the StaticSites Overview.
For more information on the dynamic repeated capability Inactivate function, see Dynamic Repeated Capabilities.
For general information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

StaticSite
KtMDsr


KtMDsr_StaticSitesInactivateAndDisable Function

KtMDsr_StaticSitesInactivateAndDisable Function
StaticSite See Also

Releases StaticSite resources associated with this site and disables the signals on the channels.

Function Tree Node: \KtMDsr\Instrument Specific\StaticSite\StaticSites Inactivate And Disable
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_StaticSitesInactivateAndDisable(
    ViSession Vi,
    ViConstString SiteName
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

SiteName

Name of the site activated for StaticSite operations to inactivate.

Return Value

Success or failure code.

Remarks

For more information on the StaticSites interface, see the StaticSites Overview.
For more information on the dynamic repeated capability Inactivate and InactivateAndDisable functions, see Dynamic Repeated Capabilities.
For general information on using active sites, see Active Sites.

Requirements

Supported Models

All supported

See Also

Reference

StaticSite
KtMDsr


System

System
See Also

Tree Node: \KtMDsr\Instrument Specific\System

Branches

Name
Licensing
Top

Functions

 | Name | Description
Function | System Get Serial Number | The module serial number.
Function | System Get Timeout Milliseconds | Queries the timeout used for IO to the module.
Function | System Get Trace Enabled | If True, output trace log of all driver calls to an XML file, using a unique file name based on date and time in the same directory as the application executable accessing the driver OR as specified using tracing options when initializing the driver.
Top

Attributes

 | Name | Description
Attribute | System About | Read Only - Returns addition information about the system beyond the firmware and hardware versions. This is typically included in an SFP (Soft Front Panel) About Box dialog.
Attribute | System Options | Read Only - A comma separated list of the effective options of the system. See Remarks.
Attribute | System Serial Number | The module serial number.
Attribute | System Timeout Milliseconds | Queries the timeout used for IO to the module.
Attribute | System Trace Enabled | If True, output trace log of all driver calls to an XML file, using a unique file name based on date and time in the same directory as the application executable accessing the driver OR as specified using tracing options when initializing the driver.
Top

See Also

Reference

KtMDsr


Licensing

Licensing
See Also

Tree Node: \KtMDsr\Instrument Specific\System\Licensing

Functions

 | Name | Description
Function | System Licensign Get Host Identifier | The unique key identifying the system controller for licensing purposes. Also called HostID.
Function | System Licensing Get Installed Licenses | A semicolon-separated list of the software licenses installed on the system controller. Each software license consists of a comma-separated Feature Name and Description.
Top

Attributes

 | Name | Description
Attribute | System Licensing Host Identifier | The unique key identifying the system controller for licensing purposes. Also called HostID.
Attribute | System Licensing Installed Licenses | A semicolon-separated list of the software licenses installed on the system controller. Each software license consists of a comma-separated Feature Name and Description.
Top

See Also

Reference

KtMDsr


KtMDsr_SystemLicensignGetHostIdentifier Function

KtMDsr_SystemLicensignGetHostIdentifier Function
Licensing See Also

The unique key identifying the system controller for licensing purposes. Also called HostID.

Function Tree Node: \KtMDsr\Instrument Specific\System\Licensing\System Licensign Get Host Identifier
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SystemLicensignGetHostIdentifier(
    ViSession Vi,
    ViInt32 HostIdentifierBufferSize,
    ViChar[] HostIdentifier
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

HostIdentifierBufferSize

HostIdentifier

The unique key identifying the system controller for licensing purposes. Also called HostID.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

Licensing
KtMDsr


KtMDsr_SystemLicensingGetInstalledLicenses Function

KtMDsr_SystemLicensingGetInstalledLicenses Function
Licensing See Also

A semicolon-separated list of the software licenses installed on the system controller. Each software license consists of a comma-separated Feature Name and Description.

Function Tree Node: \KtMDsr\Instrument Specific\System\Licensing\System Licensing Get Installed Licenses
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SystemLicensingGetInstalledLicenses(
    ViSession Vi,
    ViInt32 InstalledLicensesBufferSize,
    ViChar[] InstalledLicenses
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

InstalledLicensesBufferSize

InstalledLicenses

A semicolon-separated list of the software licenses installed on the system controller. Each software license consists of a comma-separated Feature Name and Description.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

Licensing
KtMDsr


KTMDSR_ATTR_SYSTEM_LICENSING_HOST_IDENTIFIER Attribute

KTMDSR_ATTR_SYSTEM_LICENSING_HOST_IDENTIFIER Attribute
Licensing See Also

The unique key identifying the system controller for licensing purposes. Also called HostID.

Attribute Tree Node: \KtMDsr\Instrument Specific\System\Licensing\System Licensing Host Identifier
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SYSTEM_LICENSING_HOST_IDENTIFIER 1150018

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_SYSTEM_LICENSING_HOST_IDENTIFIER.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Requirements

Supported Models

All supported

See Also

Reference

Licensing
KtMDsr


KTMDSR_ATTR_SYSTEM_LICENSING_INSTALLED_LICENSES Attribute

KTMDSR_ATTR_SYSTEM_LICENSING_INSTALLED_LICENSES Attribute
Licensing See Also

A semicolon-separated list of the software licenses installed on the system controller. Each software license consists of a comma-separated Feature Name and Description.

Attribute Tree Node: \KtMDsr\Instrument Specific\System\Licensing\System Licensing Installed Licenses
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SYSTEM_LICENSING_INSTALLED_LICENSES 1150019

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_SYSTEM_LICENSING_INSTALLED_LICENSES.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Requirements

Supported Models

All supported

See Also

Reference

Licensing
KtMDsr


KTMDSR_ATTR_SYSTEM_ABOUT Attribute

KTMDSR_ATTR_SYSTEM_ABOUT Attribute
System See Also

Read Only - Returns addition information about the system beyond the firmware and hardware versions. This is typically included in an SFP (Soft Front Panel) About Box dialog.

Attribute Tree Node: \KtMDsr\Instrument Specific\System\System About
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SYSTEM_ABOUT 1150248

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_SYSTEM_ABOUT.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Requirements

Supported Models

All supported

See Also

Reference

System
KtMDsr


KtMDsr_SystemGetSerialNumber Function

KtMDsr_SystemGetSerialNumber Function
System See Also

The module serial number.

Function Tree Node: \KtMDsr\Instrument Specific\System\System Get Serial Number
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SystemGetSerialNumber(
    ViSession Vi,
    ViInt32 SerialNumberBufferSize,
    ViChar[] SerialNumber
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

SerialNumberBufferSize

SerialNumber

The module serial number.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

System
KtMDsr


KtMDsr_SystemGetTimeoutMilliseconds Function

KtMDsr_SystemGetTimeoutMilliseconds Function
System See Also

Queries the timeout used for IO to the module.

Function Tree Node: \KtMDsr\Instrument Specific\System\System Get Timeout Milliseconds
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SystemGetTimeoutMilliseconds(
    ViSession Vi,
    ViInt32* TimeoutMilliseconds
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

TimeoutMilliseconds

Queries the timeout used for IO to the module. To set this value, use the OptionString parameter in the Initialize call.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

System
KtMDsr


KtMDsr_SystemGetTraceEnabled Function

KtMDsr_SystemGetTraceEnabled Function
System See Also

If True, output trace log of all driver calls to an XML file, using a unique file name based on date and time in the same directory as the application executable accessing the driver OR as specified using tracing options when initializing the driver.

Function Tree Node: \KtMDsr\Instrument Specific\System\System Get Trace Enabled
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_SystemGetTraceEnabled(
    ViSession Vi,
    ViBoolean* TraceEnabled
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

TraceEnabled

If True, output trace log of all driver calls to an XML file, using a unique file name based on date and time in the same directory as the application executable accessing the driver OR as specified using tracing options when initializing the driver.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

System
KtMDsr


KTMDSR_ATTR_SYSTEM_OPTIONS Attribute

KTMDSR_ATTR_SYSTEM_OPTIONS Attribute
System See Also

Read Only - A comma separated list of the effective options of the system. See Remarks.

Attribute Tree Node: \KtMDsr\Instrument Specific\System\System Options
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SYSTEM_OPTIONS 1150249

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_SYSTEM_OPTIONS.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Remarks

The options are determined by combining the minimum capability of each of the modules.

Requirements

Supported Models

All supported

See Also

Reference

System
KtMDsr


KTMDSR_ATTR_SYSTEM_SERIAL_NUMBER Attribute

KTMDSR_ATTR_SYSTEM_SERIAL_NUMBER Attribute
System See Also

The module serial number.

Attribute Tree Node: \KtMDsr\Instrument Specific\System\System Serial Number
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SYSTEM_SERIAL_NUMBER 1150001

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_SYSTEM_SERIAL_NUMBER.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Requirements

Supported Models

All supported

See Also

Reference

System
KtMDsr


KTMDSR_ATTR_SYSTEM_TIMEOUT_MILLISECONDS Attribute

KTMDSR_ATTR_SYSTEM_TIMEOUT_MILLISECONDS Attribute
System See Also

Queries the timeout used for IO to the module.

Attribute Tree Node: \KtMDsr\Instrument Specific\System\System Timeout Milliseconds
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SYSTEM_TIMEOUT_MILLISECONDS 1150142

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_SYSTEM_TIMEOUT_MILLISECONDS.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

The default value of TimeoutMilliseconds is 5000 ms.

For a conventional Windows OS, it may be unreliable to set the timeout value to less than 500 ms.

In some cases, several IO operations are completed to the module by a single method call. In these cases the actual amount of time required for an operation to fail and return may be several times the specified TimeoutMilliseconds.

The WaitForAcquisitionComplete functions of CaptureSite and Pattern Site specify the maximum time to wait for the pattern to complete executing. That time is independent of this attribute.

Requirements

Supported Models

All supported

See Also

Reference

System
KtMDsr


KTMDSR_ATTR_SYSTEM_TRACE_ENABLED Attribute

KTMDSR_ATTR_SYSTEM_TRACE_ENABLED Attribute
System See Also

If True, output trace log of all driver calls to an XML file, using a unique file name based on date and time in the same directory as the application executable accessing the driver OR as specified using tracing options when initializing the driver.

Attribute Tree Node: \KtMDsr\Instrument Specific\System\System Trace Enabled
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_SYSTEM_TRACE_ENABLED 1150002

ViStatus KtMDsr_GetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean* AttributeValue
);

ViStatus KtMDsr_SetAttributeViBoolean(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViBoolean AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_SYSTEM_TRACE_ENABLED.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

You may also enable tracing, specify a file name and path, and additional trace options when initializing the driver. The log file may be viewed in your web browser. For complete information on Initialize tracing options see the 'Driver Setup' section on the Initializing the IVI-C Driver page. If enabled, driver trace and additional IO events may also be viewed in the IO Monitor utility of Keysight IO Libraries 16.0 or newer.

Requirements

Supported Models

All supported

See Also

Reference

System
KtMDsr


Trigger

Trigger
See Also

Tree Node: \KtMDsr\Instrument Specific\Trigger

Functions

 | Name | Description
Function | Trigger Get Name | Returns the trigger name that corresponds to the one-based index that the user specifies.
Function | Trigger Set Direction | This property sets the direction of those DSR signals that are bi-directional and can be either a trigger input or a marker output. This property applies to GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], and PXI_STAR.
Function | Trigger Set External Trigger Termination | This property configures the input termination impedance of the two front panel trigger inputs, GPIO1 (External1) and GPIO2 (External2). Two values are programmable, 50 ohms and high impedance (the default, which is nominally 10K ohm).
Function | Trigger Set External Trigger Threshold Level | Sets the threshold voltage levels for the front panel signals, GPIO1 (External1) and GPIO2 (External2), when they are programmed as trigger inputs. The threshold voltages can be set independently for each trigger input over the range -2VDC to 4VDC.
Function | Trigger Set MarkerPulseWidth | This property sets the pulse width of marker outputs. The pulse width can be programmed independently for the 12 DSR signals that can be used as markers: GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], PXI_STAR, and PXIe_DSTARC.
Function | Trigger Set Polarity | For a marker output, Polarity controls whether the marker will go high (positive) or low (negative). For a trigger input, Polarity controls whether a trigger will be detected on the rising (positive) edge or on the falling (negative) edge of the input.
Top

Attributes

 | Name | Description
Attribute | Trigger Count | Returns the number of trigger and marker signals supported by the DSR module.
Attribute | Trigger Direction | This property sets the direction of those DSR signals that are bi-directional and can be either a trigger input or a marker output. This property applies to GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], and PXI_STAR.
Attribute | Trigger ExternalTriggerTermination | This property configures the input termination impedance of the two front panel trigger inputs, GPIO1 (External1) and GPIO2 (External2). Two values are programmable, 50 ohms and high impedance (the default, which is nominally 10K ohm).
Attribute | Trigger ExternalTriggerThresholdLevel | Sets the threshold voltage levels for the front panel signals, GPIO1 (External1) and GPIO2 (External2), when they are programmed as trigger inputs. The threshold voltages can be set independently for each trigger input over the range -2VDC to 4VDC.
Attribute | Trigger MarkerPulseWidth | This property sets the pulse width of marker outputs. The pulse width can be programmed independently for the 12 DSR signals that can be used as markers: GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], PXI_STAR, and PXIe_DSTARC.
Attribute | Trigger Polarity | For a marker output, Polarity controls whether the marker will go high (positive) or low (negative). For a trigger input, Polarity controls whether a trigger will be detected on the rising (positive) edge or on the falling (negative) edge of the input.
Top

See Also

Reference

KtMDsr


KTMDSR_ATTR_TRIGGER_COUNT Attribute

KTMDSR_ATTR_TRIGGER_COUNT Attribute
Trigger See Also

Returns the number of trigger and marker signals supported by the DSR module.

Attribute Tree Node: \KtMDsr\Instrument Specific\Trigger\Trigger Count
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_TRIGGER_COUNT 1150250

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_TRIGGER_COUNT.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

This property always returns 15 for the DSR. While there are only 13 physical triggers and markers, the two front panel trigger/marker signals can each be accessed by two different names.

The front panel signal labeled "GPIO1" can be accessed using either "GPIO1" or "External1", while the front panel signal labeled "GPIO2" can be accessed using either "GPIO2" or "External2".

The net addition of two names results in this property returning 15, not 13.

Requirements

Supported Models

All supported

See Also

Reference

Trigger
KtMDsr


KTMDSR_ATTR_TRIGGER_DIRECTION Attribute

KTMDSR_ATTR_TRIGGER_DIRECTION Attribute
Trigger See Also

This property sets the direction of those DSR signals that are bi-directional and can be either a trigger input or a marker output. This property applies to GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], and PXI_STAR.

Attribute Tree Node: \KtMDsr\Instrument Specific\Trigger\Trigger Direction
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_TRIGGER_DIRECTION 1150251

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

ViStatus KtMDsr_SetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Trigger repeated capability.

AttributeID

Must be KTMDSR_ATTR_TRIGGER_DIRECTION.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

For the bi-directional signals listed above, the Direction property is used to specify whether the signal is a trigger input (enum of KtMDsrTriggerDirectionTrigger) or is a marker output (enum of KtMDsrTriggerDirectionMarker). The default value of Direction for all bi-directional trigger/marker signals is as a trigger input.

The Direction property does not apply to the trigger input signal PXIe_DSTARB nor the marker output signal PXIe_DSTARC. The direction of these signals cannot be changed.

Care should be taken to ensure that a DSR marker output signal isn't inadvertently connected to a marker output signal from another module or from the chassis itself.

For more information on triggers and markers, see Triggers and Markers.

Defined Values

Name | Description
KTMDSR_VAL_TRIGGER_DIRECTION_MARKER | The trigger is an output from the DSR (i.e., the DSR generates a Marker).
KTMDSR_VAL_TRIGGER_DIRECTION_TRIGGER | The trigger is an input to the DSR (i.e., the DSR receives a trigger).
Top

Requirements

Supported Models

All supported

See Also

Reference

Trigger
KtMDsr


KTMDSR_ATTR_TRIGGER_EXTERNAL_TRIGGER_TERMINATION Attribute

KTMDSR_ATTR_TRIGGER_EXTERNAL_TRIGGER_TERMINATION Attribute
Trigger See Also

This property configures the input termination impedance of the two front panel trigger inputs, GPIO1 (External1) and GPIO2 (External2). Two values are programmable, 50 ohms and high impedance (the default, which is nominally 10K ohm).

Attribute Tree Node: \KtMDsr\Instrument Specific\Trigger\Trigger ExternalTriggerTermination
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_TRIGGER_EXTERNAL_TRIGGER_TERMINATION 1150255

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

ViStatus KtMDsr_SetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Trigger repeated capability.

AttributeID

Must be KTMDSR_ATTR_TRIGGER_EXTERNAL_TRIGGER_TERMINATION.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

This property is only effective when the front panel GPIO1 (External1) or GPIO2 (External2) signals have been programmed to be trigger inputs using the Direction property. The termination impedances are disconnected when these signals are programmed to be marker outputs.

For more information on triggers and markers, see Triggers and Markers.

Defined Values

Name | Description
KTMDSR_VAL_TRIGGER_EXTERNAL_TRIGGER_TERMINATION_LOW_IMPEDANCE_50_OHM | The module will connect a low impedance, nominally 50 ohms, to the trigger line.
KTMDSR_VAL_TRIGGER_EXTERNAL_TRIGGER_TERMINATION_HIGH_IMPEDANCE_10K_OHM | The module's trigger line will be high impedance (i.e. the low impedance termination will be disconnected).
Top

Requirements

Supported Models

All supported

See Also

Reference

Trigger
KtMDsr


KTMDSR_ATTR_TRIGGER_EXTERNAL_TRIGGER_THRESHOLD_LEVEL Attribute

KTMDSR_ATTR_TRIGGER_EXTERNAL_TRIGGER_THRESHOLD_LEVEL Attribute
Trigger See Also

Sets the threshold voltage levels for the front panel signals, GPIO1 (External1) and GPIO2 (External2), when they are programmed as trigger inputs. The threshold voltages can be set independently for each trigger input over the range -2VDC to 4VDC.

Attribute Tree Node: \KtMDsr\Instrument Specific\Trigger\Trigger ExternalTriggerThresholdLevel
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_TRIGGER_EXTERNAL_TRIGGER_THRESHOLD_LEVEL 1150253

ViStatus KtMDsr_GetAttributeViReal64(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViReal64* AttributeValue
);

ViStatus KtMDsr_SetAttributeViReal64(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViReal64 AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Trigger repeated capability.

AttributeID

Must be KTMDSR_ATTR_TRIGGER_EXTERNAL_TRIGGER_THRESHOLD_LEVEL.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

This property is only effective when the front panel GPIO1 (External1) or GPIO2 (External2) signals are programmed as trigger inputs. An error is generated if the programmed threshold voltage level is outside of the range -2VDC to 4VDC.

The default threshold voltage level for this property is .75V. The programmed threshold voltage levels have a nominal accuracy of +/- 100mV.

For more information on triggers and markers, see Triggers and Markers.

Requirements

Supported Models

All supported

See Also

Reference

Trigger
KtMDsr


KtMDsr_TriggerGetName Function

KtMDsr_TriggerGetName Function
Trigger See Also

Returns the trigger name that corresponds to the one-based index that the user specifies.

Function Tree Node: \KtMDsr\Instrument Specific\Trigger\Trigger Get Name
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_TriggerGetName(
    ViSession Vi,
    ViInt32 Index,
    ViInt32 NameBufferSize,
    ViChar[] Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Index

A one-based index that defines which name to return.

NameBufferSize

Number of elements in Name.

Name

Specifies the buffer into which the function returns the name that corresponds to the index the user specifies. The caller may pass VI_NULL for this parameter if the buffer size parameter is 0.

Return Value

Success or failure code.

Remarks

This table shows the Name strings that are returned for the different values of Index.

Index | Name
1 | "External1"
2 | "External2"
3 | "GPIO1"
4 | "GPIO2"
5 | "PXI_TRIG0"
6 | "PXI_TRIG1"
7 | "PXI_TRIG2"
8 | "PXI_TRIG3"
9 | "PXI_TRIG4"
10 | "PXI_TRIG5"
11 | "PXI_TRIG6"
12 | "PXI_TRIG7"
13 | "PXI_STAR"
14 | "PXIe_DSTARB"
15 | "PXIe_DSTARC"

Requirements

Supported Models

All supported

See Also

Reference

Trigger
KtMDsr


KTMDSR_ATTR_TRIGGER_MARKER_PULSE_WIDTH Attribute

KTMDSR_ATTR_TRIGGER_MARKER_PULSE_WIDTH Attribute
Trigger See Also

This property sets the pulse width of marker outputs. The pulse width can be programmed independently for the 12 DSR signals that can be used as markers: GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], PXI_STAR, and PXIe_DSTARC.

Attribute Tree Node: \KtMDsr\Instrument Specific\Trigger\Trigger MarkerPulseWidth
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_TRIGGER_MARKER_PULSE_WIDTH 1150252

ViStatus KtMDsr_GetAttributeViReal64(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViReal64* AttributeValue
);

ViStatus KtMDsr_SetAttributeViReal64(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViReal64 AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Trigger repeated capability.

AttributeID

Must be KTMDSR_ATTR_TRIGGER_MARKER_PULSE_WIDTH.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

The range of marker pulse widths that can be programmed depends on the edge placement resolution (EPR). The maximum pulse width for any marker is 256 x 4 x EPR. For example, for an EPR of 1ns, the maximum marker pulse width will be 256 x 4 x 1ns = 1,024ns.

For an EPR of 100ns, the maximum marker pulse width will be 102.4us.

Marker pulse widths will be rounded to the closest integer multiple of 4 x EPR. For example, if a pulse width of 90ns is programmed when the EPR is 10ns (4 x EPR = 40 ns), the actual pulse width will be 80ns.

The minimum marker pulse width is 20ns. The DSR will use a pulse width of 20ns if a pulse width shorter than 20ns is programmed. If no pulse width is programmed for a particular marker, a default pulse width of 100ns is used.

Doing a read of the marker pulse width will always return the programmed value. In other words, the returned value will not be modified based on the operations performed to actually generate a marker, such as rounding up to the minimum pulse width or limiting the pulse width to the EPR-dependent maximum value.

Likewise, no error messages will be generated if marker pulse widths are programmed above or below the limits that are used to actually generate a marker. The appropriate rounding up or rounding down will occur, and no error message will be generated.

For more information on triggers and markers, see Triggers and Markers.

Requirements

Supported Models

All supported

See Also

Reference

Trigger
KtMDsr


KTMDSR_ATTR_TRIGGER_POLARITY Attribute

KTMDSR_ATTR_TRIGGER_POLARITY Attribute
Trigger See Also

For a marker output, Polarity controls whether the marker will go high (positive) or low (negative). For a trigger input, Polarity controls whether a trigger will be detected on the rising (positive) edge or on the falling (negative) edge of the input.

Attribute Tree Node: \KtMDsr\Instrument Specific\Trigger\Trigger Polarity
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_TRIGGER_POLARITY 1150254

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

ViStatus KtMDsr_SetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the Trigger repeated capability.

AttributeID

Must be KTMDSR_ATTR_TRIGGER_POLARITY.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

After a marker output goes high or low as specified by Polarity, it will return to its quiescent state after a period of time specified by the MarkerPulseWidth. If Polarity is positive, the marker will begin as a logic low then go high for the specified MarkerPulseWidth followed by returning low. If Polarity is negative, the marker will begin as a logic high then go low for the specified MarkerPulseWidth followed by returning high.

Polarity affects which edge of a trigger input will cause the DSR to respond. If Polarity is positive, the DSR will trigger on the rising edge of the trigger input signal. If Polarity is negative, the DSR will trigger on the falling edge of the trigger input signal.

While triggers are often thought of as pulses, the DSR only looks for the specified edge, either rising or falling as specified by Polarity. After triggering has occurred on the specified edge, when the next edge occurs is inconsequential other than the next edge needs to occur at some point in order to make it possible for another trigger to be received on the specified edge. The time between any trigger edges must be greater than 20 ns.

Polarity can be programmed independently for each of the 13 DSR signals that can be used as markers and triggers: GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], PXI_STAR, PXIe_DSTARB (trigger input only), and PXIe_DSTARC (marker output only).

If a signal can be both a marker output and a trigger input (such as GPIO1), there is only one Polarity value associated with the signal. In other words, the signal does not have one Polarity value that is used when the signal is programmed as a marker output and a different Polarity value that is used when the signal is programmed as a trigger input.

For more information on triggers and markers, see Triggers and Markers.

Defined Values

Name | Description
KTMDSR_VAL_TRIGGER_POLARITY_POSITIVE | Positive polarity: Rising edge for trigger inputs, high level for marker output pulses.
KTMDSR_VAL_TRIGGER_POLARITY_NEGATIVE | Negative polarity: Falling edge for trigger inputs, low level for marker output pulses.
Top

Requirements

Supported Models

All supported

See Also

Reference

Trigger
KtMDsr


KtMDsr_TriggerSetDirection Function

KtMDsr_TriggerSetDirection Function
Trigger See Also

This property sets the direction of those DSR signals that are bi-directional and can be either a trigger input or a marker output. This property applies to GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], and PXI_STAR.

Function Tree Node: \KtMDsr\Instrument Specific\Trigger\Trigger Set Direction
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_TriggerSetDirection(
    ViSession Vi,
    ViConstString Trigger,
    ViInt32 Direction
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Trigger

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the Trigger repeated capability.

Direction

Used to configure a line as either a Marker or a Trigger.

Return Value

Success or failure code.

Remarks

For the bi-directional signals listed above, the Direction property is used to specify whether the signal is a trigger input (enum of KtMDsrTriggerDirectionTrigger) or is a marker output (enum of KtMDsrTriggerDirectionMarker). The default value of Direction for all bi-directional trigger/marker signals is as a trigger input.

The Direction property does not apply to the trigger input signal PXIe_DSTARB nor the marker output signal PXIe_DSTARC. The direction of these signals cannot be changed.

Care should be taken to ensure that a DSR marker output signal isn't inadvertently connected to a marker output signal from another module or from the chassis itself.

For more information on triggers and markers, see Triggers and Markers.

Requirements

Supported Models

All supported

Defined Values For Parameter Direction

Name | Description
KTMDSR_VAL_TRIGGER_DIRECTION_MARKER | The trigger is an output from the DSR (i.e., the DSR generates a Marker).
KTMDSR_VAL_TRIGGER_DIRECTION_TRIGGER | The trigger is an input to the DSR (i.e., the DSR receives a trigger).
Top

See Also

Reference

Trigger
KtMDsr


KtMDsr_TriggerSetExternalTriggerTermination Function

KtMDsr_TriggerSetExternalTriggerTermination Function
Trigger See Also

This property configures the input termination impedance of the two front panel trigger inputs, GPIO1 (External1) and GPIO2 (External2). Two values are programmable, 50 ohms and high impedance (the default, which is nominally 10K ohm).

Function Tree Node: \KtMDsr\Instrument Specific\Trigger\Trigger Set External Trigger Termination
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_TriggerSetExternalTriggerTermination(
    ViSession Vi,
    ViConstString Trigger,
    ViInt32 Termination
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Trigger

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the Trigger repeated capability.

Termination

Configure how the External Triggers are terminated. Default = HiImpedence.

Return Value

Success or failure code.

Remarks

This property is only effective when the front panel GPIO1 (External1) or GPIO2 (External2) signals have been programmed to be trigger inputs using the Direction property. The termination impedances are disconnected when these signals are programmed to be marker outputs.

For more information on triggers and markers, see Triggers and Markers.

Requirements

Supported Models

All supported

Defined Values For Parameter Termination

Name | Description
KTMDSR_VAL_TRIGGER_EXTERNAL_TRIGGER_TERMINATION_LOW_IMPEDANCE_50_OHM | The module will connect a low impedance, nominally 50 ohms, to the trigger line.
KTMDSR_VAL_TRIGGER_EXTERNAL_TRIGGER_TERMINATION_HIGH_IMPEDANCE_10K_OHM | The module's trigger line will be high impedance (i.e. the low impedance termination will be disconnected).
Top

See Also

Reference

Trigger
KtMDsr


KtMDsr_TriggerSetExternalTriggerThresholdLevel Function

KtMDsr_TriggerSetExternalTriggerThresholdLevel Function
Trigger See Also

Sets the threshold voltage levels for the front panel signals, GPIO1 (External1) and GPIO2 (External2), when they are programmed as trigger inputs. The threshold voltages can be set independently for each trigger input over the range -2VDC to 4VDC.

Function Tree Node: \KtMDsr\Instrument Specific\Trigger\Trigger Set External Trigger Threshold Level
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_TriggerSetExternalTriggerThresholdLevel(
    ViSession Vi,
    ViConstString Trigger,
    ViReal64 ThresholdLevel
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Trigger

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the Trigger repeated capability.

ThresholdLevel

Used to set the voltage level expected by a Trigger for External only.

Return Value

Success or failure code.

Remarks

This property is only effective when the front panel GPIO1 (External1) or GPIO2 (External2) signals are programmed as trigger inputs. An error is generated if the programmed threshold voltage level is outside of the range -2VDC to 4VDC.

The default threshold voltage level for this property is .75V. The programmed threshold voltage levels have a nominal accuracy of +/- 100mV.

For more information on triggers and markers, see Triggers and Markers.

Requirements

Supported Models

All supported

See Also

Reference

Trigger
KtMDsr


KtMDsr_TriggerSetMarkerPulseWidth Function

KtMDsr_TriggerSetMarkerPulseWidth Function
Trigger See Also

This property sets the pulse width of marker outputs. The pulse width can be programmed independently for the 12 DSR signals that can be used as markers: GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], PXI_STAR, and PXIe_DSTARC.

Function Tree Node: \KtMDsr\Instrument Specific\Trigger\Trigger Set MarkerPulseWidth
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_TriggerSetMarkerPulseWidth(
    ViSession Vi,
    ViConstString Trigger,
    ViReal64 PulseWidth
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Trigger

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the Trigger repeated capability.

PulseWidth

Used to set the width of the pulse generated by a Marker. Default = 100ns.

Return Value

Success or failure code.

Remarks

The range of marker pulse widths that can be programmed depends on the edge placement resolution (EPR). The maximum pulse width for any marker is 256 x 4 x EPR. For example, for an EPR of 1ns, the maximum marker pulse width will be 256 x 4 x 1ns = 1,024ns.

For an EPR of 100ns, the maximum marker pulse width will be 102.4us.

Marker pulse widths will be rounded to the closest integer multiple of 4 x EPR. For example, if a pulse width of 90ns is programmed when the EPR is 10ns (4 x EPR = 40 ns), the actual pulse width will be 80ns.

The minimum marker pulse width is 20ns. The DSR will use a pulse width of 20ns if a pulse width shorter than 20ns is programmed. If no pulse width is programmed for a particular marker, a default pulse width of 100ns is used.

Doing a read of the marker pulse width will always return the programmed value. In other words, the returned value will not be modified based on the operations performed to actually generate a marker, such as rounding up to the minimum pulse width or limiting the pulse width to the EPR-dependent maximum value.

Likewise, no error messages will be generated if marker pulse widths are programmed above or below the limits that are used to actually generate a marker. The appropriate rounding up or rounding down will occur, and no error message will be generated.

For more information on triggers and markers, see Triggers and Markers.

Requirements

Supported Models

All supported

See Also

Reference

Trigger
KtMDsr


KtMDsr_TriggerSetPolarity Function

KtMDsr_TriggerSetPolarity Function
Trigger See Also

For a marker output, Polarity controls whether the marker will go high (positive) or low (negative). For a trigger input, Polarity controls whether a trigger will be detected on the rising (positive) edge or on the falling (negative) edge of the input.

Function Tree Node: \KtMDsr\Instrument Specific\Trigger\Trigger Set Polarity
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_TriggerSetPolarity(
    ViSession Vi,
    ViConstString Trigger,
    ViInt32 Polarity
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Trigger

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the Trigger repeated capability.

Polarity

Used to set the polarity of a Marker or expected by a Trigger.

Return Value

Success or failure code.

Remarks

After a marker output goes high or low as specified by Polarity, it will return to its quiescent state after a period of time specified by the MarkerPulseWidth. If Polarity is positive, the marker will begin as a logic low then go high for the specified MarkerPulseWidth followed by returning low. If Polarity is negative, the marker will begin as a logic high then go low for the specified MarkerPulseWidth followed by returning high.

Polarity affects which edge of a trigger input will cause the DSR to respond. If Polarity is positive, the DSR will trigger on the rising edge of the trigger input signal. If Polarity is negative, the DSR will trigger on the falling edge of the trigger input signal.

While triggers are often thought of as pulses, the DSR only looks for the specified edge, either rising or falling as specified by Polarity. After triggering has occurred on the specified edge, when the next edge occurs is inconsequential other than the next edge needs to occur at some point in order to make it possible for another trigger to be received on the specified edge. The time between any trigger edges must be greater than 20 ns.

Polarity can be programmed independently for each of the 13 DSR signals that can be used as markers and triggers: GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], PXI_STAR, PXIe_DSTARB (trigger input only), and PXIe_DSTARC (marker output only).

If a signal can be both a marker output and a trigger input (such as GPIO1), there is only one Polarity value associated with the signal. In other words, the signal does not have one Polarity value that is used when the signal is programmed as a marker output and a different Polarity value that is used when the signal is programmed as a trigger input.

For more information on triggers and markers, see Triggers and Markers.

Requirements

Supported Models

All supported

Defined Values For Parameter Polarity

Name | Description
KTMDSR_VAL_TRIGGER_POLARITY_POSITIVE | Positive polarity: Rising edge for trigger inputs, high level for marker output pulses.
KTMDSR_VAL_TRIGGER_POLARITY_NEGATIVE | Negative polarity: Falling edge for trigger inputs, low level for marker output pulses.
Top

See Also

Reference

Trigger
KtMDsr


TriggerEvent

TriggerEvent
See Also

Tree Node: \KtMDsr\Instrument Specific\TriggerEvent

Functions

 | Name | Description
Function | TriggerEvent Generate Software Events | Generates the events indicated by the bits set in the EventBits parameter. If set, the least significant bit generates the SoftwareTrigger0 event, and the corresponding bits, through bit 15, generate events up through SoftwareTrigger15.
Top

See Also

Reference

KtMDsr


KtMDsr_TriggerEventGenerateSoftwareEvents Function

KtMDsr_TriggerEventGenerateSoftwareEvents Function
TriggerEvent See Also

Generates the events indicated by the bits set in the EventBits parameter. If set, the least significant bit generates the SoftwareTrigger0 event, and the corresponding bits, through bit 15, generate events up through SoftwareTrigger15.

Function Tree Node: \KtMDsr\Instrument Specific\TriggerEvent\TriggerEvent Generate Software Events
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_TriggerEventGenerateSoftwareEvents(
    ViSession Vi,
    ViInt32 EventBits
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

EventBits

Integer whose bits indicate the software triggers to generate.

Return Value

Success or failure code.

Remarks

GenerateSoftwareEvents is useful to trigger various operations. Triggers can be used to start pattern execution, or to satisfy a WatchLoop condition.

The following scenarios are useful:

  • Several sequencers can be started at the same time, either by having them wait on the same event, or by sending multiple simultaneous events with this function.
  • WatchLoop operations can be released by issuing a software trigger. This may be especially useful if the pattern needs to be synchronized with software. For instance, a test can be divided up into several steps, with each step beginning with a WatchLoop. Trigger events can then be generated to step the pattern through each step with minimum software overhead.
  • Pattern execution can watchloop synchronization can be combined so that one pattern can be started, and another released from a WatchLoop by the same call to GenerateSoftwareEvents.

The table below shows the relationship between Software Triggers, TriggerSource strings, and EventBits. Multiple bits may be set to generate multiple software triggers.

Software trigger | TriggerSource string | EventBits value when calling GenerateSoftwareEvents
Software0 | "SoftwareTrigger0" | 1
Software1 | "SoftwareTrigger1" | 2
Software2 | "SoftwareTrigger2" | 4
Software3 | "SoftwareTrigger3" | 8
Software4 | "SoftwareTrigger4" | 16
Software5 | "SoftwareTrigger5" | 32
Software6 | "SoftwareTrigger6" | 64
Software7 | "SoftwareTrigger7" | 128
Software8 | "SoftwareTrigger8" | 256
Software9 | "SoftwareTrigger9" | 512
Software10 | "SoftwareTrigger10" | 1024
Software11 | "SoftwareTrigger11" | 2048
Software12 | "SoftwareTrigger12" | 4096
Software13 | "SoftwareTrigger13" | 8192
Software14 | "SoftwareTrigger14" | 16384
Software15 | "SoftwareTrigger15" | 32768

Requirements

Supported Models

All supported

See Also

Reference

TriggerEvent
KtMDsr


WaveformTable

WaveformTable
See Also

Tree Node: \KtMDsr\Instrument Specific\WaveformTable

Functions

 | Name | Description
Function | WaveformTable Define Waveform Character | Defines a new waveform character. This then defines the waveform to be produced when this character is executed on one of the specified signals. This function is called once for each waveform character in the WaveformTable.
Function | WaveformTable Get Signals | Comma-separated list of Signals defined for this Waveform Table.
Function | WaveformTable Query Waveform Character | Returns an array of times and an array of events given the specified signal and waveform character.
Function | WaveformTable Query Waveform Characters | Returns all the Waveform Characters defined for the specified Signal.
Function | WaveformTable Set Period | The period of the waveforms in this WaveformTable. That is, the total time of each waveform.
Function | WaveformTables Add | Adds a WaveformTable block of specified name.
Function | WaveformTables Add Simple Waveform Table | Creates a basic waveform table that defines commonly-defined waveform characters at a given drive time and compare time.
Function | WaveformTables Get Name | Returns the waveformtable name that corresponds to the one-based index that the user specifies.
Function | WaveformTables Remove | Removes the WaveformTable block of specified name.
Top

Attributes

 | Name | Description
Attribute | WaveformTable Period | The period of the waveforms in this WaveformTable. That is, the total time of each waveform.
Attribute | WaveformTable Signals | Comma-separated list of Signals defined for this Waveform Table.
Attribute | WaveformTables Count |
Top

See Also

Reference

KtMDsr


KtMDsr_WaveformTableDefineWaveformCharacter Function

KtMDsr_WaveformTableDefineWaveformCharacter Function
WaveformTable See Also

Defines a new waveform character. This then defines the waveform to be produced when this character is executed on one of the specified signals. This function is called once for each waveform character in the WaveformTable.

Function Tree Node: \KtMDsr\Instrument Specific\WaveformTable\WaveformTable Define Waveform Character
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_WaveformTableDefineWaveformCharacter(
    ViSession Vi,
    ViConstString WaveformTable,
    ViConstString WaveformCharacter,
    ViConstString SignalExpression,
    ViInt32 TimesBufferSize,
    ViReal64[] Times,
    ViInt32 EventsBufferSize,
    ViInt32[] Events
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

WaveformTable

The physical or virtual repeated capability identifier. Pass VI_NULL if the operation does not apply to a repeated capability. You can also pass VI_NULL if the device only has a single waveformtable.For valid values, see the WaveformTable repeated capability.

WaveformCharacter

The waveform character being defined. A one-character string.

SignalExpression

Signals for which this waveform character is defined.

TimesBufferSize

Number of elements in Time.

Times

Array containing up to three times that correspond to the events specified in the Events parameter. There must be an event defined in the Events array for each time specified.

EventsBufferSize

Number of elements in Events.

Events

Events associated with each time. Maximum of 2 force events and 1 compare event may be specified. There must be a time defined in the Times array for each event specified.

Return Value

Success or failure code.

Remarks

For more information on the WaveformTables interface, see the WaveformTables Overview. .

Requirements

Supported Models

All supported

Defined Values For Parameter Events

Name | Description
KTMDSR_VAL_WAVEFORMTABLE_EVENT_FORCE_UP | Force High Voltage.
KTMDSR_VAL_WAVEFORMTABLE_EVENT_FORCE_DOWN | Force Low Voltage
KTMDSR_VAL_WAVEFORMTABLE_EVENT_COMPARE_UNKNOWN | No Compare
KTMDSR_VAL_WAVEFORMTABLE_EVENT_FORCE_OFF | Force High Impedence
KTMDSR_VAL_WAVEFORMTABLE_EVENT_FORCE_PRIOR | Force previous event (Low or High Voltage).
KTMDSR_VAL_WAVEFORMTABLE_EVENT_COMPARE_LOW | Compare Expection a Low Voltage.
KTMDSR_VAL_WAVEFORMTABLE_EVENT_COMPARE_HIGH | Compare expecting a High Voltage.
KTMDSR_VAL_WAVEFORM_TABLE_EVENT_COMPARE_OFF | Compare expecting High Impedence.
Top

See Also

Reference

WaveformTable
KtMDsr


KtMDsr_WaveformTableGetSignals Function

KtMDsr_WaveformTableGetSignals Function
WaveformTable See Also

Comma-separated list of Signals defined for this Waveform Table.

Function Tree Node: \KtMDsr\Instrument Specific\WaveformTable\WaveformTable Get Signals
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_WaveformTableGetSignals(
    ViSession Vi,
    ViConstString WaveformTable,
    ViInt32 SignalsBufferSize,
    ViChar[] Signals
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

WaveformTable

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the WaveformTable repeated capability.

SignalsBufferSize

Signals

Comma-separated list of Signals defined for this Waveform Table.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

WaveformTable
KtMDsr


KTMDSR_ATTR_WAVEFORMTABLE_PERIOD Attribute

KTMDSR_ATTR_WAVEFORMTABLE_PERIOD Attribute
WaveformTable See Also

The period of the waveforms in this WaveformTable. That is, the total time of each waveform.

Attribute Tree Node: \KtMDsr\Instrument Specific\WaveformTable\WaveformTable Period
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_WAVEFORMTABLE_PERIOD 1150058

ViStatus KtMDsr_GetAttributeViReal64(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViReal64* AttributeValue
);

ViStatus KtMDsr_SetAttributeViReal64(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViReal64 AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the WaveformTable repeated capability.

AttributeID

Must be KTMDSR_ATTR_WAVEFORMTABLE_PERIOD.

AttributeValue (GetAttribute)

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

AttributeValue (SetAttribute)

The value to which to set the attribute.

Remarks

For more information on the WaveformTables interface, see the WaveformTables Overview.

Requirements

Supported Models

All supported

See Also

Reference

WaveformTable
KtMDsr


KtMDsr_WaveformTableQueryWaveformCharacter Function

KtMDsr_WaveformTableQueryWaveformCharacter Function
WaveformTable See Also

Returns an array of times and an array of events given the specified signal and waveform character.

Function Tree Node: \KtMDsr\Instrument Specific\WaveformTable\WaveformTable Query Waveform Character
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_WaveformTableQueryWaveformCharacter(
    ViSession Vi,
    ViConstString WaveformTable,
    ViConstString WaveformCharacter,
    ViInt32 TimesBufferSize,
    ViReal64[] Times,
    ViInt32* TimesActualSize,
    ViInt32 EventsBufferSize,
    ViInt32[] Events,
    ViInt32* EventsActualSize,
    ViConstString Signal
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

WaveformTable

The physical or virtual repeated capability identifier. Pass VI_NULL if the operation does not apply to a repeated capability. You can also pass VI_NULL if the device only has a single waveformtable.For valid values, see the WaveformTable repeated capability.

WaveformCharacter

Waveform character to be queried.

TimesBufferSize

Times

Array of times defined in the waveform. The first index is the first time, and corresponds to the first event in Events string.

TimesActualSize

Actual number of elements in Times.

EventsBufferSize

Number of elements in Events.

Events

Array of events defined in the waveform. The first event corresponds to the first time in the Times array.

EventsActualSize

Actual number of elements in Events.

Signal

Signal to be queried.

Return Value

Success or failure code.

Remarks

This query returns the waveform that is executed for the specified waveform character on the specified signal. The waveform is a sequence of up to three events where up to two are force events and zero or one is a compare event.

For more information on the WaveformTables interface, see the WaveformTables Overview.
For more information on the dynamic repeated capability Add function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

Defined Values For Parameter Events

Name | Description
KTMDSR_VAL_WAVEFORMTABLE_EVENT_FORCE_UP | Force High Voltage.
KTMDSR_VAL_WAVEFORMTABLE_EVENT_FORCE_DOWN | Force Low Voltage
KTMDSR_VAL_WAVEFORMTABLE_EVENT_COMPARE_UNKNOWN | No Compare
KTMDSR_VAL_WAVEFORMTABLE_EVENT_FORCE_OFF | Force High Impedence
KTMDSR_VAL_WAVEFORMTABLE_EVENT_FORCE_PRIOR | Force previous event (Low or High Voltage).
KTMDSR_VAL_WAVEFORMTABLE_EVENT_COMPARE_LOW | Compare Expection a Low Voltage.
KTMDSR_VAL_WAVEFORMTABLE_EVENT_COMPARE_HIGH | Compare expecting a High Voltage.
KTMDSR_VAL_WAVEFORM_TABLE_EVENT_COMPARE_OFF | Compare expecting High Impedence.
Top

See Also

Reference

WaveformTable
KtMDsr


KtMDsr_WaveformTableQueryWaveformCharacters Function

KtMDsr_WaveformTableQueryWaveformCharacters Function
WaveformTable See Also

Returns all the Waveform Characters defined for the specified Signal.

Function Tree Node: \KtMDsr\Instrument Specific\WaveformTable\WaveformTable Query Waveform Characters
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_WaveformTableQueryWaveformCharacters(
    ViSession Vi,
    ViConstString WaveformTable,
    ViConstString Signal,
    ViInt32 ValBufferSize,
    ViChar[] Val
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

WaveformTable

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the WaveformTable repeated capability.

Signal

Signal name

ValBufferSize

Val

String of waveform characters

Return Value

Success or failure code.

Remarks

For more information on the WaveformTables interface, see the WaveformTables Overview.

Requirements

Supported Models

All supported

See Also

Reference

WaveformTable
KtMDsr


KtMDsr_WaveformTableSetPeriod Function

KtMDsr_WaveformTableSetPeriod Function
WaveformTable See Also

The period of the waveforms in this WaveformTable. That is, the total time of each waveform.

Function Tree Node: \KtMDsr\Instrument Specific\WaveformTable\WaveformTable Set Period
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_WaveformTableSetPeriod(
    ViSession Vi,
    ViConstString WaveformTable,
    ViReal64 Period
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

WaveformTable

The physical or virtual repeated capability identifier. Pass VI_NULL or empty string if operation does not apply to a repeated capability.For valid values, see the WaveformTable repeated capability.

Period

R/W Property that specifies the period of the waveforms in this WaveformTable

Return Value

Success or failure code.

Remarks

For more information on the WaveformTables interface, see the WaveformTables Overview.

Requirements

Supported Models

All supported

See Also

Reference

WaveformTable
KtMDsr


KTMDSR_ATTR_WAVEFORMTABLE_SIGNALS Attribute

KTMDSR_ATTR_WAVEFORMTABLE_SIGNALS Attribute
WaveformTable See Also

Comma-separated list of Signals defined for this Waveform Table.

Attribute Tree Node: \KtMDsr\Instrument Specific\WaveformTable\WaveformTable Signals
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_WAVEFORMTABLE_SIGNALS 1150188

ViStatus KtMDsr_GetAttributeViString(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32 AttributeValueBufferSize,
    ViChar[] AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

A physical or virtual repeated capability identifier. For valid values, see the WaveformTable repeated capability.

AttributeID

Must be KTMDSR_ATTR_WAVEFORMTABLE_SIGNALS.

AttributeValueBufferSize

The number of bytes in the ViChar array that the user specifies for the AttributeValue parameter.

AttributeValue

The buffer in which the function returns the current value of the attribute. Can be VI_NULL if AttributeValueBufferSize is 0.

Remarks

For more information on the WaveformTables interface, see the WaveformTables Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.
For information on Signals, see the Signals Overview.

Requirements

Supported Models

All supported

See Also

Reference

WaveformTable
KtMDsr


KtMDsr_WaveformTablesAdd Function

KtMDsr_WaveformTablesAdd Function
WaveformTable See Also

Adds a WaveformTable block of specified name.

Function Tree Node: \KtMDsr\Instrument Specific\WaveformTable\WaveformTables Add
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_WaveformTablesAdd(
    ViSession Vi,
    ViConstString Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Name

Name of Waveform Table

Return Value

Success or failure code.

Remarks

For more information on the WaveformTables interface, see the WaveformTables Overview.
For more information on the dynamic repeated capability Add function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

WaveformTable
KtMDsr


KtMDsr_WaveformTablesAddSimpleWaveformTable Function

KtMDsr_WaveformTablesAddSimpleWaveformTable Function
WaveformTable See Also

Creates a basic waveform table that defines commonly-defined waveform characters at a given drive time and compare time.

Function Tree Node: \KtMDsr\Instrument Specific\WaveformTable\WaveformTables Add Simple Waveform Table
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_WaveformTablesAddSimpleWaveformTable(
    ViSession Vi,
    ViConstString Name,
    ViReal64 Period,
    ViReal64 ForceTime,
    ViReal64 CompareTime
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Name

The name of the WaveformTable block.

Period

The period of the WaveformTable block.

ForceTime

The time that all drive events will be applied.

CompareTime

The time that all compare events will be tested.

Return Value

Success or failure code.

Remarks

The generated WaveformTable will define the waveform characters for all of the defined Signals as follows:

0 | ForceDown at DriveTime
1 | ForceUp at DriveTime
Z | ForceOff at DriveTime
P | ForcePrior at DriveTime
H | CompareHigh at CompareTime
L | CompareLow at CompareTime
T | CompareOff at CompareTime
X | CompareUnknown at CompareTime

For more information on the WaveformTables interface, see the WaveformTables Overview.
For more information on dynamic repeated capabilities, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

WaveformTable
KtMDsr


KTMDSR_ATTR_WAVEFORMTABLES_COUNT Attribute

KTMDSR_ATTR_WAVEFORMTABLES_COUNT Attribute
WaveformTable See Also

Attribute Tree Node: \KtMDsr\Instrument Specific\WaveformTable\WaveformTables Count
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
#define KTMDSR_ATTR_WAVEFORMTABLES_COUNT 1150050

ViStatus KtMDsr_GetAttributeViInt32(
    ViSession Vi,
    ViConstString RepCapIdentifier,
    ViAttr AttributeID,
    ViInt32* AttributeValue
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

RepCapIdentifier

Must be VI_NULL or an empty string. This attribute is not defined on a repeated capability.

AttributeID

Must be KTMDSR_ATTR_WAVEFORMTABLES_COUNT.

AttributeValue

Returns the current value of the attribute. The user must specify the address of a variable that has the same data type as the attribute.

Remarks

For more information on the WaveformTables interface, see the WaveformTables Overview.
For more information on the dynamic repeated capability Count attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

WaveformTable
KtMDsr


KtMDsr_WaveformTablesGetName Function

KtMDsr_WaveformTablesGetName Function
WaveformTable See Also

Returns the waveformtable name that corresponds to the one-based index that the user specifies.

Function Tree Node: \KtMDsr\Instrument Specific\WaveformTable\WaveformTables Get Name
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_WaveformTablesGetName(
    ViSession Vi,
    ViInt32 Index,
    ViInt32 NameBufferSize,
    ViChar[] Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Index

A one-based index that defines which name to return.

NameBufferSize

Number of elements in Name.

Name

Specifies the buffer into which the function returns the name that corresponds to the index the user specifies. The caller may pass VI_NULL for this parameter if the buffer size parameter is 0.

Return Value

Success or failure code.

Remarks

For more information on the WaveformTables interface, see the WaveformTables Overview.
For more information on the dynamic repeated capability Name attribute, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

WaveformTable
KtMDsr


KtMDsr_WaveformTablesRemove Function

KtMDsr_WaveformTablesRemove Function
WaveformTable See Also

Removes the WaveformTable block of specified name.

Function Tree Node: \KtMDsr\Instrument Specific\WaveformTable\WaveformTables Remove
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_WaveformTablesRemove(
    ViSession Vi,
    ViConstString Name
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Name

Name of Waveform Table

Return Value

Success or failure code.

Remarks

For more information on the WaveformTables interface, see the WaveformTables Overview.
For more information on the dynamic repeated capability Remove function, see Dynamic Repeated Capabilities.

Requirements

Supported Models

All supported

See Also

Reference

WaveformTable
KtMDsr


Utility

Utility
See Also

Tree Node: \KtMDsr\Utility

Functions

 | Name | Description
Function | Clear Error | This function clears the error code and error description for the current execution thread and for the IVI session. If the user specifies a valid IVI session for the Vi parameter, this function clears the error information for the session. If the user passes VI_NULL for the Vi parameter, this function clears the error information for the current execution thread. If the Vi parameter is an invalid session, the function does nothing and returns an error.
Function | Clear Interchange Warnings | This is an optional IVI-standard method for managing the reset values of instrument attributes. This capability is not implemented by the KtMDsr.
Function | Disable | Quickly places the instrument in a state where it has no, or minimal, effect on the external system to which it is connected. As a side effect of this call, the instrument is Reset.
Function | Error Message | Translates the error return value from an IVI driver function to a user-readable string. The user should pass a buffer with at least 256 bytes for the ErrorMessage parameter.
Function | Error Query | This function always returns an ErrorCode of 0 and the ErrorMessage "No Error".
Function | Get Error | This function retrieves and then clears the IVI error information for the session or the current execution thread. If the user specifies a valid IVI session for the Vi parameter, Get Error retrieves and then clears the error information for the session. If the user passes VI_NULL for the Vi parameter, Get Error retrieves and then clears the error information for the current execution thread. If the Vi parameter is an invalid session, the function does nothing and returns an error. Normally, the error information describes the first error that occurred since the user last called the Get Error or Clear Error function.
Function | Get Next Coercion Record | This is an optional IVI-standard method. It interrogates how settings have been rounded or coerced before applying them to the hardware. This is not implemented by the KtMDsr.
Function | Get Next Interchange Warning | This is an optional IVI-standard query. This is not implemented by the KtMDsr. It flags warnings when measurements are made when certain settings have not been altered from there default values.
Function | Invalidate All Attributes | This IVI-standard function invalidates all of the driver's cached values. The KtMDsr driver always manages its state cache internally; therefore, this function performs no operations and returns Success.
Function | Lock Session | The driver throws an exception if LockObject is called.
Function | Reset | Places the instrument in the Initialized state. This is the same state the instrument is put in by Initialize, with the exception of PatternCache and TraceEnabled.
Function | Reset Interchange Check | This is an optional IVI-standard function. This is not implemented by the KtMDsr. It controls warnings when measurements are initiated while certain settings have not been altered from their default values.
Function | Reset With Defaults | Does the equivalent of Reset and then, configures the driver to option string settings used when Initialize was executed.
Function | Revision Query | Retrieves revision information from the instrument.
Function | Self Test | Performs a self-test on the module. If self-test passes, the TestResult is zero and TestMessage is 'Self test passed'. If self-test fails, TestResult will always return the error code -2147205102, and TestMessage will provide information on the failure(s).
Function | Unlock Session | The driver throws an exception if UnlockObject is called.
Top

See Also

Reference

KtMDsr


KtMDsr_ClearError Function

KtMDsr_ClearError Function
Utility See Also

This function clears the error code and error description for the current execution thread and for the IVI session. If the user specifies a valid IVI session for the Vi parameter, this function clears the error information for the session. If the user passes VI_NULL for the Vi parameter, this function clears the error information for the current execution thread. If the Vi parameter is an invalid session, the function does nothing and returns an error.

Function Tree Node: \KtMDsr\Utility\Clear Error
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_ClearError(
    ViSession Vi
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Return Value

Success or failure code.

See Also

Reference

Utility
KtMDsr


KtMDsr_ClearInterchangeWarnings Function

KtMDsr_ClearInterchangeWarnings Function
Utility See Also

This is an optional IVI-standard method for managing the reset values of instrument attributes. This capability is not implemented by the KtMDsr.

Function Tree Node: \KtMDsr\Utility\Clear Interchange Warnings
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_ClearInterchangeWarnings(
    ViSession Vi
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Return Value

Success or failure code.

Remarks

The IVI-COM driver always returns the Function Not Supported error.

This function is not available via the IVI-C interface.

Requirements

Supported Models

All supported

See Also

Reference

Utility
KtMDsr


KtMDsr_Disable Function

KtMDsr_Disable Function
Utility See Also

Quickly places the instrument in a state where it has no, or minimal, effect on the external system to which it is connected. As a side effect of this call, the instrument is Reset.

Function Tree Node: \KtMDsr\Utility\Disable
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_Disable(
    ViSession Vi
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

Utility
KtMDsr


KtMDsr_error_message Function

KtMDsr_error_message Function
Utility See Also

Translates the error return value from an IVI driver function to a user-readable string. The user should pass a buffer with at least 256 bytes for the ErrorMessage parameter.

Function Tree Node: \KtMDsr\Utility\Error Message
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_error_message(
    ViSession Vi,
    ViStatus ErrorCode,
    ViChar[] ErrorMessage
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

ErrorCode

Instrument driver status code.

ErrorMessage

Instrument driver error message.

Return Value

Success or failure code.

See Also

Reference

Utility
KtMDsr


KtMDsr_error_query Function

KtMDsr_error_query Function
Utility See Also

This function always returns an ErrorCode of 0 and the ErrorMessage "No Error".

Function Tree Node: \KtMDsr\Utility\Error Query
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_error_query(
    ViSession Vi,
    ViInt32* ErrorCode,
    ViChar[] ErrorMessage
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

ErrorCode

Instrument error code

ErrorMessage

Instrument error message

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

Utility
KtMDsr


KtMDsr_GetError Function

KtMDsr_GetError Function
Utility See Also

This function retrieves and then clears the IVI error information for the session or the current execution thread. If the user specifies a valid IVI session for the Vi parameter, Get Error retrieves and then clears the error information for the session. If the user passes VI_NULL for the Vi parameter, Get Error retrieves and then clears the error information for the current execution thread. If the Vi parameter is an invalid session, the function does nothing and returns an error. Normally, the error information describes the first error that occurred since the user last called the Get Error or Clear Error function.

Function Tree Node: \KtMDsr\Utility\Get Error
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_GetError(
    ViSession Vi,
    ViStatus* ErrorCode,
    ViInt32 ErrorDescriptionBufferSize,
    ViChar[] ErrorDescription
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

ErrorCode

Returns the error code. Zero indicates that no error occurred. A positive value indicates a warning. A negative value indicates an error. The user can pass VI_NULL if the user does not want to retrieve this value.

ErrorDescriptionBufferSize

The number of bytes in the ViChar array that the user specifies for the ErrorDescription parameter.

ErrorDescription

Buffer into which the function copies the full formatted error string. The string describes the error code and any extra information regarding the error or warning condition. The buffer shall contain at least as many bytes as the user specifies in the ErrorDescriptionBufferSize parameter. The user can pass VI_NULL if the ErrorDescriptionBufferSize parameter is zero.

Return Value

Success or failure code.

See Also

Reference

Utility
KtMDsr


KtMDsr_GetNextCoercionRecord Function

KtMDsr_GetNextCoercionRecord Function
Utility See Also

This is an optional IVI-standard method. It interrogates how settings have been rounded or coerced before applying them to the hardware. This is not implemented by the KtMDsr.

Function Tree Node: \KtMDsr\Utility\Get Next Coercion Record
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_GetNextCoercionRecord(
    ViSession Vi,
    ViInt32 CoercionRecordBufferSize,
    ViChar[] CoercionRecord
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

CoercionRecordBufferSize

CoercionRecord

Always returns the Function Not Supported error.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

Utility
KtMDsr


KtMDsr_GetNextInterchangeWarning Function

KtMDsr_GetNextInterchangeWarning Function
Utility See Also

This is an optional IVI-standard query. This is not implemented by the KtMDsr. It flags warnings when measurements are made when certain settings have not been altered from there default values.

Function Tree Node: \KtMDsr\Utility\Get Next Interchange Warning
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_GetNextInterchangeWarning(
    ViSession Vi,
    ViInt32 InterchangeWarningBufferSize,
    ViChar[] InterchangeWarning
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

InterchangeWarningBufferSize

InterchangeWarning

Returns the Function Not Supported error.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

Utility
KtMDsr


KtMDsr_InvalidateAllAttributes Function

KtMDsr_InvalidateAllAttributes Function
Utility See Also

This IVI-standard function invalidates all of the driver's cached values. The KtMDsr driver always manages its state cache internally; therefore, this function performs no operations and returns Success.

Function Tree Node: \KtMDsr\Utility\Invalidate All Attributes
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_InvalidateAllAttributes(
    ViSession Vi
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

Utility
KtMDsr


KtMDsr_LockSession Function

KtMDsr_LockSession Function
Utility See Also

The driver throws an exception if LockObject is called.

Function Tree Node: \KtMDsr\Utility\Lock Session
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_LockSession(
    ViSession Vi,
    ViBoolean* CallerHasLock
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

CallerHasLock

Return Value

Success or failure code.

Remarks

Nominally, obtains a multi-thread lock on the driver; however, this is impossible to implement on IVI-COM drivers because of the nature of the COM infrastructure.

Requirements

Supported Models

All supported

See Also

Reference

Utility
KtMDsr


KtMDsr_reset Function

KtMDsr_reset Function
Utility See Also

Places the instrument in the Initialized state. This is the same state the instrument is put in by Initialize, with the exception of PatternCache and TraceEnabled.

Function Tree Node: \KtMDsr\Utility\Reset
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_reset(
    ViSession Vi
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Return Value

Success or failure code.

Remarks

Patterns that have been downloaded to cache via DownloadPatternToCache and CompilePattern remain in cache, and are accessible after the Reset.

Patterns that have been downloaded to cache via ActivatePattern are not accessible after the reset.

If Instrument ConfigureMemory has been executed, it will remain in effect after the Reset.

The setting of System TraceEnabled is not changed by Reset.

Requirements

Supported Models

All supported

See Also

Reference

Utility
KtMDsr


KtMDsr_ResetInterchangeCheck Function

KtMDsr_ResetInterchangeCheck Function
Utility See Also

This is an optional IVI-standard function. This is not implemented by the KtMDsr. It controls warnings when measurements are initiated while certain settings have not been altered from their default values.

Function Tree Node: \KtMDsr\Utility\Reset Interchange Check
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_ResetInterchangeCheck(
    ViSession Vi
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Return Value

Success or failure code.

Remarks

Calling this produces a Function Not Supported error.

Requirements

Supported Models

All supported

See Also

Reference

Utility
KtMDsr


KtMDsr_ResetWithDefaults Function

KtMDsr_ResetWithDefaults Function
Utility See Also

Does the equivalent of Reset and then, configures the driver to option string settings used when Initialize was executed.

Function Tree Node: \KtMDsr\Utility\Reset With Defaults
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_ResetWithDefaults(
    ViSession Vi
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

Return Value

Success or failure code.

Requirements

Supported Models

All supported

See Also

Reference

Utility
KtMDsr


KtMDsr_revision_query Function

KtMDsr_revision_query Function
Utility See Also

Retrieves revision information from the instrument.

Function Tree Node: \KtMDsr\Utility\Revision Query
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_revision_query(
    ViSession Vi,
    ViChar[] DriverRev,
    ViChar[] InstrRev
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

DriverRev

Returns the revision of the IVI specific driver, which is the value held in the Specific Driver Revision attribute. Refer to the Specific Driver Revision attribute for more information.

InstrRev

Returns the firmware revision of the instrument, which is the value held in the Instrument Firmware Revision attribute. Refer to the Instrument Firmware Revision attribute for more information.

Return Value

Success or failure code.

See Also

Reference

Utility
KtMDsr


KtMDsr_self_test Function

KtMDsr_self_test Function
Utility See Also

Performs a self-test on the module. If self-test passes, the TestResult is zero and TestMessage is 'Self test passed'. If self-test fails, TestResult will always return the error code -2147205102, and TestMessage will provide information on the failure(s).

Function Tree Node: \KtMDsr\Utility\Self Test
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_self_test(
    ViSession Vi,
    ViInt16* TestResult,
    ViChar[] TestMessage
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

TestResult

The numeric result from the self-test operation. 0 = no error (test passed)

TestMessage

The self-test status message.

Return Value

Success or failure code.

Remarks

If there are multiple self-test failures, the TestMessage string will contain a message for each failure, each separated by a newline.

The SelfTest function is only supported on a single-module instrument. Attempting to run self-test on a multi-module instrument will generate an exception. However, self-test can be run on a multi-module instrument using the DSR SFP. See the SFP help for more information.

Requirements

Supported Models

All supported

See Also

Reference

Utility
KtMDsr


KtMDsr_UnlockSession Function

KtMDsr_UnlockSession Function
Utility See Also

The driver throws an exception if UnlockObject is called.

Function Tree Node: \KtMDsr\Utility\Unlock Session
Declaration: KtMDsr.h
Implementation: KtMDsr.dll

Syntax

Visual C++
ViStatus KtMDsr_UnlockSession(
    ViSession Vi,
    ViBoolean* CallerHasLock
);

Parameters

Vi

The ViSession handle that you obtain from the IviDriver_init or IviDriver_InitWithOptions function. The handle identifies a particular instrument session.

CallerHasLock

Return Value

Success or failure code.

Remarks

Nominally, releases a multi-thread lock on the driver; however, this is impossible to implement on IVI-COM drivers because of the nature of the COM infrastructure.

Requirements

Supported Models

All supported

See Also

Reference

Utility
KtMDsr


Functions and Attributes

Functions and Attributes

Functions

 | Name | Description
Function | KtMDsr_CalibrationSetUseFixture | Indicates whether the Calibration will be performed with the factory-provided fixture.
Function | KtMDsr_CaptureSiteAbort | Asynchronously stop the execution of the pattern. That is, stop the capture of data.
Function | KtMDsr_CaptureSiteFetchResultByte | Returns the captured result in an array of bytes. Results must fit in a byte.
Function | KtMDsr_CaptureSiteFetchResultInt16 | Returns the captured result in an array of 16-bit values. Results must fit in a 16-bit integer.
Function | KtMDsr_CaptureSiteFetchResultSegmentByte | Returns a segment from the captured result. Result must fit in a byte.
Function | KtMDsr_CaptureSiteFetchResultSegmentInt16 | Returns a segment from the captured result. Result must fit in a 16-bit integer.
Function | KtMDsr_CaptureSiteGetEdgePlacementResolution | Returns the EdgePlacementResolution specified when this site was activated. Or, if EdgePlacementResolutionAuto was set to True, this is the edge placement resolution selected by the DSR.
Function | KtMDsr_CaptureSiteGetEdgePlacementResolutionAuto | Returns the value of EdgePlacementResolutionAuto with which the site was activated.
Function | KtMDsr_CaptureSiteInitiate | Begin the execution of a pattern. If the Trigger Mode is set to Immediate, execution will begin immediately. If set to Trigger, the hardware will fully initialize, but will wait for a trigger event before proceeding.
Function | KtMDsr_CaptureSitesActivate | Activates a site for data capture.
Function | KtMDsr_CaptureSitesGetName | Returns the capturesite name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_CaptureSitesInactivate | Releases the resources associated with this site. The state of the individual channels is not changed.
Function | KtMDsr_CaptureSitesInactivateAndDisable | Releases the resources associated with this site. The individual channels are disabled.
Function | KtMDsr_CaptureSitesSetRequestedResultCount | Sets the number of Results per channel to be collected.
Function | KtMDsr_CaptureSitesSetTriggerMode | Sets the Trigger Mode. The trigger mode determines if execution of the pattern begins immediately when initiated or if the execution waits for a trigger event before executing.
Function | KtMDsr_CaptureSitesSetTriggerSource | Sets the trigger source for this pattern. String format is: SoftwareTrigger<0-15>.
Function | KtMDsr_CaptureSiteWaitForAcquisitionComplete | The function will not return until this pattern is done executing. If a pattern has not been initiated or if it has already completed, the function will return immediately.
Function | KtMDsr_ChannelClampVoltagePpmuEnable | Specifies whether the voltage clamps are active when the DSR is in PPMU force current mode. (Note: Voltage clamps are never active when the PPMU is forcing a voltage.)
Function | KtMDsr_ChannelClampVoltages | Sets the protection voltages to which inputs are clamped when the clamps are active.
Function | KtMDsr_ChannelLineCompensation | Compensates for transmission line effects. The degree can be set from 0 to 7.
Function | KtMDsr_ChannelQueryClampVoltage | Queries the voltages to which the inputs clamps are configured.
Function | KtMDsr_ChannelQueryClampVoltagePpmuEnable | Queries whether the voltage clamps are enabled when producing current for the specified channel of the PPMU.
Function | KtMDsr_ChannelQueryLineCompensation | Queries the line compensation settings for the specified channel.
Function | KtMDsr_ChannelQueryRemoteSenseEnable | Queries whether remote sensing is enabled on the specified channel.
Function | KtMDsr_ChannelQueryResponseDelayCompensation | Queries the response delay compensation for the specified channel.
Function | KtMDsr_ChannelQueryStimulusDelay | Queries the stimulus delay for the specified channel.
Function | KtMDsr_ChannelRemoteSenseEnable | Controls whether stimulus and measurements use the same physical conductors from the DSR.
Function | KtMDsr_ChannelResponseDelayCompensation | Sets a channel-specific response delay compensation. The delay time is set to the round-trip time for a simultaneous event to begin at the DSR output, go out to the DUT, and the response to arrive back at the DSR.
Function | KtMDsr_ChannelsLoadResponseDelayCompensation | Load previously stored ResponseDelayCompensation values
Function | KtMDsr_ChannelsMeasureLeakage | A measurement to calculate the leakage on specificed channels in order to null them out during PatternSite execution.
Function | KtMDsr_ChannelsStoreResponseDelayCompensation | Store all current ResponseDelayCompenstion values to a file.
Function | KtMDsr_ChannelStimulusDelay | Sets a channel-specific delay in the output. This delay is relative to the start trigger. Use StimulusDelay to adjust the channels with respect to each other to ensure signals arrive simultaneously at the DUT.
Function | KtMDsr_ClearError | This function clears the error code and error description for the current execution thread and for the IVI session. If the user specifies a valid IVI session for the Vi parameter, this function clears the error information for the session. If the user passes VI_NULL for the Vi parameter, this function clears the error information for the current execution thread. If the Vi parameter is an invalid session, the function does nothing and returns an error.
Function | KtMDsr_ClearInterchangeWarnings | This is an optional IVI-standard method for managing the reset values of instrument attributes. This capability is not implemented by the KtMDsr.
Function | KtMDsr_close | Closes the session to the module. The module hardware and software resources used by the driver are released. Driver methods and properties that access the instrument are not accessible after Close is called.
Function | KtMDsr_DcLevelGetSignals | Gets a comma-separated list of Signals for which levels have been defined for this DCLevels block.
Function | KtMDsr_DcLevelQueryDcLevels | Gets all the DcLevel values for a Signal. If the DcLevel was created from STIL or if it was altered using SetDcLevels, the logic family value will return custom.
Function | KtMDsr_DcLevelsAdd | Adds a DcLevel with the specified name.
Function | KtMDsr_DcLevelSetDcLevel | Sets an individual DcLevel value for all of the Signals in the SignalExpression. Calling this function will set the Logic Family to custom.
Function | KtMDsr_DcLevelSetDcLevels | Sets all the DcLevel values for all the Signals in the SignalExpression. Calling this function will set the Logic Family to custom.
Function | KtMDsr_DcLevelSetLogicFamily | Sets the Logic Family for all the Signals in the SignalExpression using one of the LogicFamiliesEnum presettings. All DcLevel values are written.
Function | KtMDsr_DcLevelsGetName | Returns the dclevel name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_DcLevelsRemove | Removes the DcLevel block with the specified name.
Function | KtMDsr_Disable | Quickly places the instrument in a state where it has no, or minimal, effect on the external system to which it is connected. As a side effect of this call, the instrument is Reset.
Function | KtMDsr_error_message | Translates the error return value from an IVI driver function to a user-readable string. The user should pass a buffer with at least 256 bytes for the ErrorMessage parameter.
Function | KtMDsr_error_query | This function always returns an ErrorCode of 0 and the ErrorMessage "No Error".
Function | KtMDsr_GetAttributeViBoolean | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | KtMDsr_GetAttributeViInt32 | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | KtMDsr_GetAttributeViReal64 | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | KtMDsr_GetAttributeViSession | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | KtMDsr_GetAttributeViString | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | KtMDsr_GetError | This function retrieves and then clears the IVI error information for the session or the current execution thread. If the user specifies a valid IVI session for the Vi parameter, Get Error retrieves and then clears the error information for the session. If the user passes VI_NULL for the Vi parameter, Get Error retrieves and then clears the error information for the current execution thread. If the Vi parameter is an invalid session, the function does nothing and returns an error. Normally, the error information describes the first error that occurred since the user last called the Get Error or Clear Error function.
Function | KtMDsr_GetNextCoercionRecord | This is an optional IVI-standard method. It interrogates how settings have been rounded or coerced before applying them to the hardware. This is not implemented by the KtMDsr.
Function | KtMDsr_GetNextInterchangeWarning | This is an optional IVI-standard query. This is not implemented by the KtMDsr. It flags warnings when measurements are made when certain settings have not been altered from there default values.
Function | KtMDsr_init | Opens the I/O session to the instrument. Driver methods and properties that access the instrument are only accessible after Initialize is called. Initialize optionally performs a Reset and queries the instrument to validate the instrument model.
Function | KtMDsr_InitWithOptions | Opens a session with from one to twelve DSR modules. Performs a Reset and optionally queries the instrument to validate the model. After initialization, the DSR module(s) are accessible by the driver methods and properties.
Function | KtMDsr_InstrumentAutomaticCorrectionsExecute | Runs an algorithm which automatically calculates corrections for the instrument. Before calling this function, any external fixtures (inputs to the instrument) must be disconnected from the instrument.
Function | KtMDsr_InstrumentAvailableVersions | Returns a comma-delimited string specifying previous software revisions of the product. Any of the revisions returned by this method can be used in a call to the DowngradeFirmware method.
Function | KtMDsr_InstrumentClearCache | Clears all downloaded patterns in the cache. There must not be any active patterns or capture sites.
Function | KtMDsr_InstrumentConfigureMemory | Configures how memory is allocated between storing compiled patterns and results. The memory size is specified for pattern compilation; the return value is the amount of memory available for results.
Function | KtMDsr_InstrumentDowngradeFirmware | Downgrades the instrument firmware to the firmware used with an earlier version of the product software.
Function | KtMDsr_InstrumentGetAutomaticCorrectionsNeeded | Returns True if the module requires that AutomaticCorrections be performed to guarantee specifications. This occurs if the current module temperature has deviated by more than 5 degrees C from the temperature at which the current corrections were made.
Function | KtMDsr_InstrumentGetPatternCacheSize | Gets the current pattern cache size that was set with ConfigureMemory.
Function | KtMDsr_InstrumentGetRemainingCache | Calculates and returns the amount of cache memory remaining and available for compiled patterns.
Function | KtMDsr_InstrumentGetResultSize | Result size as determined by ConfigureMemory.
Function | KtMDsr_InstrumentGetSlot | The chassis slot number that the module occupies.
Function | KtMDsr_InstrumentGetTemperature | Return the module temperature in degrees Celsius.
Function | KtMDsr_InstrumentMeasureAndApplyResponseDelayCompensation | Measures the cable delay of an unterminated cable along with delays internal to the DSR and stores the compensation values into Channels Response Delay Compensation.
Function | KtMDsr_InstrumentQueryAuxiliaryOutputControl | Queries whether the specified auxiliary, open drain output pin on the module is currently grounded or in a high impedance state.
Function | KtMDsr_InstrumentReferenceClockConfigure | This function specifies the reference clock source and frequency. The clock source can be selected from a system timing module, the DSR front panel, and the chassis backplane. The clock frequency can be either 10 MHz or 100 MHz, depending on the source.
Function | KtMDsr_InstrumentRemoveAllDynamicItems | Removes all of the STIL components, and inactivates any active sites on the instrument.
Function | KtMDsr_InstrumentSetAuxiliaryOutputControl | Writes the logical value to one of the four auxiliary, open drain output pins on the module. The pins are numbered 0-3. Writing 1 sets the pin to its high impedance state. Writing zero sets the pin to ground.
Function | KtMDsr_InstrumentSetIdentify | If True, this attribute causes an indicator LED on the front panel to flash. This assists in identifying the module being programmed. The special indication persists as long as the Boolean is True.
Function | KtMDsr_InvalidateAllAttributes | This IVI-standard function invalidates all of the driver's cached values. The KtMDsr driver always manages its state cache internally; therefore, this function performs no operations and returns Success.
Function | KtMDsr_LockSession | The driver throws an exception if LockObject is called.
Function | KtMDsr_MacroDefDefineMacro | Defines the patterns to be used as macros.
Function | KtMDsr_MacroDefGetMacros | Returns a comma-separated list of Macros defined in this MacroDef.
Function | KtMDsr_MacroDefsAdd | Adds a MacroDef block of the specified name.
Function | KtMDsr_MacroDefsGetName | Returns the macrodef name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_MacroDefsRemove | Removes the MacroDef block with the specified name.
Function | KtMDsr_ModuleNonvolatileClear | Clears/discards any changes to cached values and resets cached values to the current nonvolatile settings.
Function | KtMDsr_ModuleNonvolatileWrite | Writes all cached values from the System.Nonvolatile.Item interface to nonvolatile memory. If certain values have changed (see below) the current Passphrase must be supplied to Write.
Function | KtMDsr_ModulesGetName | Returns the module name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_PatternBurstsAdd | Adds a PatternBurst block of the specified name.
Function | KtMDsr_PatternBurstSetMacroDefs | Name of the MacroDefs block to use when compiling the macro definitions in this PatternBurst.
Function | KtMDsr_PatternBurstSetPatterns | Comma-separated list of Pattern blocks or other PatternBursts to execute when this Pattern Burst is executed. The patterns are executed in the order specified and any macros are compiled using the MacroDefs block in this PatternBurst.
Function | KtMDsr_PatternBurstsGetName | Returns the patternburst name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_PatternBurstsRemove | Removes the PatternBurst block with the specified name.
Function | KtMDsr_PatternCrossReference | Places a CrossReference instruction in the pattern at the specified Index. CrossReferences are used to relate the result from the pattern execution to a specific line in the pattern. The Reference string parameter can also be used in marker generation.
Function | KtMDsr_PatternDeleteElementAtIndex | Deletes the Pattern element at the specified Index.
Function | KtMDsr_PatternExecsAdd | Adds a PatternExec block of the specified name.
Function | KtMDsr_PatternExecSetDcLevels | DcLevels block to be used by the PatternExec.
Function | KtMDsr_PatternExecSetPatternBurst | PatternBurst block to be used by the PatternExec.
Function | KtMDsr_PatternExecsGetName | Returns the patternexec name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_PatternExecsRemove | Removes the PatternExec block with the specified name.
Function | KtMDsr_PatternFileGetErrorCount | Returns the number of parsing errors from the last Load. The OpenXML and BulkData parsers may return multiple errros. The STIL parser terminates on the first error, so it always returns 0 or 1 for STIL. Use GetNextError to read the errors.
Function | KtMDsr_PatternFileGetNextError | Returns the next parsing error. If there are no errors, returns "No Error."
Function | KtMDsr_PatternFileLoad | This function loads a STIL, OpenXml, or bulk data file and creates objects based on the content of the file. If an element is loaded and there is already one by that name in the same namespace, the new element will replace the original one.
Function | KtMDsr_PatternFileLoadAndUpdateOpenXml | This function loads an OpenXml file and creates STIL components based on the content of the file. The STIL components created are dependent on the file contents. Syntax errors are written to a new sheet in the original OpenXml file.
Function | KtMDsr_PatternFileLoadBulkDataDeferred | Loads a Pattern directly into on board memory.
Function | KtMDsr_PatternFileStoreStil | Stores all components loaded to a STIL file. Note that it does not preserve comments or annotations from the original file.
Function | KtMDsr_PatternGetHighestPatternIndex | The highest pattern index currently defined. For best efficiency, the next pattern element should be defined at this index+1.
Function | KtMDsr_PatternGetPatternLength | The current length of the pattern. First index is 1. Note that when loading a file, this is the highest element position in the pattern.
Function | KtMDsr_PatternGetSignals | Returns a comma-separated list of all signals in this pattern.
Function | KtMDsr_PatternGoTo | Places a GoTo instruction in the pattern at the specified Index. GoTo causes execution to transfer to the specified label within this pattern.
Function | KtMDsr_PatternLabelVector | Inserts a label on the vector at the specified Index. The index must identify a vector. Labels are used to identify destinations for GoTo statements and to identify locations in a compiled pattern for PatternSite functions that modify the pattern.
Function | KtMDsr_PatternLoop | Places an Loop instruction in the pattern at the specified Index. Loop causes a sequence of instructions to be executed the specified number of times.
Function | KtMDsr_PatternMacro | Places a Macro invocation in the pattern at the specified Index. Macro invocation takes no time.
Function | KtMDsr_PatternMacroWithSubstitution | Inserts a Macro expansion at this point, with STIL style parameter substitution.
Function | KtMDsr_PatternMatchLoop | The loop defined by Index and FinalIndex is executed until each Compare operation in the loop returns true or the LoopCount (if non-zero) is exceeded.
Function | KtMDsr_PatternQueryLineType | Returns information about the pattern element at the given index. This is used to read a pattern that has been defined.
Function | KtMDsr_PatternQueryVector | Provides a way to read back the pattern information for lines that are Vectors. Returns an error if a Vector is not defined at this Index (for instance, if it is outside of the pattern range, or if this Index contains a control instruction).
Function | KtMDsr_PatternsAdd | Adds a Pattern block of the specified name.
Function | KtMDsr_PatternsGetName | Returns the pattern name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_PatternShift | Adds a Shift block to a Macro. If this pattern is executed directly (instead of being used as a macro), this will generate an error upon compilation.
Function | KtMDsr_PatternSiteAbort | Asynchronously stops the execution of a pattern. The pattern aborts and discards any intermediate results.
Function | KtMDsr_PatternSiteFetchLineInformation | Gets the information associated with the specified index in the result array.
Function | KtMDsr_PatternSiteFetchResultByte | Gets an array of results and returns them as bytes. The FetchResultByte function works for sites where all ordinals are less than 8 (0-7).
Function | KtMDsr_PatternSiteFetchResultInt16 | Gets results in an array of 16-bit integers. The FetchResultInt16 function works for sites with ordinals less than 16 (0-15).
Function | KtMDsr_PatternSiteFetchResultSegmentByte | Gets the specified segment of the result as an array of bytes. The FetchResultSegmentByte function works for sites with ordinals less than 8 (0-7).
Function | KtMDsr_PatternSiteFetchResultSegmentInt16 | Returns the specified segment of the results as an array of 16-bit integers. The FetchResultSegmentInt16 function works for sites with ordinals less than 16 (0-15).
Function | KtMDsr_PatternSiteFetchResultSegmentWide | Returns the result as an array of 32-bit integers. It is only needed when the result data is wider than16 bits (Ordinals for results data are > 15).
Function | KtMDsr_PatternSiteFetchResultWide | Returns the result as an array of 32-bit integers. It is only needed when the result data is wider than16 bits (Ordinals for results data are > 15).
Function | KtMDsr_PatternSiteFetchTrinaryResult | Returns an array of captured results. The 32 bits for each element contain two bits for each ordinal (0 - 15); this indicates the actual state of the DUT response on logged compares.
Function | KtMDsr_PatternSiteFetchTrinaryResultSegment | Returns an array of captured results. The 32 bits for each element contain two bits for each ordinal (0 - 15); this indicates the actual state of the DUT response on logged compares.
Function | KtMDsr_PatternSiteFetchTrinaryResultSegmentWide | Returns a segment from the captured result as an array of 32-bit integers. Only needed when the result data is wider than 32 bits.
Function | KtMDsr_PatternSiteFetchTrinaryResultWide | Returns a segment from the captured result as an array of 32-bit integers. Only needed when the result data is wider than 32 bits.
Function | KtMDsr_PatternSiteGetEdgePlacementResolution | Returns the edge placement resolution that was used when this pattern was activated. If EdgePlacementResolutionAuto was True at the time of activation, the return value is the value selected by the DSR.
Function | KtMDsr_PatternSiteGetEdgePlacementResolutionAuto | Returns a Boolean that indicates whether this site was activated with EdgePlacementResolutionAuto.
Function | KtMDsr_PatternSiteGetExecutionErrors | Gets a comma-separated string containing errors that occurred during pattern execution. This should be consulted if the ExecutionResult returns an error.
Function | KtMDsr_PatternSiteGetExecutionResult | Gets a Boolean that indicates whether there are any results logged from the previous pattern execution. True indicates there are results.
Function | KtMDsr_PatternSiteGetExecutionState | Returns the state of the pattern execution hardware. Possible values are Stopped, Running, WaitingForTrigger, Complete, Aborted, and Error.
Function | KtMDsr_PatternSiteGetResultCount | Gets the number of elements in the result from the last pattern execution.
Function | KtMDsr_PatternSiteGetResultWidth | Gets the width of the result, that is, the number of bits in each element of the response. The result width is established by the highest ordinal assigned to a response signal in the site definition.
Function | KtMDsr_PatternSiteInitiate | Begin the execution of the pattern. If Trigger Mode is set to Immediate, the pattern will begin executing immediately. If Trigger Mode is set to Trigger, the hardware will fully initialize, then it will wait for a trigger event before proceeding.
Function | KtMDsr_PatternSiteReevaluateDcLevels | Takes a list of variable expressions separated by semicolons (;), evaluates them, and then recalculates the DcLevels values based on the new values of the variables.
Function | KtMDsr_PatternSiteReevaluateVariables | Takes a list of variable expressions separated by semicolons (;), evaluates them, and then recalculates the values in the WaveformTables based on the new values of the variables.
Function | KtMDsr_PatternSitesActivate | Activates a site for pattern operations using the specified PatternExec and with the specified EdgePlacementResolution. The pattern is compiled and downloaded to the pattern cache.
Function | KtMDsr_PatternSitesActivateFromCache | Activates a previously-compiled PatternSite that has been saved in cache.
Function | KtMDsr_PatternSitesActivatePattern | Activates a site for pattern operations. Parameters specify the site, pattern, waveform table, DcLevels, and EdgePlacementResolution. The pattern is compiled and downloaded to the pattern cache.
Function | KtMDsr_PatternSiteSaveResultsToFile | Saves the results and all of the line information, as text, to the specified file. The individual elements are comma-separated.
Function | KtMDsr_PatternSitesCompilePattern | Compiles the pattern components for the specified site and saves the compiled pattern to the specified destination (either a file or cache). The name will be used to refer to the site when it is later activated from cache.
Function | KtMDsr_PatternSitesCompilePatternExec | Compiles the components into a PatternSite and saves it to the specified destination (either a file or cache). The name will be used to later reference the PatternSite.
Function | KtMDsr_PatternSitesDownloadPatternToCache | Downloads the compiled pattern from the file system to the cache and assigns a name, CacheName, to the compiled pattern.
Function | KtMDsr_PatternSiteSetConditionalLoopFailureMode | Match loops and watch loops include a loop counter which, if expired, indicates that the loop has failed. This attribute selects what will happen when the loop counter expires (either stop execution or exit the loop and continue).
Function | KtMDsr_PatternSiteSetConditionalLoopSuccessMode | Configures if the DSR will execute a MatchLoop or WatchLoop at least one extra time after a successful loop, or if the loop will require no compares in the final few vectors of the loop.
Function | KtMDsr_PatternSiteSetDcLevel | Specifies a single DC level to apply on the given signal within this pattern. SetDcLevel cannot be called while the pattern is executing.
Function | KtMDsr_PatternSiteSetForceValidateEnable | If true, any WaveformTables compiled will perform force validation by adding a compare operation to validate a successful force on the last cycle of operations that include force operations.
Function | KtMDsr_PatternSiteSetSignal | Changes a single signal over a series of clock periods in the compiled waveform. That is, it writes the characters of the provided string into the designated signal in subsequent vectors.
Function | KtMDsr_PatternSiteSetVector | Overwrites the vector data at the specified location in a compiled pattern.
Function | KtMDsr_PatternSiteSetWaveformTable | Overwrites the Waveform Table at the specified location in the compiled pattern.
Function | KtMDsr_PatternSitesGetName | Returns the patternsite name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_PatternSitesInactivate | Releases the resources associated with this site. The state of the individual channels is not changed (that is, the channels are not disabled).
Function | KtMDsr_PatternSitesInactivateAndDisable | Releases the resources associated with this site. The individual channels are disabled.
Function | KtMDsr_PatternSitesListCache | Returns a comma-separated list of PatternSites previously saved in cache, and the amount of memory each is using.
Function | KtMDsr_PatternSitesSetEndBehavior | Sets the behavior of the signal lines upon completion of a pattern to either retain the last state of the signal lines from the last period or repeat the last waveform character of the last period.
Function | KtMDsr_PatternSitesSetResultBufferSize | Specifies the amount of memory, in bytes, to be reserved for results for this pattern. This memory is taken from the memory reserved for results using Instrument Configure Memory.
Function | KtMDsr_PatternSitesSetTriggerMode | The trigger mode determines whether the pattern begins executing immediately after it is initiated or whether it waits for a trigger event.
Function | KtMDsr_PatternSitesSetTriggerSource | Gets or sets the trigger source used to begin execution for this pattern after calling Initiate.
Function | KtMDsr_PatternSitesSetWhatToLog | Sets the compares to log during pattern execution (all compares; first failed compare; all failed compares). If "first failed compare" is selected, the first failure terminates the pattern execution.
Function | KtMDsr_PatternSiteWaitForAcquisitionComplete | This function waits for the pattern to complete execution before it returns. If a pattern has not been initiated or if it has already completed, the function will return immediately.
Function | KtMDsr_PatternsLoadBulkData | Loads the data file into a pattern of a specified name using the bulk data format.
Function | KtMDsr_PatternsRemove | Removes the Pattern block with the specified name.
Function | KtMDsr_PatternVector | Specifies the waveform characters for the specified signals at the specified index. This function may be called multiple times for a single index, providing definitions for various signals with each call.
Function | KtMDsr_PatternWatchLoop | Adds a WatchLoop block to a pattern. The DSR will execute the WatchLoop repeatedly until the specified Trigger is received. The only instructions that can be within a WatchLoop are Vectors.
Function | KtMDsr_PpmuSiteForce | This function forces a current, voltage or shuts off the force function. No measurement is performed.
Function | KtMDsr_PpmuSiteForceCurrentMeasureCurrent | Function that forces the specified current and measures the actual current. Note that the ability to force the current depends on the system impedance.
Function | KtMDsr_PpmuSiteForceCurrentMeasureVoltage | Function that forces the specified current and measures the voltage.
Function | KtMDsr_PpmuSiteForceNothingMeasureVoltage | Stops any active forcing function (either current or voltage) and measures voltage.
Function | KtMDsr_PpmuSiteForceVoltageMeasureCurrent | Function that forces the specified voltage and measures the current.
Function | KtMDsr_PpmuSiteForceVoltageMeasureVoltage | Function that forces the specified voltage and measures the actual voltage. Note that the ability to force the voltage depends on the system impedance.
Function | KtMDsr_PpmuSiteGetCurrentLimit | Returns the maximum current the module can produce on this channel based on the current settings.
Function | KtMDsr_PpmuSiteGetForceMode | Allows querying of the Force Mode. To set the ForceMode attribute, use the Force function or one of the Force and Measure functions.
Function | KtMDsr_PpmuSiteGetLevel | Returns the force level currently in use. To set the Level attribute, use the Force function or one of the Force and Measure functions.
Function | KtMDsr_PpmuSitesActivate | Activates a site for PPMU operations. Once activated, the site block name can be passed to the Item function to access PPMU functions for this site.
Function | KtMDsr_PpmuSiteSetAverageMode | Controls the averaging performed for measurements. Configures whether the PPMU should perform simple averaging, perform averaging to noise reduction (reject power-line frequency noise), or omit averaging to return the highest speed measurements.
Function | KtMDsr_PpmuSiteSetSettlingDelay | Specifies the delay, in seconds, between applying the Force and performing the measurement.
Function | KtMDsr_PpmuSitesGetName | Returns the ppmusite name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_PpmuSitesInactivate | Releases PPMU resources associated with this site without altering the signals on the channels.
Function | KtMDsr_PpmuSitesInactivateAndDisable | Releases PPMU resources associated with this site and places the channels into a high impedance state.
Function | KtMDsr_reset | Places the instrument in the Initialized state. This is the same state the instrument is put in by Initialize, with the exception of PatternCache and TraceEnabled.
Function | KtMDsr_ResetInterchangeCheck | This is an optional IVI-standard function. This is not implemented by the KtMDsr. It controls warnings when measurements are initiated while certain settings have not been altered from their default values.
Function | KtMDsr_ResetWithDefaults | Does the equivalent of Reset and then, configures the driver to option string settings used when Initialize was executed.
Function | KtMDsr_revision_query | Retrieves revision information from the instrument.
Function | KtMDsr_self_test | Performs a self-test on the module. If self-test passes, the TestResult is zero and TestMessage is 'Self test passed'. If self-test fails, TestResult will always return the error code -2147205102, and TestMessage will provide information on the failure(s).
Function | KtMDsr_SetAttributeViBoolean | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | KtMDsr_SetAttributeViInt32 | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | KtMDsr_SetAttributeViReal64 | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | KtMDsr_SetAttributeViSession | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | KtMDsr_SetAttributeViString | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | KtMDsr_SignalGroupsAdd | Adds a SignalGroup block of the specified name.
Function | KtMDsr_SignalGroupSetSignals | Sets the list of Signals to use for this SignalGroup. To add multiple signals at the same time, they should be defined using conventional STIL signal-reference-expression syntax. For instance "Sig1+Sig2+Bus[0..7]".
Function | KtMDsr_SignalGroupsGetName | Returns the signalgroup name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_SignalGroupsRemove | Removes the SignalGroup block with the specified name.
Function | KtMDsr_SignalsAdd | Adds a Signal of the specified name.
Function | KtMDsr_SignalsAddSignalList | Takes a list of Signal names and creates a new Signal for each, including an assigned direction. This provides a way to define several Signals at once.
Function | KtMDsr_SignalSetDirection | Gets or sets the direction of this signal. The direction is relative to the DUT.
Function | KtMDsr_SignalsRemove | Removes the Signal block with the specified name.
Function | KtMDsr_SiteAssignSignal | Defines the mapping from a signal to a channel and specifies the ordinal. The ordinal specifies the bit or element number to use when packing measurement results into bytes or arrays.
Function | KtMDsr_SiteAssignSignalList | Provides a simple way to define several signals from a comma-separated list of Signal names. Automatically assigns channels and ordinals. First Signal name is assigned Channels[0]; ordinals begin from highest ordinal already assigned for that site.
Function | KtMDsr_SiteQuerySite | Returns the Signals, Channels, and Ordinals defined in the site.
Function | KtMDsr_SitesAdd | Adds a Site with the specified name.
Function | KtMDsr_SiteSetMarker0Destination | Sets the destination of all Marker0 references for patterns run on this site. The destination specifies on what signal the marker is generated.
Function | KtMDsr_SiteSetMarker1Destination | Sets the destination of all Marker1 references for patterns run on this site. The destination specifies on what signal the marker is generated.
Function | KtMDsr_SiteSetMarker2Destination | Sets the destination of all Marker2 references for patterns run on this site. The destination specifies on what signal the marker is generated.
Function | KtMDsr_SiteSetTrigger0Source | Configures the trigger event that maps to Trigger0 in the WatchLoop.
Function | KtMDsr_SiteSetTrigger1Source | Configures the trigger event that maps to Trigger1 in the WatchLoop.
Function | KtMDsr_SiteSetTrigger2Source | Configures the trigger event that maps to Trigger2 in the WatchLoop.
Function | KtMDsr_SiteSetTrigger3Source | Configures the trigger event that maps to Trigger3 in the WatchLoop.
Function | KtMDsr_SiteSetTrigger4Source | Configures the trigger event that maps to Trigger4 in the WatchLoop.
Function | KtMDsr_SiteSetTrigger5Source | Configures the trigger event that maps to Trigger5 in the WatchLoop.
Function | KtMDsr_SitesGetName | Returns the site name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_SitesRemove | Removes the Site of the specified name. Fails if the Site is not defined.
Function | KtMDsr_StaticSiteReadThreeStateVector | Inputs a vector and builds it into two integers, one representing the data value and the other indicating if a valid 1 or 0 was detected. The bits of the integers are mapped to the channels based on the ordinals provided in the Site.
Function | KtMDsr_StaticSiteReadVector | Inputs a vector and builds it into an integer. The bits of the integer are mapped to the channels based on the ordinals provided in the site.
Function | KtMDsr_StaticSitesActivate | Activates a site for StaticSite operations. Once activated, the site block name can be passed to the Item function to access the StaticSite functions for this site.
Function | KtMDsr_StaticSitesGetName | Returns the staticsite name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_StaticSitesInactivate | Releases StaticSite resources associated with this site without altering the signals on the channels.
Function | KtMDsr_StaticSitesInactivateAndDisable | Releases StaticSite resources associated with this site and disables the signals on the channels.
Function | KtMDsr_StaticSiteWriteThreeStateVector | Stimulates the DUT with a vector based on two integers. The bits of the integer are mapped to the channels based on the ordinals provided in the site. The Data parameter sets the truth value; the Enable parameter enables the signal.
Function | KtMDsr_StaticSiteWriteVector | Stimulates the DUT with a vector based on one integer. The bits of the integer are mapped to channels based on the ordinals in the Site. The Data parameter sets the truth value. All bits configured in the site as Signal In or InOut are written.
Function | KtMDsr_SystemGetSerialNumber | The module serial number.
Function | KtMDsr_SystemGetTimeoutMilliseconds | Queries the timeout used for IO to the module.
Function | KtMDsr_SystemGetTraceEnabled | If True, output trace log of all driver calls to an XML file, using a unique file name based on date and time in the same directory as the application executable accessing the driver OR as specified using tracing options when initializing the driver.
Function | KtMDsr_SystemLicensignGetHostIdentifier | The unique key identifying the system controller for licensing purposes. Also called HostID.
Function | KtMDsr_SystemLicensingGetInstalledLicenses | A semicolon-separated list of the software licenses installed on the system controller. Each software license consists of a comma-separated Feature Name and Description.
Function | KtMDsr_TriggerEventGenerateSoftwareEvents | Generates the events indicated by the bits set in the EventBits parameter. If set, the least significant bit generates the SoftwareTrigger0 event, and the corresponding bits, through bit 15, generate events up through SoftwareTrigger15.
Function | KtMDsr_TriggerGetName | Returns the trigger name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_TriggerSetDirection | This property sets the direction of those DSR signals that are bi-directional and can be either a trigger input or a marker output. This property applies to GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], and PXI_STAR.
Function | KtMDsr_TriggerSetExternalTriggerTermination | This property configures the input termination impedance of the two front panel trigger inputs, GPIO1 (External1) and GPIO2 (External2). Two values are programmable, 50 ohms and high impedance (the default, which is nominally 10K ohm).
Function | KtMDsr_TriggerSetExternalTriggerThresholdLevel | Sets the threshold voltage levels for the front panel signals, GPIO1 (External1) and GPIO2 (External2), when they are programmed as trigger inputs. The threshold voltages can be set independently for each trigger input over the range -2VDC to 4VDC.
Function | KtMDsr_TriggerSetMarkerPulseWidth | This property sets the pulse width of marker outputs. The pulse width can be programmed independently for the 12 DSR signals that can be used as markers: GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], PXI_STAR, and PXIe_DSTARC.
Function | KtMDsr_TriggerSetPolarity | For a marker output, Polarity controls whether the marker will go high (positive) or low (negative). For a trigger input, Polarity controls whether a trigger will be detected on the rising (positive) edge or on the falling (negative) edge of the input.
Function | KtMDsr_UnlockSession | The driver throws an exception if UnlockObject is called.
Function | KtMDsr_WaveformTableDefineWaveformCharacter | Defines a new waveform character. This then defines the waveform to be produced when this character is executed on one of the specified signals. This function is called once for each waveform character in the WaveformTable.
Function | KtMDsr_WaveformTableGetSignals | Comma-separated list of Signals defined for this Waveform Table.
Function | KtMDsr_WaveformTableQueryWaveformCharacter | Returns an array of times and an array of events given the specified signal and waveform character.
Function | KtMDsr_WaveformTableQueryWaveformCharacters | Returns all the Waveform Characters defined for the specified Signal.
Function | KtMDsr_WaveformTablesAdd | Adds a WaveformTable block of specified name.
Function | KtMDsr_WaveformTablesAddSimpleWaveformTable | Creates a basic waveform table that defines commonly-defined waveform characters at a given drive time and compare time.
Function | KtMDsr_WaveformTableSetPeriod | The period of the waveforms in this WaveformTable. That is, the total time of each waveform.
Function | KtMDsr_WaveformTablesGetName | Returns the waveformtable name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_WaveformTablesRemove | Removes the WaveformTable block of specified name.
Top

Attributes

 | Name | Description
Attribute | KTMDSR_ATTR_CACHE | This IVI standard attribute has no effect on the KtMDsr driver.
Attribute | KTMDSR_ATTR_CALIBRATION_ADJUSTMENT_INFORMATION | Read Only - A comma separated list of calibration adjustment information. Includes the calibration date and instrument identification. Returns an empty string if any of the modules in the current system have not been calibrated.
Attribute | KTMDSR_ATTR_CALIBRATION_DUE_DATE | Read Only - The computed date of the next required instrument calibration. If the instrument is not subject to calibration, this will return "n/a". If the instrument is not calibrated this will return "unknown". If the instrument is calibrated this will return a date formatted for the current locale.
Attribute | KTMDSR_ATTR_CALIBRATION_INSTRUMENT_IDENTIFIER | Read Only - A unique identifier for the collection of modules that make up the current instrument. This will not include modules that are independently calibrated (typically just the M9300A reference module). This value is used in tracking instrument calibration verification.
Attribute | KTMDSR_ATTR_CALIBRATION_STATUS | Read Only - This property indicates the calibration status of the instrument. The status is determined by comparing the (calibration due date - cal due reminder value) to the current date.
Attribute | KTMDSR_ATTR_CALIBRATION_VERIFICATION_INFORMATION | Read Only - A comma separated list of calibration verification information. Includes the calibration date and instrument identification. Returns an empty string if any of the modules in the current system have not been calibrated.
Attribute | KTMDSR_ATTR_CAPTURESITE_EDGE_PLACEMENT_RESOLUTION | Returns the EdgePlacementResolution specified when this site was activated. Or, if EdgePlacementResolutionAuto was set to True, this is the edge placement resolution selected by the DSR.
Attribute | KTMDSR_ATTR_CAPTURESITE_EDGE_PLACEMENT_RESOLUTION_AUTO | Returns the value of EdgePlacementResolutionAuto with which the site was activated.
Attribute | KTMDSR_ATTR_CAPTURESITE_EXECUTION_STATE | Returns the sequencer state.
Attribute | KTMDSR_ATTR_CAPTURESITE_REQUESTED_RESULT_COUNT | Number of Results per channel to be collected.
Attribute | KTMDSR_ATTR_CAPTURESITE_RESULT_COUNT | Gets the number of elements in the result in memory.
Attribute | KTMDSR_ATTR_CAPTURESITES_COUNT |
Attribute | KTMDSR_ATTR_CAPTURESITES_TRIGGER_MODE | Sets the Trigger Mode. The trigger mode determines if execution of the pattern begins immediately when initiated or if the execution waits for a trigger event before executing.
Attribute | KTMDSR_ATTR_CAPTURESITES_TRIGGER_SOURCE | Gets or sets the trigger source for this pattern. String format is: SoftwareTrigger<0-15>.
Attribute | KTMDSR_ATTR_DCLEVEL_SIGNALS | Gets a comma-separated list of Signals for which levels have been defined for this DCLevels block.
Attribute | KTMDSR_ATTR_DCLEVELS_COUNT |
Attribute | KTMDSR_ATTR_DRIVER_SETUP | Returns the driver setup string that the user specified in the IVI configuration store when the instrument driver session was initialized or passed in the OptionString parameter of the Initialize function.
Attribute | KTMDSR_ATTR_GROUP_CAPABILITIES | An IVI-specified attribute used to describe the class compliance. The IVI Foundation has not defined a class relevant to the DSR; therefore, this returns an empty string.
Attribute | KTMDSR_ATTR_INSTRUMENT_AUTOMATIC_CORRECTIONS_NEEDED | Returns True if the module requires that AutomaticCorrections be performed to guarantee specifications. This occurs if the current module temperature has deviated by more than 5 degrees C from the temperature at which the current corrections were made.
Attribute | KTMDSR_ATTR_INSTRUMENT_CACHE_SIZE | Gets the current pattern cache size that was set with ConfigureMemory.
Attribute | KTMDSR_ATTR_INSTRUMENT_FIRMWARE_REVISION | The firmware revision loaded onto the module. The string is of the form <Major>.<Minor>.<Build>.<Patch>.
Attribute | KTMDSR_ATTR_INSTRUMENT_IDENTIFY | If True, this attribute causes an indicator LED on the front panel to flash. This assists in identifying the module being programmed. The special indication persists as long as the Boolean is True.
Attribute | KTMDSR_ATTR_INSTRUMENT_LOST_LOCK | True indicates that the reference clock PLL has lost lock since it was last tested.
Attribute | KTMDSR_ATTR_INSTRUMENT_MANUFACTURER | Returns the instrument manufacturer, "Keysight Technologies".
Attribute | KTMDSR_ATTR_INSTRUMENT_MODEL | The model number of the instrument. Returns "M9195A".
Attribute | KTMDSR_ATTR_INSTRUMENT_REFERENCECLOCK_FREQUENCY | This attribute returns the frequency, in Hz, specified with Configure.
Attribute | KTMDSR_ATTR_INSTRUMENT_REFERENCECLOCK_SOURCE | This attribute returns the reference frequency source specified with Configure.
Attribute | KTMDSR_ATTR_INSTRUMENT_REMAINING_CACHE | Calculates and returns the amount of cache memory remaining and available for compiled patterns.
Attribute | KTMDSR_ATTR_INSTRUMENT_RESULT_SIZE | Result size as determined by ConfigureMemory.
Attribute | KTMDSR_ATTR_INSTRUMENT_SLOT | The chassis slot number that the module occupies.
Attribute | KTMDSR_ATTR_INSTRUMENT_TEMPERATURE | Return the module temperature in degrees Celsius.
Attribute | KTMDSR_ATTR_INTERCHANGE_CHECK | This is an optional IVI-standard attribute and is not implemented by the KtMDsr. It flags warnings when measurements are made when certain settings have not been altered from their default values.
Attribute | KTMDSR_ATTR_IO_RESOURCE_DESCRIPTOR | The resource descriptor specifies the connection to module. It may be specified in the Configuration Store or passed in the ResourceName parameter of the Initialize function. It is null if the driver is not initialized.
Attribute | KTMDSR_ATTR_LOGICAL_NAME | The Logical Name identifies a driver session in the Configuration Store. If Logical Name is not empty, the driver was initialized from information in the driver session. If empty, the driver was initialized without using the Configuration Store.
Attribute | KTMDSR_ATTR_MACRODEF_MACROS | Returns a comma-separated list of Macros defined in this MacroDef.
Attribute | KTMDSR_ATTR_MACRODEFS_COUNT |
Attribute | KTMDSR_ATTR_MODULE_CALIBRATION_ADJUSTMENT_INFORMATION | Read Only - A multi-line list of calibration adjustment information. Each system with this module that a system calibration has been performed with will generate a line that includes the calibration date and instrument identifier.
Attribute | KTMDSR_ATTR_MODULE_CALIBRATION_DUE_DATE | Read Only - The computed date of the next required module calibration date. If the module is not subject to periodic calibration, this returns "n/a". If the module has not been calibrated, this returns "unknown". If the module is calibrated, this returns a date formatted for the current locale.
Attribute | KTMDSR_ATTR_MODULE_CALIBRATION_STATUS | Read Only - This property indicates the calibration status of the module. The status is determined by comparing the (module calibration due date - cal due reminder value) to the current date.
Attribute | KTMDSR_ATTR_MODULE_CALIBRATION_VERIFICATION_INFORMATION | Read Only - A multi-line list of calibration verification information. Each system that the module calibration has been verified with will generate a line that includes the calibration date and instrument identifier.
Attribute | KTMDSR_ATTR_MODULE_IDENTIFY | Flashes the light on the front of the module.
Attribute | KTMDSR_ATTR_MODULE_NONVOLATILE_ASSET_NUMBER |
Attribute | KTMDSR_ATTR_MODULE_NONVOLATILE_CAL_DUE_REMINDER | The "reminder" period, in days, prior to any calibration due. Range 0..1000 days. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Attribute | KTMDSR_ATTR_MODULE_NONVOLATILE_ENABLE_INSTRUMENT_CAL_WARNINGS | Enable/disable of instrument cal checks/warnings. If this value is true and module calibration date + ModuleCalInterval is close or past, then a warning will be generated. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Attribute | KTMDSR_ATTR_MODULE_NONVOLATILE_ENABLE_MODULE_CAL_WARNINGS | Enable/disable of module cal checks/warnings. If this value is true and module calibration date + ModuleCalInterval is close or past, then a warning will be generated. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Attribute | KTMDSR_ATTR_MODULE_NONVOLATILE_ENABLE_PERIODIC_CAL | Enable/disable of "subject to periodic cal". If this value is false, no checks of cal dates/intervals should be done and the SFP should display "Not subject to periodic cal". Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Attribute | KTMDSR_ATTR_MODULE_NONVOLATILE_INSTRUMENT_CAL_INTERVAL | The instrument (multi-module) calibration interval in days. Range 1..10000 days. Checks for "cal due" are based on the instrument's calibration date (set by Keysight manufacturing/service) + InstrumentCalInterval. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Attribute | KTMDSR_ATTR_MODULE_NONVOLATILE_MODULE_CAL_INTERVAL | The module calibration interval in days. Range 1..10000 days. Checks for "cal due" are based on the module's calibration date (set by Keysight manufacturing/service) + ModuleCalInterval. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Attribute | KTMDSR_ATTR_MODULE_NONVOLATILE_PASSPHRASE | A passphrase used to protect various values in Nonvolatile (see below). Passphrase must be provided to Write if any of these values have changed. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Attribute | KTMDSR_ATTR_MODULE_NONVOLATILE_SYSTEM_IDENTIFICATION | A persistent arbitrary string with a maximum length of 32 characters nominally intended to provide a user customizable method to distinguish modules. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Attribute | KTMDSR_ATTR_MODULE_OPTIONS | Read Only - A comma separated list of the options installed in the module.
Attribute | KTMDSR_ATTR_MODULE_SERIAL_NUMBER | Read Only - Serial number of the module.
Attribute | KTMDSR_ATTR_MODULE_SLOT | Read Only - The chassis slot the module occupies.
Attribute | KTMDSR_ATTR_MODULE_TEMPERATURE | Read Only - Returns the module temperature in degrees Celsius.
Attribute | KTMDSR_ATTR_MODULES_COUNT | Returns the number of modules.
Attribute | KTMDSR_ATTR_PATTERN_HIGHEST_PATTERN_INDEX | The highest pattern index currently defined. For best efficiency, the next pattern element should be defined at this index+1.
Attribute | KTMDSR_ATTR_PATTERN_PATTERN_LENGTH | The current length of the pattern. First index is 1. Note that when loading a file, this is the highest element position in the pattern.
Attribute | KTMDSR_ATTR_PATTERN_SIGNALS | Returns a comma-separated list of all signals in this pattern.
Attribute | KTMDSR_ATTR_PATTERNBURST_MACRO_DEFS | Name of the MacroDefs block to use when compiling the macro definitions in this PatternBurst.
Attribute | KTMDSR_ATTR_PATTERNBURST_PATTERNS | Comma-separated list of Pattern blocks or other PatternBursts to execute when this Pattern Burst is executed. The patterns are executed in the order specified and any macros are compiled using the MacroDefs block in this PatternBurst.
Attribute | KTMDSR_ATTR_PATTERNBURSTS_COUNT |
Attribute | KTMDSR_ATTR_PATTERNEXEC_DC_LEVELS | DcLevels block to be used by the PatternExec.
Attribute | KTMDSR_ATTR_PATTERNEXEC_PATTERN_BURST | PatternBurst block to be used by the PatternExec.
Attribute | KTMDSR_ATTR_PATTERNEXECS_COUNT |
Attribute | KTMDSR_ATTR_PATTERNFILE_ERROR_COUNT | Returns the number of parsing errors from the last Load. The OpenXML and BulkData parsers may return multiple errros. The STIL parser terminates on the first error, so it always returns 0 or 1 for STIL. Use GetNextError to read the errors.
Attribute | KTMDSR_ATTR_PATTERNS_COUNT |
Attribute | KTMDSR_ATTR_PATTERNSITE_CONDITIONAL_LOOP_FAILURE_MODE | Match loops and watch loops include a loop counter which, if expired, indicates that the loop has failed. This attribute selects what will happen when the loop counter expires (either stop execution or exit the loop and continue).
Attribute | KTMDSR_ATTR_PATTERNSITE_CONDITIONAL_LOOP_SUCCESS_MODE | Configures if the DSR will execute a MatchLoop at least one extra time after a successful loop, or if the MatchLoop will require no compares in the final few cycles of the loop.
Attribute | KTMDSR_ATTR_PATTERNSITE_EDGE_PLACEMENT_RESOLUTION | Returns the edge placement resolution that was used when this pattern was activated. If EdgePlacementResolutionAuto was True at the time of activation, the return value is the value selected by the DSR.
Attribute | KTMDSR_ATTR_PATTERNSITE_EDGE_PLACEMENT_RESOLUTION_AUTO | Returns a Boolean that indicates whether this site was activated with EdgePlacementResolutionAuto.
Attribute | KTMDSR_ATTR_PATTERNSITE_EXECUTION_RESULT | Gets a Boolean that indicates whether there are any results logged from the previous pattern execution. True indicates there are results.
Attribute | KTMDSR_ATTR_PATTERNSITE_EXECUTION_STATE | Returns the state of the pattern execution hardware. Possible values are Stopped, Running, WaitingForTrigger, Complete, Aborted, and Error.
Attribute | KTMDSR_ATTR_PATTERNSITE_FORCE_VALIDATE_ENABLE | If true, any WaveformTables compiled will perform force validation by adding a compare operation to validate a successful force on the last cycle of operations that include force operations.
Attribute | KTMDSR_ATTR_PATTERNSITE_RESULT_COUNT | Gets the number of elements in the result from the last pattern execution.
Attribute | KTMDSR_ATTR_PATTERNSITE_RESULT_WIDTH | Gets the width of the result, that is, the number of bits in each element of the response. The result width is established by the highest ordinal assigned to a response signal in the site definition.
Attribute | KTMDSR_ATTR_PATTERNSITE_TERMINATION_REASON | Gets a comma-separated string containing errors that occurred during pattern execution. This should be consulted if the ExecutionResult returns an error.
Attribute | KTMDSR_ATTR_PATTERNSITES_COUNT |
Attribute | KTMDSR_ATTR_PATTERNSITES_END_BEHAVIOR | Sets the behavior of the signal lines upon completion of a pattern to either retain the last state of the signal lines from the last period or repeat the last waveform character of the last period.
Attribute | KTMDSR_ATTR_PATTERNSITES_RESULT_BUFFER_SIZE | Specifies the amount of memory, in bytes, to be reserved for results for this pattern. This memory is taken from the memory reserved for results using Instrument Configure Memory.
Attribute | KTMDSR_ATTR_PATTERNSITES_TRIGGER_MODE | The trigger mode determines whether the pattern begins executing immediately after it is initiated or whether it waits for a trigger event.
Attribute | KTMDSR_ATTR_PATTERNSITES_TRIGGER_SOURCE | Gets or sets the trigger source used to begin execution for this pattern after calling Initiate.
Attribute | KTMDSR_ATTR_PATTERNSITES_WHAT_TO_LOG | Sets the compares to log during pattern execution (all compares; first failed compare; all failed compares). If "first failed compare" is selected, the first failure terminates the pattern execution.
Attribute | KTMDSR_ATTR_PPMUSITE_AVERAGE_MODE | Controls the averaging performed for measurements. Configures whether the PPMU should perform simple averaging, perform averaging to noise reduction (reject power-line frequency noise), or omit averaging to return the highest speed measurements.
Attribute | KTMDSR_ATTR_PPMUSITE_CURRENT_LIMIT | Returns the maximum current the module can produce on this channel based on the current settings.
Attribute | KTMDSR_ATTR_PPMUSITE_FORCE_MODE | Allows querying of the Force Mode. To set the ForceMode attribute, use the Force function or one of the Force and Measure functions.
Attribute | KTMDSR_ATTR_PPMUSITE_LEVEL | Returns the force level currently in use. To set the Level attribute, use the Force function or one of the Force and Measure functions.
Attribute | KTMDSR_ATTR_PPMUSITE_SETTLING_DELAY | Specifies the delay, in seconds, between applying the Force and performing the measurement.
Attribute | KTMDSR_ATTR_PPMUSITES_COUNT |
Attribute | KTMDSR_ATTR_QUERY_INSTRUMENT_STATUS | This is an IVI-standard method used to query a remote instrument at the end of each method or property that performs I/O to the instrument. This is not implemented in the KtMDsr.
Attribute | KTMDSR_ATTR_RANGE_CHECK | Drivers may choose to always validate some property/parameter values, never validate others, and optionally validate others, to avoid sending invalid commands to the instrument. If True, the driver performs optional validations.
Attribute | KTMDSR_ATTR_RECORD_COERCIONS | This is an optional IVI-standard method. This is not implemented by the KtMDsr. It controls the logging of settings that have been rounded or coerced before applying them to the hardware.
Attribute | KTMDSR_ATTR_SIGNAL_DIRECTION | Gets or sets the direction of this signal. The direction is relative to the DUT.
Attribute | KTMDSR_ATTR_SIGNALGROUP_SIGNALS | Sets the list of Signals to use for this SignalGroup. To add multiple signals at the same time, they should be defined using conventional STIL signal-reference-expression syntax. For instance "Sig1+Sig2+Bus[0..7]".
Attribute | KTMDSR_ATTR_SIGNALGROUPS_COUNT |
Attribute | KTMDSR_ATTR_SIGNALS_COUNT |
Attribute | KTMDSR_ATTR_SIMULATE | If True, the driver does not perform I/O to the instrument, but returns simulated values for output parameters and results.
Attribute | KTMDSR_ATTR_SITE_MARKER0_DESTINATION | Sets the destination of all Marker0 references for patterns run on this site. The destination specifies on what signal the marker is generated.
Attribute | KTMDSR_ATTR_SITE_MARKER1_DESTINATION | Sets the destination of all Marker1 references for patterns run on this site. The destination specifies on what signal the marker is generated.
Attribute | KTMDSR_ATTR_SITE_MARKER2_DESTINATION | Sets the destination of all Marker2 references for patterns run on this site. The destination specifies on what signal the marker is generated.
Attribute | KTMDSR_ATTR_SITE_TRIGGER0_SOURCE | Configures the trigger event that maps to Trigger0 in the WatchLoop.
Attribute | KTMDSR_ATTR_SITE_TRIGGER1_SOURCE | Configures the trigger event that maps to Trigger1 in the WatchLoop.
Attribute | KTMDSR_ATTR_SITE_TRIGGER2_SOURCE | Configures the trigger event that maps to Trigger2 in the WatchLoop.
Attribute | KTMDSR_ATTR_SITE_TRIGGER3_SOURCE | Configures the trigger event that maps to Trigger3 in the WatchLoop.
Attribute | KTMDSR_ATTR_SITE_TRIGGER4_SOURCE | Configures the trigger event that maps to Trigger4 in the WatchLoop.
Attribute | KTMDSR_ATTR_SITE_TRIGGER5_SOURCE | Configures the trigger event that maps to Trigger5 in the WatchLoop.
Attribute | KTMDSR_ATTR_SITES_COUNT |
Attribute | KTMDSR_ATTR_SPECIFIC_DRIVER_CLASS_SPEC_MAJOR_VERSION | Returns the major version number of the class specification in accordance with which the IVI specific driver was developed. Zero is returned if the driver is not compliant with a class specification.
Attribute | KTMDSR_ATTR_SPECIFIC_DRIVER_CLASS_SPEC_MINOR_VERSION | Returns the minor version number of the class specification in accordance with which the IVI specific driver was developed. Zero is returned if the driver is not compliant with a class specification.
Attribute | KTMDSR_ATTR_SPECIFIC_DRIVER_DESCRIPTION | Returns a brief description of the IVI specific driver. The string that this attribute returns contains a maximum of 256 bytes including the NUL byte.
Attribute | KTMDSR_ATTR_SPECIFIC_DRIVER_PREFIX | Returns the case-sensitive prefix of the user-callable functions that the IVI-C specific driver exports. The string that this attribute returns contains a maximum of 32 bytes including the NUL byte.
Attribute | KTMDSR_ATTR_SPECIFIC_DRIVER_REVISION | Returns version information about the IVI specific driver. The string that this attribute returns contains a maximum of 256 bytes including the NUL byte.
Attribute | KTMDSR_ATTR_SPECIFIC_DRIVER_VENDOR | Returns the name of the vendor that supplies the IVI specific driver. The string that this attribute returns contains a maximum of 256 bytes including the NUL byte.
Attribute | KTMDSR_ATTR_STATICSITES_COUNT |
Attribute | KTMDSR_ATTR_SUPPORTED_INSTRUMENT_MODELS | A comma-separated list of instrument models that the IVI specific driver can control. Returns "M9195A".
Attribute | KTMDSR_ATTR_SYSTEM_ABOUT | Read Only - Returns addition information about the system beyond the firmware and hardware versions. This is typically included in an SFP (Soft Front Panel) About Box dialog.
Attribute | KTMDSR_ATTR_SYSTEM_LICENSING_HOST_IDENTIFIER | The unique key identifying the system controller for licensing purposes. Also called HostID.
Attribute | KTMDSR_ATTR_SYSTEM_LICENSING_INSTALLED_LICENSES | A semicolon-separated list of the software licenses installed on the system controller. Each software license consists of a comma-separated Feature Name and Description.
Attribute | KTMDSR_ATTR_SYSTEM_OPTIONS | Read Only - A comma separated list of the effective options of the system. See Remarks.
Attribute | KTMDSR_ATTR_SYSTEM_SERIAL_NUMBER | The module serial number.
Attribute | KTMDSR_ATTR_SYSTEM_TIMEOUT_MILLISECONDS | Queries the timeout used for IO to the module.
Attribute | KTMDSR_ATTR_SYSTEM_TRACE_ENABLED | If True, output trace log of all driver calls to an XML file, using a unique file name based on date and time in the same directory as the application executable accessing the driver OR as specified using tracing options when initializing the driver.
Attribute | KTMDSR_ATTR_TRIGGER_COUNT | Returns the number of trigger and marker signals supported by the DSR module.
Attribute | KTMDSR_ATTR_TRIGGER_DIRECTION | This property sets the direction of those DSR signals that are bi-directional and can be either a trigger input or a marker output. This property applies to GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], and PXI_STAR.
Attribute | KTMDSR_ATTR_TRIGGER_EXTERNAL_TRIGGER_TERMINATION | This property configures the input termination impedance of the two front panel trigger inputs, GPIO1 (External1) and GPIO2 (External2). Two values are programmable, 50 ohms and high impedance (the default, which is nominally 10K ohm).
Attribute | KTMDSR_ATTR_TRIGGER_EXTERNAL_TRIGGER_THRESHOLD_LEVEL | Sets the threshold voltage levels for the front panel signals, GPIO1 (External1) and GPIO2 (External2), when they are programmed as trigger inputs. The threshold voltages can be set independently for each trigger input over the range -2VDC to 4VDC.
Attribute | KTMDSR_ATTR_TRIGGER_MARKER_PULSE_WIDTH | This property sets the pulse width of marker outputs. The pulse width can be programmed independently for the 12 DSR signals that can be used as markers: GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], PXI_STAR, and PXIe_DSTARC.
Attribute | KTMDSR_ATTR_TRIGGER_POLARITY | For a marker output, Polarity controls whether the marker will go high (positive) or low (negative). For a trigger input, Polarity controls whether a trigger will be detected on the rising (positive) edge or on the falling (negative) edge of the input.
Attribute | KTMDSR_ATTR_WAVEFORMTABLE_PERIOD | The period of the waveforms in this WaveformTable. That is, the total time of each waveform.
Attribute | KTMDSR_ATTR_WAVEFORMTABLE_SIGNALS | Comma-separated list of Signals defined for this Waveform Table.
Attribute | KTMDSR_ATTR_WAVEFORMTABLES_COUNT |
Top


Functions

Functions

 | Name | Description
Function | KtMDsr_CalibrationSetUseFixture | Indicates whether the Calibration will be performed with the factory-provided fixture.
Function | KtMDsr_CaptureSiteAbort | Asynchronously stop the execution of the pattern. That is, stop the capture of data.
Function | KtMDsr_CaptureSiteFetchResultByte | Returns the captured result in an array of bytes. Results must fit in a byte.
Function | KtMDsr_CaptureSiteFetchResultInt16 | Returns the captured result in an array of 16-bit values. Results must fit in a 16-bit integer.
Function | KtMDsr_CaptureSiteFetchResultSegmentByte | Returns a segment from the captured result. Result must fit in a byte.
Function | KtMDsr_CaptureSiteFetchResultSegmentInt16 | Returns a segment from the captured result. Result must fit in a 16-bit integer.
Function | KtMDsr_CaptureSiteGetEdgePlacementResolution | Returns the EdgePlacementResolution specified when this site was activated. Or, if EdgePlacementResolutionAuto was set to True, this is the edge placement resolution selected by the DSR.
Function | KtMDsr_CaptureSiteGetEdgePlacementResolutionAuto | Returns the value of EdgePlacementResolutionAuto with which the site was activated.
Function | KtMDsr_CaptureSiteInitiate | Begin the execution of a pattern. If the Trigger Mode is set to Immediate, execution will begin immediately. If set to Trigger, the hardware will fully initialize, but will wait for a trigger event before proceeding.
Function | KtMDsr_CaptureSitesActivate | Activates a site for data capture.
Function | KtMDsr_CaptureSitesGetName | Returns the capturesite name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_CaptureSitesInactivate | Releases the resources associated with this site. The state of the individual channels is not changed.
Function | KtMDsr_CaptureSitesInactivateAndDisable | Releases the resources associated with this site. The individual channels are disabled.
Function | KtMDsr_CaptureSitesSetRequestedResultCount | Sets the number of Results per channel to be collected.
Function | KtMDsr_CaptureSitesSetTriggerMode | Sets the Trigger Mode. The trigger mode determines if execution of the pattern begins immediately when initiated or if the execution waits for a trigger event before executing.
Function | KtMDsr_CaptureSitesSetTriggerSource | Sets the trigger source for this pattern. String format is: SoftwareTrigger<0-15>.
Function | KtMDsr_CaptureSiteWaitForAcquisitionComplete | The function will not return until this pattern is done executing. If a pattern has not been initiated or if it has already completed, the function will return immediately.
Function | KtMDsr_ChannelClampVoltagePpmuEnable | Specifies whether the voltage clamps are active when the DSR is in PPMU force current mode. (Note: Voltage clamps are never active when the PPMU is forcing a voltage.)
Function | KtMDsr_ChannelClampVoltages | Sets the protection voltages to which inputs are clamped when the clamps are active.
Function | KtMDsr_ChannelLineCompensation | Compensates for transmission line effects. The degree can be set from 0 to 7.
Function | KtMDsr_ChannelQueryClampVoltage | Queries the voltages to which the inputs clamps are configured.
Function | KtMDsr_ChannelQueryClampVoltagePpmuEnable | Queries whether the voltage clamps are enabled when producing current for the specified channel of the PPMU.
Function | KtMDsr_ChannelQueryLineCompensation | Queries the line compensation settings for the specified channel.
Function | KtMDsr_ChannelQueryRemoteSenseEnable | Queries whether remote sensing is enabled on the specified channel.
Function | KtMDsr_ChannelQueryResponseDelayCompensation | Queries the response delay compensation for the specified channel.
Function | KtMDsr_ChannelQueryStimulusDelay | Queries the stimulus delay for the specified channel.
Function | KtMDsr_ChannelRemoteSenseEnable | Controls whether stimulus and measurements use the same physical conductors from the DSR.
Function | KtMDsr_ChannelResponseDelayCompensation | Sets a channel-specific response delay compensation. The delay time is set to the round-trip time for a simultaneous event to begin at the DSR output, go out to the DUT, and the response to arrive back at the DSR.
Function | KtMDsr_ChannelsLoadResponseDelayCompensation | Load previously stored ResponseDelayCompensation values
Function | KtMDsr_ChannelsMeasureLeakage | A measurement to calculate the leakage on specificed channels in order to null them out during PatternSite execution.
Function | KtMDsr_ChannelsStoreResponseDelayCompensation | Store all current ResponseDelayCompenstion values to a file.
Function | KtMDsr_ChannelStimulusDelay | Sets a channel-specific delay in the output. This delay is relative to the start trigger. Use StimulusDelay to adjust the channels with respect to each other to ensure signals arrive simultaneously at the DUT.
Function | KtMDsr_ClearError | This function clears the error code and error description for the current execution thread and for the IVI session. If the user specifies a valid IVI session for the Vi parameter, this function clears the error information for the session. If the user passes VI_NULL for the Vi parameter, this function clears the error information for the current execution thread. If the Vi parameter is an invalid session, the function does nothing and returns an error.
Function | KtMDsr_ClearInterchangeWarnings | This is an optional IVI-standard method for managing the reset values of instrument attributes. This capability is not implemented by the KtMDsr.
Function | KtMDsr_close | Closes the session to the module. The module hardware and software resources used by the driver are released. Driver methods and properties that access the instrument are not accessible after Close is called.
Function | KtMDsr_DcLevelGetSignals | Gets a comma-separated list of Signals for which levels have been defined for this DCLevels block.
Function | KtMDsr_DcLevelQueryDcLevels | Gets all the DcLevel values for a Signal. If the DcLevel was created from STIL or if it was altered using SetDcLevels, the logic family value will return custom.
Function | KtMDsr_DcLevelsAdd | Adds a DcLevel with the specified name.
Function | KtMDsr_DcLevelSetDcLevel | Sets an individual DcLevel value for all of the Signals in the SignalExpression. Calling this function will set the Logic Family to custom.
Function | KtMDsr_DcLevelSetDcLevels | Sets all the DcLevel values for all the Signals in the SignalExpression. Calling this function will set the Logic Family to custom.
Function | KtMDsr_DcLevelSetLogicFamily | Sets the Logic Family for all the Signals in the SignalExpression using one of the LogicFamiliesEnum presettings. All DcLevel values are written.
Function | KtMDsr_DcLevelsGetName | Returns the dclevel name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_DcLevelsRemove | Removes the DcLevel block with the specified name.
Function | KtMDsr_Disable | Quickly places the instrument in a state where it has no, or minimal, effect on the external system to which it is connected. As a side effect of this call, the instrument is Reset.
Function | KtMDsr_error_message | Translates the error return value from an IVI driver function to a user-readable string. The user should pass a buffer with at least 256 bytes for the ErrorMessage parameter.
Function | KtMDsr_error_query | This function always returns an ErrorCode of 0 and the ErrorMessage "No Error".
Function | KtMDsr_GetAttributeViBoolean | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | KtMDsr_GetAttributeViInt32 | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | KtMDsr_GetAttributeViReal64 | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | KtMDsr_GetAttributeViSession | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | KtMDsr_GetAttributeViString | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | KtMDsr_GetError | This function retrieves and then clears the IVI error information for the session or the current execution thread. If the user specifies a valid IVI session for the Vi parameter, Get Error retrieves and then clears the error information for the session. If the user passes VI_NULL for the Vi parameter, Get Error retrieves and then clears the error information for the current execution thread. If the Vi parameter is an invalid session, the function does nothing and returns an error. Normally, the error information describes the first error that occurred since the user last called the Get Error or Clear Error function.
Function | KtMDsr_GetNextCoercionRecord | This is an optional IVI-standard method. It interrogates how settings have been rounded or coerced before applying them to the hardware. This is not implemented by the KtMDsr.
Function | KtMDsr_GetNextInterchangeWarning | This is an optional IVI-standard query. This is not implemented by the KtMDsr. It flags warnings when measurements are made when certain settings have not been altered from there default values.
Function | KtMDsr_init | Opens the I/O session to the instrument. Driver methods and properties that access the instrument are only accessible after Initialize is called. Initialize optionally performs a Reset and queries the instrument to validate the instrument model.
Function | KtMDsr_InitWithOptions | Opens a session with from one to twelve DSR modules. Performs a Reset and optionally queries the instrument to validate the model. After initialization, the DSR module(s) are accessible by the driver methods and properties.
Function | KtMDsr_InstrumentAutomaticCorrectionsExecute | Runs an algorithm which automatically calculates corrections for the instrument. Before calling this function, any external fixtures (inputs to the instrument) must be disconnected from the instrument.
Function | KtMDsr_InstrumentAvailableVersions | Returns a comma-delimited string specifying previous software revisions of the product. Any of the revisions returned by this method can be used in a call to the DowngradeFirmware method.
Function | KtMDsr_InstrumentClearCache | Clears all downloaded patterns in the cache. There must not be any active patterns or capture sites.
Function | KtMDsr_InstrumentConfigureMemory | Configures how memory is allocated between storing compiled patterns and results. The memory size is specified for pattern compilation; the return value is the amount of memory available for results.
Function | KtMDsr_InstrumentDowngradeFirmware | Downgrades the instrument firmware to the firmware used with an earlier version of the product software.
Function | KtMDsr_InstrumentGetAutomaticCorrectionsNeeded | Returns True if the module requires that AutomaticCorrections be performed to guarantee specifications. This occurs if the current module temperature has deviated by more than 5 degrees C from the temperature at which the current corrections were made.
Function | KtMDsr_InstrumentGetPatternCacheSize | Gets the current pattern cache size that was set with ConfigureMemory.
Function | KtMDsr_InstrumentGetRemainingCache | Calculates and returns the amount of cache memory remaining and available for compiled patterns.
Function | KtMDsr_InstrumentGetResultSize | Result size as determined by ConfigureMemory.
Function | KtMDsr_InstrumentGetSlot | The chassis slot number that the module occupies.
Function | KtMDsr_InstrumentGetTemperature | Return the module temperature in degrees Celsius.
Function | KtMDsr_InstrumentMeasureAndApplyResponseDelayCompensation | Measures the cable delay of an unterminated cable along with delays internal to the DSR and stores the compensation values into Channels Response Delay Compensation.
Function | KtMDsr_InstrumentQueryAuxiliaryOutputControl | Queries whether the specified auxiliary, open drain output pin on the module is currently grounded or in a high impedance state.
Function | KtMDsr_InstrumentReferenceClockConfigure | This function specifies the reference clock source and frequency. The clock source can be selected from a system timing module, the DSR front panel, and the chassis backplane. The clock frequency can be either 10 MHz or 100 MHz, depending on the source.
Function | KtMDsr_InstrumentRemoveAllDynamicItems | Removes all of the STIL components, and inactivates any active sites on the instrument.
Function | KtMDsr_InstrumentSetAuxiliaryOutputControl | Writes the logical value to one of the four auxiliary, open drain output pins on the module. The pins are numbered 0-3. Writing 1 sets the pin to its high impedance state. Writing zero sets the pin to ground.
Function | KtMDsr_InstrumentSetIdentify | If True, this attribute causes an indicator LED on the front panel to flash. This assists in identifying the module being programmed. The special indication persists as long as the Boolean is True.
Function | KtMDsr_InvalidateAllAttributes | This IVI-standard function invalidates all of the driver's cached values. The KtMDsr driver always manages its state cache internally; therefore, this function performs no operations and returns Success.
Function | KtMDsr_LockSession | The driver throws an exception if LockObject is called.
Function | KtMDsr_MacroDefDefineMacro | Defines the patterns to be used as macros.
Function | KtMDsr_MacroDefGetMacros | Returns a comma-separated list of Macros defined in this MacroDef.
Function | KtMDsr_MacroDefsAdd | Adds a MacroDef block of the specified name.
Function | KtMDsr_MacroDefsGetName | Returns the macrodef name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_MacroDefsRemove | Removes the MacroDef block with the specified name.
Function | KtMDsr_ModuleNonvolatileClear | Clears/discards any changes to cached values and resets cached values to the current nonvolatile settings.
Function | KtMDsr_ModuleNonvolatileWrite | Writes all cached values from the System.Nonvolatile.Item interface to nonvolatile memory. If certain values have changed (see below) the current Passphrase must be supplied to Write.
Function | KtMDsr_ModulesGetName | Returns the module name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_PatternBurstsAdd | Adds a PatternBurst block of the specified name.
Function | KtMDsr_PatternBurstSetMacroDefs | Name of the MacroDefs block to use when compiling the macro definitions in this PatternBurst.
Function | KtMDsr_PatternBurstSetPatterns | Comma-separated list of Pattern blocks or other PatternBursts to execute when this Pattern Burst is executed. The patterns are executed in the order specified and any macros are compiled using the MacroDefs block in this PatternBurst.
Function | KtMDsr_PatternBurstsGetName | Returns the patternburst name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_PatternBurstsRemove | Removes the PatternBurst block with the specified name.
Function | KtMDsr_PatternCrossReference | Places a CrossReference instruction in the pattern at the specified Index. CrossReferences are used to relate the result from the pattern execution to a specific line in the pattern. The Reference string parameter can also be used in marker generation.
Function | KtMDsr_PatternDeleteElementAtIndex | Deletes the Pattern element at the specified Index.
Function | KtMDsr_PatternExecsAdd | Adds a PatternExec block of the specified name.
Function | KtMDsr_PatternExecSetDcLevels | DcLevels block to be used by the PatternExec.
Function | KtMDsr_PatternExecSetPatternBurst | PatternBurst block to be used by the PatternExec.
Function | KtMDsr_PatternExecsGetName | Returns the patternexec name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_PatternExecsRemove | Removes the PatternExec block with the specified name.
Function | KtMDsr_PatternFileGetErrorCount | Returns the number of parsing errors from the last Load. The OpenXML and BulkData parsers may return multiple errros. The STIL parser terminates on the first error, so it always returns 0 or 1 for STIL. Use GetNextError to read the errors.
Function | KtMDsr_PatternFileGetNextError | Returns the next parsing error. If there are no errors, returns "No Error."
Function | KtMDsr_PatternFileLoad | This function loads a STIL, OpenXml, or bulk data file and creates objects based on the content of the file. If an element is loaded and there is already one by that name in the same namespace, the new element will replace the original one.
Function | KtMDsr_PatternFileLoadAndUpdateOpenXml | This function loads an OpenXml file and creates STIL components based on the content of the file. The STIL components created are dependent on the file contents. Syntax errors are written to a new sheet in the original OpenXml file.
Function | KtMDsr_PatternFileLoadBulkDataDeferred | Loads a Pattern directly into on board memory.
Function | KtMDsr_PatternFileStoreStil | Stores all components loaded to a STIL file. Note that it does not preserve comments or annotations from the original file.
Function | KtMDsr_PatternGetHighestPatternIndex | The highest pattern index currently defined. For best efficiency, the next pattern element should be defined at this index+1.
Function | KtMDsr_PatternGetPatternLength | The current length of the pattern. First index is 1. Note that when loading a file, this is the highest element position in the pattern.
Function | KtMDsr_PatternGetSignals | Returns a comma-separated list of all signals in this pattern.
Function | KtMDsr_PatternGoTo | Places a GoTo instruction in the pattern at the specified Index. GoTo causes execution to transfer to the specified label within this pattern.
Function | KtMDsr_PatternLabelVector | Inserts a label on the vector at the specified Index. The index must identify a vector. Labels are used to identify destinations for GoTo statements and to identify locations in a compiled pattern for PatternSite functions that modify the pattern.
Function | KtMDsr_PatternLoop | Places an Loop instruction in the pattern at the specified Index. Loop causes a sequence of instructions to be executed the specified number of times.
Function | KtMDsr_PatternMacro | Places a Macro invocation in the pattern at the specified Index. Macro invocation takes no time.
Function | KtMDsr_PatternMacroWithSubstitution | Inserts a Macro expansion at this point, with STIL style parameter substitution.
Function | KtMDsr_PatternMatchLoop | The loop defined by Index and FinalIndex is executed until each Compare operation in the loop returns true or the LoopCount (if non-zero) is exceeded.
Function | KtMDsr_PatternQueryLineType | Returns information about the pattern element at the given index. This is used to read a pattern that has been defined.
Function | KtMDsr_PatternQueryVector | Provides a way to read back the pattern information for lines that are Vectors. Returns an error if a Vector is not defined at this Index (for instance, if it is outside of the pattern range, or if this Index contains a control instruction).
Function | KtMDsr_PatternsAdd | Adds a Pattern block of the specified name.
Function | KtMDsr_PatternsGetName | Returns the pattern name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_PatternShift | Adds a Shift block to a Macro. If this pattern is executed directly (instead of being used as a macro), this will generate an error upon compilation.
Function | KtMDsr_PatternSiteAbort | Asynchronously stops the execution of a pattern. The pattern aborts and discards any intermediate results.
Function | KtMDsr_PatternSiteFetchLineInformation | Gets the information associated with the specified index in the result array.
Function | KtMDsr_PatternSiteFetchResultByte | Gets an array of results and returns them as bytes. The FetchResultByte function works for sites where all ordinals are less than 8 (0-7).
Function | KtMDsr_PatternSiteFetchResultInt16 | Gets results in an array of 16-bit integers. The FetchResultInt16 function works for sites with ordinals less than 16 (0-15).
Function | KtMDsr_PatternSiteFetchResultSegmentByte | Gets the specified segment of the result as an array of bytes. The FetchResultSegmentByte function works for sites with ordinals less than 8 (0-7).
Function | KtMDsr_PatternSiteFetchResultSegmentInt16 | Returns the specified segment of the results as an array of 16-bit integers. The FetchResultSegmentInt16 function works for sites with ordinals less than 16 (0-15).
Function | KtMDsr_PatternSiteFetchResultSegmentWide | Returns the result as an array of 32-bit integers. It is only needed when the result data is wider than16 bits (Ordinals for results data are > 15).
Function | KtMDsr_PatternSiteFetchResultWide | Returns the result as an array of 32-bit integers. It is only needed when the result data is wider than16 bits (Ordinals for results data are > 15).
Function | KtMDsr_PatternSiteFetchTrinaryResult | Returns an array of captured results. The 32 bits for each element contain two bits for each ordinal (0 - 15); this indicates the actual state of the DUT response on logged compares.
Function | KtMDsr_PatternSiteFetchTrinaryResultSegment | Returns an array of captured results. The 32 bits for each element contain two bits for each ordinal (0 - 15); this indicates the actual state of the DUT response on logged compares.
Function | KtMDsr_PatternSiteFetchTrinaryResultSegmentWide | Returns a segment from the captured result as an array of 32-bit integers. Only needed when the result data is wider than 32 bits.
Function | KtMDsr_PatternSiteFetchTrinaryResultWide | Returns a segment from the captured result as an array of 32-bit integers. Only needed when the result data is wider than 32 bits.
Function | KtMDsr_PatternSiteGetEdgePlacementResolution | Returns the edge placement resolution that was used when this pattern was activated. If EdgePlacementResolutionAuto was True at the time of activation, the return value is the value selected by the DSR.
Function | KtMDsr_PatternSiteGetEdgePlacementResolutionAuto | Returns a Boolean that indicates whether this site was activated with EdgePlacementResolutionAuto.
Function | KtMDsr_PatternSiteGetExecutionErrors | Gets a comma-separated string containing errors that occurred during pattern execution. This should be consulted if the ExecutionResult returns an error.
Function | KtMDsr_PatternSiteGetExecutionResult | Gets a Boolean that indicates whether there are any results logged from the previous pattern execution. True indicates there are results.
Function | KtMDsr_PatternSiteGetExecutionState | Returns the state of the pattern execution hardware. Possible values are Stopped, Running, WaitingForTrigger, Complete, Aborted, and Error.
Function | KtMDsr_PatternSiteGetResultCount | Gets the number of elements in the result from the last pattern execution.
Function | KtMDsr_PatternSiteGetResultWidth | Gets the width of the result, that is, the number of bits in each element of the response. The result width is established by the highest ordinal assigned to a response signal in the site definition.
Function | KtMDsr_PatternSiteInitiate | Begin the execution of the pattern. If Trigger Mode is set to Immediate, the pattern will begin executing immediately. If Trigger Mode is set to Trigger, the hardware will fully initialize, then it will wait for a trigger event before proceeding.
Function | KtMDsr_PatternSiteReevaluateDcLevels | Takes a list of variable expressions separated by semicolons (;), evaluates them, and then recalculates the DcLevels values based on the new values of the variables.
Function | KtMDsr_PatternSiteReevaluateVariables | Takes a list of variable expressions separated by semicolons (;), evaluates them, and then recalculates the values in the WaveformTables based on the new values of the variables.
Function | KtMDsr_PatternSitesActivate | Activates a site for pattern operations using the specified PatternExec and with the specified EdgePlacementResolution. The pattern is compiled and downloaded to the pattern cache.
Function | KtMDsr_PatternSitesActivateFromCache | Activates a previously-compiled PatternSite that has been saved in cache.
Function | KtMDsr_PatternSitesActivatePattern | Activates a site for pattern operations. Parameters specify the site, pattern, waveform table, DcLevels, and EdgePlacementResolution. The pattern is compiled and downloaded to the pattern cache.
Function | KtMDsr_PatternSiteSaveResultsToFile | Saves the results and all of the line information, as text, to the specified file. The individual elements are comma-separated.
Function | KtMDsr_PatternSitesCompilePattern | Compiles the pattern components for the specified site and saves the compiled pattern to the specified destination (either a file or cache). The name will be used to refer to the site when it is later activated from cache.
Function | KtMDsr_PatternSitesCompilePatternExec | Compiles the components into a PatternSite and saves it to the specified destination (either a file or cache). The name will be used to later reference the PatternSite.
Function | KtMDsr_PatternSitesDownloadPatternToCache | Downloads the compiled pattern from the file system to the cache and assigns a name, CacheName, to the compiled pattern.
Function | KtMDsr_PatternSiteSetConditionalLoopFailureMode | Match loops and watch loops include a loop counter which, if expired, indicates that the loop has failed. This attribute selects what will happen when the loop counter expires (either stop execution or exit the loop and continue).
Function | KtMDsr_PatternSiteSetConditionalLoopSuccessMode | Configures if the DSR will execute a MatchLoop or WatchLoop at least one extra time after a successful loop, or if the loop will require no compares in the final few vectors of the loop.
Function | KtMDsr_PatternSiteSetDcLevel | Specifies a single DC level to apply on the given signal within this pattern. SetDcLevel cannot be called while the pattern is executing.
Function | KtMDsr_PatternSiteSetForceValidateEnable | If true, any WaveformTables compiled will perform force validation by adding a compare operation to validate a successful force on the last cycle of operations that include force operations.
Function | KtMDsr_PatternSiteSetSignal | Changes a single signal over a series of clock periods in the compiled waveform. That is, it writes the characters of the provided string into the designated signal in subsequent vectors.
Function | KtMDsr_PatternSiteSetVector | Overwrites the vector data at the specified location in a compiled pattern.
Function | KtMDsr_PatternSiteSetWaveformTable | Overwrites the Waveform Table at the specified location in the compiled pattern.
Function | KtMDsr_PatternSitesGetName | Returns the patternsite name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_PatternSitesInactivate | Releases the resources associated with this site. The state of the individual channels is not changed (that is, the channels are not disabled).
Function | KtMDsr_PatternSitesInactivateAndDisable | Releases the resources associated with this site. The individual channels are disabled.
Function | KtMDsr_PatternSitesListCache | Returns a comma-separated list of PatternSites previously saved in cache, and the amount of memory each is using.
Function | KtMDsr_PatternSitesSetEndBehavior | Sets the behavior of the signal lines upon completion of a pattern to either retain the last state of the signal lines from the last period or repeat the last waveform character of the last period.
Function | KtMDsr_PatternSitesSetResultBufferSize | Specifies the amount of memory, in bytes, to be reserved for results for this pattern. This memory is taken from the memory reserved for results using Instrument Configure Memory.
Function | KtMDsr_PatternSitesSetTriggerMode | The trigger mode determines whether the pattern begins executing immediately after it is initiated or whether it waits for a trigger event.
Function | KtMDsr_PatternSitesSetTriggerSource | Gets or sets the trigger source used to begin execution for this pattern after calling Initiate.
Function | KtMDsr_PatternSitesSetWhatToLog | Sets the compares to log during pattern execution (all compares; first failed compare; all failed compares). If "first failed compare" is selected, the first failure terminates the pattern execution.
Function | KtMDsr_PatternSiteWaitForAcquisitionComplete | This function waits for the pattern to complete execution before it returns. If a pattern has not been initiated or if it has already completed, the function will return immediately.
Function | KtMDsr_PatternsLoadBulkData | Loads the data file into a pattern of a specified name using the bulk data format.
Function | KtMDsr_PatternsRemove | Removes the Pattern block with the specified name.
Function | KtMDsr_PatternVector | Specifies the waveform characters for the specified signals at the specified index. This function may be called multiple times for a single index, providing definitions for various signals with each call.
Function | KtMDsr_PatternWatchLoop | Adds a WatchLoop block to a pattern. The DSR will execute the WatchLoop repeatedly until the specified Trigger is received. The only instructions that can be within a WatchLoop are Vectors.
Function | KtMDsr_PpmuSiteForce | This function forces a current, voltage or shuts off the force function. No measurement is performed.
Function | KtMDsr_PpmuSiteForceCurrentMeasureCurrent | Function that forces the specified current and measures the actual current. Note that the ability to force the current depends on the system impedance.
Function | KtMDsr_PpmuSiteForceCurrentMeasureVoltage | Function that forces the specified current and measures the voltage.
Function | KtMDsr_PpmuSiteForceNothingMeasureVoltage | Stops any active forcing function (either current or voltage) and measures voltage.
Function | KtMDsr_PpmuSiteForceVoltageMeasureCurrent | Function that forces the specified voltage and measures the current.
Function | KtMDsr_PpmuSiteForceVoltageMeasureVoltage | Function that forces the specified voltage and measures the actual voltage. Note that the ability to force the voltage depends on the system impedance.
Function | KtMDsr_PpmuSiteGetCurrentLimit | Returns the maximum current the module can produce on this channel based on the current settings.
Function | KtMDsr_PpmuSiteGetForceMode | Allows querying of the Force Mode. To set the ForceMode attribute, use the Force function or one of the Force and Measure functions.
Function | KtMDsr_PpmuSiteGetLevel | Returns the force level currently in use. To set the Level attribute, use the Force function or one of the Force and Measure functions.
Function | KtMDsr_PpmuSitesActivate | Activates a site for PPMU operations. Once activated, the site block name can be passed to the Item function to access PPMU functions for this site.
Function | KtMDsr_PpmuSiteSetAverageMode | Controls the averaging performed for measurements. Configures whether the PPMU should perform simple averaging, perform averaging to noise reduction (reject power-line frequency noise), or omit averaging to return the highest speed measurements.
Function | KtMDsr_PpmuSiteSetSettlingDelay | Specifies the delay, in seconds, between applying the Force and performing the measurement.
Function | KtMDsr_PpmuSitesGetName | Returns the ppmusite name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_PpmuSitesInactivate | Releases PPMU resources associated with this site without altering the signals on the channels.
Function | KtMDsr_PpmuSitesInactivateAndDisable | Releases PPMU resources associated with this site and places the channels into a high impedance state.
Function | KtMDsr_reset | Places the instrument in the Initialized state. This is the same state the instrument is put in by Initialize, with the exception of PatternCache and TraceEnabled.
Function | KtMDsr_ResetInterchangeCheck | This is an optional IVI-standard function. This is not implemented by the KtMDsr. It controls warnings when measurements are initiated while certain settings have not been altered from their default values.
Function | KtMDsr_ResetWithDefaults | Does the equivalent of Reset and then, configures the driver to option string settings used when Initialize was executed.
Function | KtMDsr_revision_query | Retrieves revision information from the instrument.
Function | KtMDsr_self_test | Performs a self-test on the module. If self-test passes, the TestResult is zero and TestMessage is 'Self test passed'. If self-test fails, TestResult will always return the error code -2147205102, and TestMessage will provide information on the failure(s).
Function | KtMDsr_SetAttributeViBoolean | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | KtMDsr_SetAttributeViInt32 | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | KtMDsr_SetAttributeViReal64 | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | KtMDsr_SetAttributeViSession | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | KtMDsr_SetAttributeViString | This routine is used to access low-level settings of the instrument. See the attributeID parameter for a link to all attributes of the instrument.
Function | KtMDsr_SignalGroupsAdd | Adds a SignalGroup block of the specified name.
Function | KtMDsr_SignalGroupSetSignals | Sets the list of Signals to use for this SignalGroup. To add multiple signals at the same time, they should be defined using conventional STIL signal-reference-expression syntax. For instance "Sig1+Sig2+Bus[0..7]".
Function | KtMDsr_SignalGroupsGetName | Returns the signalgroup name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_SignalGroupsRemove | Removes the SignalGroup block with the specified name.
Function | KtMDsr_SignalsAdd | Adds a Signal of the specified name.
Function | KtMDsr_SignalsAddSignalList | Takes a list of Signal names and creates a new Signal for each, including an assigned direction. This provides a way to define several Signals at once.
Function | KtMDsr_SignalSetDirection | Gets or sets the direction of this signal. The direction is relative to the DUT.
Function | KtMDsr_SignalsRemove | Removes the Signal block with the specified name.
Function | KtMDsr_SiteAssignSignal | Defines the mapping from a signal to a channel and specifies the ordinal. The ordinal specifies the bit or element number to use when packing measurement results into bytes or arrays.
Function | KtMDsr_SiteAssignSignalList | Provides a simple way to define several signals from a comma-separated list of Signal names. Automatically assigns channels and ordinals. First Signal name is assigned Channels[0]; ordinals begin from highest ordinal already assigned for that site.
Function | KtMDsr_SiteQuerySite | Returns the Signals, Channels, and Ordinals defined in the site.
Function | KtMDsr_SitesAdd | Adds a Site with the specified name.
Function | KtMDsr_SiteSetMarker0Destination | Sets the destination of all Marker0 references for patterns run on this site. The destination specifies on what signal the marker is generated.
Function | KtMDsr_SiteSetMarker1Destination | Sets the destination of all Marker1 references for patterns run on this site. The destination specifies on what signal the marker is generated.
Function | KtMDsr_SiteSetMarker2Destination | Sets the destination of all Marker2 references for patterns run on this site. The destination specifies on what signal the marker is generated.
Function | KtMDsr_SiteSetTrigger0Source | Configures the trigger event that maps to Trigger0 in the WatchLoop.
Function | KtMDsr_SiteSetTrigger1Source | Configures the trigger event that maps to Trigger1 in the WatchLoop.
Function | KtMDsr_SiteSetTrigger2Source | Configures the trigger event that maps to Trigger2 in the WatchLoop.
Function | KtMDsr_SiteSetTrigger3Source | Configures the trigger event that maps to Trigger3 in the WatchLoop.
Function | KtMDsr_SiteSetTrigger4Source | Configures the trigger event that maps to Trigger4 in the WatchLoop.
Function | KtMDsr_SiteSetTrigger5Source | Configures the trigger event that maps to Trigger5 in the WatchLoop.
Function | KtMDsr_SitesGetName | Returns the site name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_SitesRemove | Removes the Site of the specified name. Fails if the Site is not defined.
Function | KtMDsr_StaticSiteReadThreeStateVector | Inputs a vector and builds it into two integers, one representing the data value and the other indicating if a valid 1 or 0 was detected. The bits of the integers are mapped to the channels based on the ordinals provided in the Site.
Function | KtMDsr_StaticSiteReadVector | Inputs a vector and builds it into an integer. The bits of the integer are mapped to the channels based on the ordinals provided in the site.
Function | KtMDsr_StaticSitesActivate | Activates a site for StaticSite operations. Once activated, the site block name can be passed to the Item function to access the StaticSite functions for this site.
Function | KtMDsr_StaticSitesGetName | Returns the staticsite name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_StaticSitesInactivate | Releases StaticSite resources associated with this site without altering the signals on the channels.
Function | KtMDsr_StaticSitesInactivateAndDisable | Releases StaticSite resources associated with this site and disables the signals on the channels.
Function | KtMDsr_StaticSiteWriteThreeStateVector | Stimulates the DUT with a vector based on two integers. The bits of the integer are mapped to the channels based on the ordinals provided in the site. The Data parameter sets the truth value; the Enable parameter enables the signal.
Function | KtMDsr_StaticSiteWriteVector | Stimulates the DUT with a vector based on one integer. The bits of the integer are mapped to channels based on the ordinals in the Site. The Data parameter sets the truth value. All bits configured in the site as Signal In or InOut are written.
Function | KtMDsr_SystemGetSerialNumber | The module serial number.
Function | KtMDsr_SystemGetTimeoutMilliseconds | Queries the timeout used for IO to the module.
Function | KtMDsr_SystemGetTraceEnabled | If True, output trace log of all driver calls to an XML file, using a unique file name based on date and time in the same directory as the application executable accessing the driver OR as specified using tracing options when initializing the driver.
Function | KtMDsr_SystemLicensignGetHostIdentifier | The unique key identifying the system controller for licensing purposes. Also called HostID.
Function | KtMDsr_SystemLicensingGetInstalledLicenses | A semicolon-separated list of the software licenses installed on the system controller. Each software license consists of a comma-separated Feature Name and Description.
Function | KtMDsr_TriggerEventGenerateSoftwareEvents | Generates the events indicated by the bits set in the EventBits parameter. If set, the least significant bit generates the SoftwareTrigger0 event, and the corresponding bits, through bit 15, generate events up through SoftwareTrigger15.
Function | KtMDsr_TriggerGetName | Returns the trigger name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_TriggerSetDirection | This property sets the direction of those DSR signals that are bi-directional and can be either a trigger input or a marker output. This property applies to GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], and PXI_STAR.
Function | KtMDsr_TriggerSetExternalTriggerTermination | This property configures the input termination impedance of the two front panel trigger inputs, GPIO1 (External1) and GPIO2 (External2). Two values are programmable, 50 ohms and high impedance (the default, which is nominally 10K ohm).
Function | KtMDsr_TriggerSetExternalTriggerThresholdLevel | Sets the threshold voltage levels for the front panel signals, GPIO1 (External1) and GPIO2 (External2), when they are programmed as trigger inputs. The threshold voltages can be set independently for each trigger input over the range -2VDC to 4VDC.
Function | KtMDsr_TriggerSetMarkerPulseWidth | This property sets the pulse width of marker outputs. The pulse width can be programmed independently for the 12 DSR signals that can be used as markers: GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], PXI_STAR, and PXIe_DSTARC.
Function | KtMDsr_TriggerSetPolarity | For a marker output, Polarity controls whether the marker will go high (positive) or low (negative). For a trigger input, Polarity controls whether a trigger will be detected on the rising (positive) edge or on the falling (negative) edge of the input.
Function | KtMDsr_UnlockSession | The driver throws an exception if UnlockObject is called.
Function | KtMDsr_WaveformTableDefineWaveformCharacter | Defines a new waveform character. This then defines the waveform to be produced when this character is executed on one of the specified signals. This function is called once for each waveform character in the WaveformTable.
Function | KtMDsr_WaveformTableGetSignals | Comma-separated list of Signals defined for this Waveform Table.
Function | KtMDsr_WaveformTableQueryWaveformCharacter | Returns an array of times and an array of events given the specified signal and waveform character.
Function | KtMDsr_WaveformTableQueryWaveformCharacters | Returns all the Waveform Characters defined for the specified Signal.
Function | KtMDsr_WaveformTablesAdd | Adds a WaveformTable block of specified name.
Function | KtMDsr_WaveformTablesAddSimpleWaveformTable | Creates a basic waveform table that defines commonly-defined waveform characters at a given drive time and compare time.
Function | KtMDsr_WaveformTableSetPeriod | The period of the waveforms in this WaveformTable. That is, the total time of each waveform.
Function | KtMDsr_WaveformTablesGetName | Returns the waveformtable name that corresponds to the one-based index that the user specifies.
Function | KtMDsr_WaveformTablesRemove | Removes the WaveformTable block of specified name.
Top


Attributes

Attributes

 | Name | Description
Attribute | KTMDSR_ATTR_CACHE | This IVI standard attribute has no effect on the KtMDsr driver.
Attribute | KTMDSR_ATTR_CALIBRATION_ADJUSTMENT_INFORMATION | Read Only - A comma separated list of calibration adjustment information. Includes the calibration date and instrument identification. Returns an empty string if any of the modules in the current system have not been calibrated.
Attribute | KTMDSR_ATTR_CALIBRATION_DUE_DATE | Read Only - The computed date of the next required instrument calibration. If the instrument is not subject to calibration, this will return "n/a". If the instrument is not calibrated this will return "unknown". If the instrument is calibrated this will return a date formatted for the current locale.
Attribute | KTMDSR_ATTR_CALIBRATION_INSTRUMENT_IDENTIFIER | Read Only - A unique identifier for the collection of modules that make up the current instrument. This will not include modules that are independently calibrated (typically just the M9300A reference module). This value is used in tracking instrument calibration verification.
Attribute | KTMDSR_ATTR_CALIBRATION_STATUS | Read Only - This property indicates the calibration status of the instrument. The status is determined by comparing the (calibration due date - cal due reminder value) to the current date.
Attribute | KTMDSR_ATTR_CALIBRATION_VERIFICATION_INFORMATION | Read Only - A comma separated list of calibration verification information. Includes the calibration date and instrument identification. Returns an empty string if any of the modules in the current system have not been calibrated.
Attribute | KTMDSR_ATTR_CAPTURESITE_EDGE_PLACEMENT_RESOLUTION | Returns the EdgePlacementResolution specified when this site was activated. Or, if EdgePlacementResolutionAuto was set to True, this is the edge placement resolution selected by the DSR.
Attribute | KTMDSR_ATTR_CAPTURESITE_EDGE_PLACEMENT_RESOLUTION_AUTO | Returns the value of EdgePlacementResolutionAuto with which the site was activated.
Attribute | KTMDSR_ATTR_CAPTURESITE_EXECUTION_STATE | Returns the sequencer state.
Attribute | KTMDSR_ATTR_CAPTURESITE_REQUESTED_RESULT_COUNT | Number of Results per channel to be collected.
Attribute | KTMDSR_ATTR_CAPTURESITE_RESULT_COUNT | Gets the number of elements in the result in memory.
Attribute | KTMDSR_ATTR_CAPTURESITES_COUNT |
Attribute | KTMDSR_ATTR_CAPTURESITES_TRIGGER_MODE | Sets the Trigger Mode. The trigger mode determines if execution of the pattern begins immediately when initiated or if the execution waits for a trigger event before executing.
Attribute | KTMDSR_ATTR_CAPTURESITES_TRIGGER_SOURCE | Gets or sets the trigger source for this pattern. String format is: SoftwareTrigger<0-15>.
Attribute | KTMDSR_ATTR_DCLEVEL_SIGNALS | Gets a comma-separated list of Signals for which levels have been defined for this DCLevels block.
Attribute | KTMDSR_ATTR_DCLEVELS_COUNT |
Attribute | KTMDSR_ATTR_DRIVER_SETUP | Returns the driver setup string that the user specified in the IVI configuration store when the instrument driver session was initialized or passed in the OptionString parameter of the Initialize function.
Attribute | KTMDSR_ATTR_GROUP_CAPABILITIES | An IVI-specified attribute used to describe the class compliance. The IVI Foundation has not defined a class relevant to the DSR; therefore, this returns an empty string.
Attribute | KTMDSR_ATTR_INSTRUMENT_AUTOMATIC_CORRECTIONS_NEEDED | Returns True if the module requires that AutomaticCorrections be performed to guarantee specifications. This occurs if the current module temperature has deviated by more than 5 degrees C from the temperature at which the current corrections were made.
Attribute | KTMDSR_ATTR_INSTRUMENT_CACHE_SIZE | Gets the current pattern cache size that was set with ConfigureMemory.
Attribute | KTMDSR_ATTR_INSTRUMENT_FIRMWARE_REVISION | The firmware revision loaded onto the module. The string is of the form <Major>.<Minor>.<Build>.<Patch>.
Attribute | KTMDSR_ATTR_INSTRUMENT_IDENTIFY | If True, this attribute causes an indicator LED on the front panel to flash. This assists in identifying the module being programmed. The special indication persists as long as the Boolean is True.
Attribute | KTMDSR_ATTR_INSTRUMENT_LOST_LOCK | True indicates that the reference clock PLL has lost lock since it was last tested.
Attribute | KTMDSR_ATTR_INSTRUMENT_MANUFACTURER | Returns the instrument manufacturer, "Keysight Technologies".
Attribute | KTMDSR_ATTR_INSTRUMENT_MODEL | The model number of the instrument. Returns "M9195A".
Attribute | KTMDSR_ATTR_INSTRUMENT_REFERENCECLOCK_FREQUENCY | This attribute returns the frequency, in Hz, specified with Configure.
Attribute | KTMDSR_ATTR_INSTRUMENT_REFERENCECLOCK_SOURCE | This attribute returns the reference frequency source specified with Configure.
Attribute | KTMDSR_ATTR_INSTRUMENT_REMAINING_CACHE | Calculates and returns the amount of cache memory remaining and available for compiled patterns.
Attribute | KTMDSR_ATTR_INSTRUMENT_RESULT_SIZE | Result size as determined by ConfigureMemory.
Attribute | KTMDSR_ATTR_INSTRUMENT_SLOT | The chassis slot number that the module occupies.
Attribute | KTMDSR_ATTR_INSTRUMENT_TEMPERATURE | Return the module temperature in degrees Celsius.
Attribute | KTMDSR_ATTR_INTERCHANGE_CHECK | This is an optional IVI-standard attribute and is not implemented by the KtMDsr. It flags warnings when measurements are made when certain settings have not been altered from their default values.
Attribute | KTMDSR_ATTR_IO_RESOURCE_DESCRIPTOR | The resource descriptor specifies the connection to module. It may be specified in the Configuration Store or passed in the ResourceName parameter of the Initialize function. It is null if the driver is not initialized.
Attribute | KTMDSR_ATTR_LOGICAL_NAME | The Logical Name identifies a driver session in the Configuration Store. If Logical Name is not empty, the driver was initialized from information in the driver session. If empty, the driver was initialized without using the Configuration Store.
Attribute | KTMDSR_ATTR_MACRODEF_MACROS | Returns a comma-separated list of Macros defined in this MacroDef.
Attribute | KTMDSR_ATTR_MACRODEFS_COUNT |
Attribute | KTMDSR_ATTR_MODULE_CALIBRATION_ADJUSTMENT_INFORMATION | Read Only - A multi-line list of calibration adjustment information. Each system with this module that a system calibration has been performed with will generate a line that includes the calibration date and instrument identifier.
Attribute | KTMDSR_ATTR_MODULE_CALIBRATION_DUE_DATE | Read Only - The computed date of the next required module calibration date. If the module is not subject to periodic calibration, this returns "n/a". If the module has not been calibrated, this returns "unknown". If the module is calibrated, this returns a date formatted for the current locale.
Attribute | KTMDSR_ATTR_MODULE_CALIBRATION_STATUS | Read Only - This property indicates the calibration status of the module. The status is determined by comparing the (module calibration due date - cal due reminder value) to the current date.
Attribute | KTMDSR_ATTR_MODULE_CALIBRATION_VERIFICATION_INFORMATION | Read Only - A multi-line list of calibration verification information. Each system that the module calibration has been verified with will generate a line that includes the calibration date and instrument identifier.
Attribute | KTMDSR_ATTR_MODULE_IDENTIFY | Flashes the light on the front of the module.
Attribute | KTMDSR_ATTR_MODULE_NONVOLATILE_ASSET_NUMBER |
Attribute | KTMDSR_ATTR_MODULE_NONVOLATILE_CAL_DUE_REMINDER | The "reminder" period, in days, prior to any calibration due. Range 0..1000 days. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Attribute | KTMDSR_ATTR_MODULE_NONVOLATILE_ENABLE_INSTRUMENT_CAL_WARNINGS | Enable/disable of instrument cal checks/warnings. If this value is true and module calibration date + ModuleCalInterval is close or past, then a warning will be generated. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Attribute | KTMDSR_ATTR_MODULE_NONVOLATILE_ENABLE_MODULE_CAL_WARNINGS | Enable/disable of module cal checks/warnings. If this value is true and module calibration date + ModuleCalInterval is close or past, then a warning will be generated. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Attribute | KTMDSR_ATTR_MODULE_NONVOLATILE_ENABLE_PERIODIC_CAL | Enable/disable of "subject to periodic cal". If this value is false, no checks of cal dates/intervals should be done and the SFP should display "Not subject to periodic cal". Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Attribute | KTMDSR_ATTR_MODULE_NONVOLATILE_INSTRUMENT_CAL_INTERVAL | The instrument (multi-module) calibration interval in days. Range 1..10000 days. Checks for "cal due" are based on the instrument's calibration date (set by Keysight manufacturing/service) + InstrumentCalInterval. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Attribute | KTMDSR_ATTR_MODULE_NONVOLATILE_MODULE_CAL_INTERVAL | The module calibration interval in days. Range 1..10000 days. Checks for "cal due" are based on the module's calibration date (set by Keysight manufacturing/service) + ModuleCalInterval. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Attribute | KTMDSR_ATTR_MODULE_NONVOLATILE_PASSPHRASE | A passphrase used to protect various values in Nonvolatile (see below). Passphrase must be provided to Write if any of these values have changed. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Attribute | KTMDSR_ATTR_MODULE_NONVOLATILE_SYSTEM_IDENTIFICATION | A persistent arbitrary string with a maximum length of 32 characters nominally intended to provide a user customizable method to distinguish modules. Setting this property caches the value in memory. To persist it use System Nonvolatile Write.
Attribute | KTMDSR_ATTR_MODULE_OPTIONS | Read Only - A comma separated list of the options installed in the module.
Attribute | KTMDSR_ATTR_MODULE_SERIAL_NUMBER | Read Only - Serial number of the module.
Attribute | KTMDSR_ATTR_MODULE_SLOT | Read Only - The chassis slot the module occupies.
Attribute | KTMDSR_ATTR_MODULE_TEMPERATURE | Read Only - Returns the module temperature in degrees Celsius.
Attribute | KTMDSR_ATTR_MODULES_COUNT | Returns the number of modules.
Attribute | KTMDSR_ATTR_PATTERN_HIGHEST_PATTERN_INDEX | The highest pattern index currently defined. For best efficiency, the next pattern element should be defined at this index+1.
Attribute | KTMDSR_ATTR_PATTERN_PATTERN_LENGTH | The current length of the pattern. First index is 1. Note that when loading a file, this is the highest element position in the pattern.
Attribute | KTMDSR_ATTR_PATTERN_SIGNALS | Returns a comma-separated list of all signals in this pattern.
Attribute | KTMDSR_ATTR_PATTERNBURST_MACRO_DEFS | Name of the MacroDefs block to use when compiling the macro definitions in this PatternBurst.
Attribute | KTMDSR_ATTR_PATTERNBURST_PATTERNS | Comma-separated list of Pattern blocks or other PatternBursts to execute when this Pattern Burst is executed. The patterns are executed in the order specified and any macros are compiled using the MacroDefs block in this PatternBurst.
Attribute | KTMDSR_ATTR_PATTERNBURSTS_COUNT |
Attribute | KTMDSR_ATTR_PATTERNEXEC_DC_LEVELS | DcLevels block to be used by the PatternExec.
Attribute | KTMDSR_ATTR_PATTERNEXEC_PATTERN_BURST | PatternBurst block to be used by the PatternExec.
Attribute | KTMDSR_ATTR_PATTERNEXECS_COUNT |
Attribute | KTMDSR_ATTR_PATTERNFILE_ERROR_COUNT | Returns the number of parsing errors from the last Load. The OpenXML and BulkData parsers may return multiple errros. The STIL parser terminates on the first error, so it always returns 0 or 1 for STIL. Use GetNextError to read the errors.
Attribute | KTMDSR_ATTR_PATTERNS_COUNT |
Attribute | KTMDSR_ATTR_PATTERNSITE_CONDITIONAL_LOOP_FAILURE_MODE | Match loops and watch loops include a loop counter which, if expired, indicates that the loop has failed. This attribute selects what will happen when the loop counter expires (either stop execution or exit the loop and continue).
Attribute | KTMDSR_ATTR_PATTERNSITE_CONDITIONAL_LOOP_SUCCESS_MODE | Configures if the DSR will execute a MatchLoop at least one extra time after a successful loop, or if the MatchLoop will require no compares in the final few cycles of the loop.
Attribute | KTMDSR_ATTR_PATTERNSITE_EDGE_PLACEMENT_RESOLUTION | Returns the edge placement resolution that was used when this pattern was activated. If EdgePlacementResolutionAuto was True at the time of activation, the return value is the value selected by the DSR.
Attribute | KTMDSR_ATTR_PATTERNSITE_EDGE_PLACEMENT_RESOLUTION_AUTO | Returns a Boolean that indicates whether this site was activated with EdgePlacementResolutionAuto.
Attribute | KTMDSR_ATTR_PATTERNSITE_EXECUTION_RESULT | Gets a Boolean that indicates whether there are any results logged from the previous pattern execution. True indicates there are results.
Attribute | KTMDSR_ATTR_PATTERNSITE_EXECUTION_STATE | Returns the state of the pattern execution hardware. Possible values are Stopped, Running, WaitingForTrigger, Complete, Aborted, and Error.
Attribute | KTMDSR_ATTR_PATTERNSITE_FORCE_VALIDATE_ENABLE | If true, any WaveformTables compiled will perform force validation by adding a compare operation to validate a successful force on the last cycle of operations that include force operations.
Attribute | KTMDSR_ATTR_PATTERNSITE_RESULT_COUNT | Gets the number of elements in the result from the last pattern execution.
Attribute | KTMDSR_ATTR_PATTERNSITE_RESULT_WIDTH | Gets the width of the result, that is, the number of bits in each element of the response. The result width is established by the highest ordinal assigned to a response signal in the site definition.
Attribute | KTMDSR_ATTR_PATTERNSITE_TERMINATION_REASON | Gets a comma-separated string containing errors that occurred during pattern execution. This should be consulted if the ExecutionResult returns an error.
Attribute | KTMDSR_ATTR_PATTERNSITES_COUNT |
Attribute | KTMDSR_ATTR_PATTERNSITES_END_BEHAVIOR | Sets the behavior of the signal lines upon completion of a pattern to either retain the last state of the signal lines from the last period or repeat the last waveform character of the last period.
Attribute | KTMDSR_ATTR_PATTERNSITES_RESULT_BUFFER_SIZE | Specifies the amount of memory, in bytes, to be reserved for results for this pattern. This memory is taken from the memory reserved for results using Instrument Configure Memory.
Attribute | KTMDSR_ATTR_PATTERNSITES_TRIGGER_MODE | The trigger mode determines whether the pattern begins executing immediately after it is initiated or whether it waits for a trigger event.
Attribute | KTMDSR_ATTR_PATTERNSITES_TRIGGER_SOURCE | Gets or sets the trigger source used to begin execution for this pattern after calling Initiate.
Attribute | KTMDSR_ATTR_PATTERNSITES_WHAT_TO_LOG | Sets the compares to log during pattern execution (all compares; first failed compare; all failed compares). If "first failed compare" is selected, the first failure terminates the pattern execution.
Attribute | KTMDSR_ATTR_PPMUSITE_AVERAGE_MODE | Controls the averaging performed for measurements. Configures whether the PPMU should perform simple averaging, perform averaging to noise reduction (reject power-line frequency noise), or omit averaging to return the highest speed measurements.
Attribute | KTMDSR_ATTR_PPMUSITE_CURRENT_LIMIT | Returns the maximum current the module can produce on this channel based on the current settings.
Attribute | KTMDSR_ATTR_PPMUSITE_FORCE_MODE | Allows querying of the Force Mode. To set the ForceMode attribute, use the Force function or one of the Force and Measure functions.
Attribute | KTMDSR_ATTR_PPMUSITE_LEVEL | Returns the force level currently in use. To set the Level attribute, use the Force function or one of the Force and Measure functions.
Attribute | KTMDSR_ATTR_PPMUSITE_SETTLING_DELAY | Specifies the delay, in seconds, between applying the Force and performing the measurement.
Attribute | KTMDSR_ATTR_PPMUSITES_COUNT |
Attribute | KTMDSR_ATTR_QUERY_INSTRUMENT_STATUS | This is an IVI-standard method used to query a remote instrument at the end of each method or property that performs I/O to the instrument. This is not implemented in the KtMDsr.
Attribute | KTMDSR_ATTR_RANGE_CHECK | Drivers may choose to always validate some property/parameter values, never validate others, and optionally validate others, to avoid sending invalid commands to the instrument. If True, the driver performs optional validations.
Attribute | KTMDSR_ATTR_RECORD_COERCIONS | This is an optional IVI-standard method. This is not implemented by the KtMDsr. It controls the logging of settings that have been rounded or coerced before applying them to the hardware.
Attribute | KTMDSR_ATTR_SIGNAL_DIRECTION | Gets or sets the direction of this signal. The direction is relative to the DUT.
Attribute | KTMDSR_ATTR_SIGNALGROUP_SIGNALS | Sets the list of Signals to use for this SignalGroup. To add multiple signals at the same time, they should be defined using conventional STIL signal-reference-expression syntax. For instance "Sig1+Sig2+Bus[0..7]".
Attribute | KTMDSR_ATTR_SIGNALGROUPS_COUNT |
Attribute | KTMDSR_ATTR_SIGNALS_COUNT |
Attribute | KTMDSR_ATTR_SIMULATE | If True, the driver does not perform I/O to the instrument, but returns simulated values for output parameters and results.
Attribute | KTMDSR_ATTR_SITE_MARKER0_DESTINATION | Sets the destination of all Marker0 references for patterns run on this site. The destination specifies on what signal the marker is generated.
Attribute | KTMDSR_ATTR_SITE_MARKER1_DESTINATION | Sets the destination of all Marker1 references for patterns run on this site. The destination specifies on what signal the marker is generated.
Attribute | KTMDSR_ATTR_SITE_MARKER2_DESTINATION | Sets the destination of all Marker2 references for patterns run on this site. The destination specifies on what signal the marker is generated.
Attribute | KTMDSR_ATTR_SITE_TRIGGER0_SOURCE | Configures the trigger event that maps to Trigger0 in the WatchLoop.
Attribute | KTMDSR_ATTR_SITE_TRIGGER1_SOURCE | Configures the trigger event that maps to Trigger1 in the WatchLoop.
Attribute | KTMDSR_ATTR_SITE_TRIGGER2_SOURCE | Configures the trigger event that maps to Trigger2 in the WatchLoop.
Attribute | KTMDSR_ATTR_SITE_TRIGGER3_SOURCE | Configures the trigger event that maps to Trigger3 in the WatchLoop.
Attribute | KTMDSR_ATTR_SITE_TRIGGER4_SOURCE | Configures the trigger event that maps to Trigger4 in the WatchLoop.
Attribute | KTMDSR_ATTR_SITE_TRIGGER5_SOURCE | Configures the trigger event that maps to Trigger5 in the WatchLoop.
Attribute | KTMDSR_ATTR_SITES_COUNT |
Attribute | KTMDSR_ATTR_SPECIFIC_DRIVER_CLASS_SPEC_MAJOR_VERSION | Returns the major version number of the class specification in accordance with which the IVI specific driver was developed. Zero is returned if the driver is not compliant with a class specification.
Attribute | KTMDSR_ATTR_SPECIFIC_DRIVER_CLASS_SPEC_MINOR_VERSION | Returns the minor version number of the class specification in accordance with which the IVI specific driver was developed. Zero is returned if the driver is not compliant with a class specification.
Attribute | KTMDSR_ATTR_SPECIFIC_DRIVER_DESCRIPTION | Returns a brief description of the IVI specific driver. The string that this attribute returns contains a maximum of 256 bytes including the NUL byte.
Attribute | KTMDSR_ATTR_SPECIFIC_DRIVER_PREFIX | Returns the case-sensitive prefix of the user-callable functions that the IVI-C specific driver exports. The string that this attribute returns contains a maximum of 32 bytes including the NUL byte.
Attribute | KTMDSR_ATTR_SPECIFIC_DRIVER_REVISION | Returns version information about the IVI specific driver. The string that this attribute returns contains a maximum of 256 bytes including the NUL byte.
Attribute | KTMDSR_ATTR_SPECIFIC_DRIVER_VENDOR | Returns the name of the vendor that supplies the IVI specific driver. The string that this attribute returns contains a maximum of 256 bytes including the NUL byte.
Attribute | KTMDSR_ATTR_STATICSITES_COUNT |
Attribute | KTMDSR_ATTR_SUPPORTED_INSTRUMENT_MODELS | A comma-separated list of instrument models that the IVI specific driver can control. Returns "M9195A".
Attribute | KTMDSR_ATTR_SYSTEM_ABOUT | Read Only - Returns addition information about the system beyond the firmware and hardware versions. This is typically included in an SFP (Soft Front Panel) About Box dialog.
Attribute | KTMDSR_ATTR_SYSTEM_LICENSING_HOST_IDENTIFIER | The unique key identifying the system controller for licensing purposes. Also called HostID.
Attribute | KTMDSR_ATTR_SYSTEM_LICENSING_INSTALLED_LICENSES | A semicolon-separated list of the software licenses installed on the system controller. Each software license consists of a comma-separated Feature Name and Description.
Attribute | KTMDSR_ATTR_SYSTEM_OPTIONS | Read Only - A comma separated list of the effective options of the system. See Remarks.
Attribute | KTMDSR_ATTR_SYSTEM_SERIAL_NUMBER | The module serial number.
Attribute | KTMDSR_ATTR_SYSTEM_TIMEOUT_MILLISECONDS | Queries the timeout used for IO to the module.
Attribute | KTMDSR_ATTR_SYSTEM_TRACE_ENABLED | If True, output trace log of all driver calls to an XML file, using a unique file name based on date and time in the same directory as the application executable accessing the driver OR as specified using tracing options when initializing the driver.
Attribute | KTMDSR_ATTR_TRIGGER_COUNT | Returns the number of trigger and marker signals supported by the DSR module.
Attribute | KTMDSR_ATTR_TRIGGER_DIRECTION | This property sets the direction of those DSR signals that are bi-directional and can be either a trigger input or a marker output. This property applies to GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], and PXI_STAR.
Attribute | KTMDSR_ATTR_TRIGGER_EXTERNAL_TRIGGER_TERMINATION | This property configures the input termination impedance of the two front panel trigger inputs, GPIO1 (External1) and GPIO2 (External2). Two values are programmable, 50 ohms and high impedance (the default, which is nominally 10K ohm).
Attribute | KTMDSR_ATTR_TRIGGER_EXTERNAL_TRIGGER_THRESHOLD_LEVEL | Sets the threshold voltage levels for the front panel signals, GPIO1 (External1) and GPIO2 (External2), when they are programmed as trigger inputs. The threshold voltages can be set independently for each trigger input over the range -2VDC to 4VDC.
Attribute | KTMDSR_ATTR_TRIGGER_MARKER_PULSE_WIDTH | This property sets the pulse width of marker outputs. The pulse width can be programmed independently for the 12 DSR signals that can be used as markers: GPIO1 (External1), GPIO2 (External2), PXI_TRIG[0:7], PXI_STAR, and PXIe_DSTARC.
Attribute | KTMDSR_ATTR_TRIGGER_POLARITY | For a marker output, Polarity controls whether the marker will go high (positive) or low (negative). For a trigger input, Polarity controls whether a trigger will be detected on the rising (positive) edge or on the falling (negative) edge of the input.
Attribute | KTMDSR_ATTR_WAVEFORMTABLE_PERIOD | The period of the waveforms in this WaveformTable. That is, the total time of each waveform.
Attribute | KTMDSR_ATTR_WAVEFORMTABLE_SIGNALS | Comma-separated list of Signals defined for this Waveform Table.
Attribute | KTMDSR_ATTR_WAVEFORMTABLES_COUNT |
Top


Errors and Warnings

Errors and Warnings

Errors

Name | Value (Hex) | Value (Decimal) | Description
KTMDSR_ERROR_CANNOT_RECOVER | 0xBFFA0000 | -1074135040 |
KTMDSR_ERROR_INSTRUMENT_STATUS | 0xBFFA0001 | -1074135039 |
KTMDSR_ERROR_CANNOT_OPEN_FILE | 0xBFFA0002 | -1074135038 |
KTMDSR_ERROR_READING_FILE | 0xBFFA0003 | -1074135037 |
KTMDSR_ERROR_WRITING_FILE | 0xBFFA0004 | -1074135036 |
KTMDSR_ERROR_INVALID_PATHNAME | 0xBFFA000B | -1074135029 |
KTMDSR_ERROR_INVALID_ATTRIBUTE | 0xBFFA000C | -1074135028 |
KTMDSR_ERROR_IVI_ATTR_NOT_WRITABLE | 0xBFFA000D | -1074135027 |
KTMDSR_ERROR_IVI_ATTR_NOT_READABLE | 0xBFFA000E | -1074135026 |
KTMDSR_ERROR_INVALID_VALUE | 0xBFFA0010 | -1074135024 |
KTMDSR_ERROR_FUNCTION_NOT_SUPPORTED | 0xBFFA0011 | -1074135023 |
KTMDSR_ERROR_ATTRIBUTE_NOT_SUPPORTED | 0xBFFA0012 | -1074135022 |
KTMDSR_ERROR_VALUE_NOT_SUPPORTED | 0xBFFA0013 | -1074135021 |
KTMDSR_ERROR_TYPES_DO_NOT_MATCH | 0xBFFA0015 | -1074135019 |
KTMDSR_ERROR_NOT_INITIALIZED | 0xBFFA001D | -1074135011 |
KTMDSR_ERROR_UNKNOWN_CHANNEL_NAME | 0xBFFA0020 | -1074135008 |
KTMDSR_ERROR_TOO_MANY_OPEN_FILES | 0xBFFA0023 | -1074135005 |
KTMDSR_ERROR_CHANNEL_NAME_REQUIRED | 0xBFFA0044 | -1074134972 |
KTMDSR_ERROR_MISSING_OPTION_NAME | 0xBFFA0049 | -1074134967 |
KTMDSR_ERROR_MISSING_OPTION_VALUE | 0xBFFA004A | -1074134966 |
KTMDSR_ERROR_BAD_OPTION_NAME | 0xBFFA004B | -1074134965 |
KTMDSR_ERROR_BAD_OPTION_VALUE | 0xBFFA004C | -1074134964 |
KTMDSR_ERROR_OUT_OF_MEMORY | 0xBFFA0056 | -1074134954 |
KTMDSR_ERROR_OPERATION_PENDING | 0xBFFA0057 | -1074134953 |
KTMDSR_ERROR_NULL_POINTER | 0xBFFA0058 | -1074134952 |
KTMDSR_ERROR_UNEXPECTED_RESPONSE | 0xBFFA0059 | -1074134951 |
KTMDSR_ERROR_FILE_NOT_FOUND | 0xBFFA005B | -1074134949 |
KTMDSR_ERROR_INVALID_FILE_FORMAT | 0xBFFA005C | -1074134948 |
KTMDSR_ERROR_STATUS_NOT_AVAILABLE | 0xBFFA005D | -1074134947 |
KTMDSR_ERROR_ID_QUERY_FAILED | 0xBFFA005E | -1074134946 |
KTMDSR_ERROR_RESET_FAILED | 0xBFFA005F | -1074134945 |
KTMDSR_ERROR_RESOURCE_UNKNOWN | 0xBFFA0060 | -1074134944 |
KTMDSR_ERROR_ALREADY_INITIALIZED | 0xBFFA0061 | -1074134943 |
KTMDSR_ERROR_CANNOT_CHANGE_SIMULATION_STATE | 0xBFFA0062 | -1074134942 |
KTMDSR_ERROR_INVALID_NUMBER_OF_LEVELS_IN_SELECTOR | 0xBFFA0063 | -1074134941 |
KTMDSR_ERROR_INVALID_RANGE_IN_SELECTOR | 0xBFFA0064 | -1074134940 |
KTMDSR_ERROR_UNKOWN_NAME_IN_SELECTOR | 0xBFFA0065 | -1074134939 |
KTMDSR_ERROR_BADLY_FORMED_SELECTOR | 0xBFFA0066 | -1074134938 |
KTMDSR_ERROR_UNKNOWN_PHYSICAL_IDENTIFIER | 0xBFFA0067 | -1074134937 |
KTMDSR_ERROR_INVALID_SESSION_HANDLE | 0xBFFA1190 | -1074130544 |
KTMDSR_ERROR_HARDWARE_TIMEOUT | 0xBFFA4026 | -1074118618 | Hardware Timeout
KTMDSR_ERROR_SOFTWARE_TIMEOUT | 0xBFFA4027 | -1074118617 | Software Timeout
KTMDSR_ERROR_OUT_OF_MEMORY_ERROR | 0xBFFA4028 | -1074118616 | Memory allocation failure
KTMDSR_ERROR_OPERATION_ERROR | 0xBFFA4029 | -1074118615 | Operation error
KTMDSR_ERROR_HARDWARE_RESOURCE_NOT_AVAILABLE | 0xBFFA402A | -1074118614 | Hardware resource allocation failure
KTMDSR_ERROR_FPGA_PROGRAMMING_ERROR | 0xBFFA402B | -1074118613 | FPGA programming error
KTMDSR_ERROR_PROPERTY_NOT_SUPPORTED | 0xBFFA402C | -1074118612 | Property not supported
KTMDSR_ERROR_TEST_FAILED_INCORRECT_VERSION | 0xBFFA402D | -1074118611 | Test failed due to incorrect version
KTMDSR_ERROR_NONVOLATILE_READ_ERROR | 0xBFFA402D | -1074118611 | Nonvolatile read failed
KTMDSR_ERROR_NONVOLATILE_WRITE_ERROR | 0xBFFA402E | -1074118610 | Nonvolatile write failed
KTMDSR_ERROR_THERMAL_SHUTDOWN_ERROR | 0xBFFA402F | -1074118609 |
KTMDSR_ERROR_ACQUISITION_TIMEOUT | 0xBFFA40C8 | -1074118456 | Acquisition has timed out
KTMDSR_ERROR_IO_GENERAL | 0xBFFA4214 | -1074118124 | I/O error: %1.
KTMDSR_ERROR_IO_TIMEOUT | 0xBFFA4215 | -1074118123 | I/O timeout error: %1.
KTMDSR_ERROR_MODEL_NOT_SUPPORTED | 0xBFFA4216 | -1074118122 | Instrument model does not support this feature: %1.
KTMDSR_ERROR_CHECK_ERROR_QUEUE | 0xBFFA4228 | -1074118104 | An error occurred. Use the Utility.ErrorQuery call to check the error queue for more error details.
KTMDSR_ERROR_FILE_TYPE_NOT_RECOGNIZED | 0xBFFA4229 | -1074118103 | File type not recognized.
KTMDSR_ERROR_FIRMWARE_UPDATE_ERROR | 0xBFFA422A | -1074118102 | Firmware update error.
KTMDSR_ERROR_FIRMWARE_UPDATE_REQUIRED | 0xBFFA422B | -1074118101 | Firmware update required
KTMDSR_ERROR_INCOMPATIBLE_SOFTWARE_VERSION_ERROR | 0xBFFA422C | -1074118100 | The software is incompatible with either the hardware version or the current firmware version.
KTMDSR_ERROR_INSTRUMENT_CALIBRATION_DUE | 0xBFFA422D | -1074118099 | Instrument calibration will be due soon.
KTMDSR_ERROR_INSTRUMENT_CALIBRATION_EXPIRED | 0xBFFA422E | -1074118098 | Instrument calibration has expired.
KTMDSR_ERROR_INSTRUMENT_NOT_CALIBRATED | 0xBFFA422F | -1074118097 | Instrument not calibrated.
KTMDSR_ERROR_INTERNAL_APPLICATION_ERROR | 0xBFFA4230 | -1074118096 | An internal application error has occurred.
KTMDSR_ERROR_LICENSE_SYSTEM_ERROR | 0xBFFA4231 | -1074118095 | An error occurred in the licensing system.
KTMDSR_ERROR_LICENSE_VALIDATION_ERROR | 0xBFFA4232 | -1074118094 | License requirements not supported.
KTMDSR_ERROR_MISSING_CLOCK_ERROR | 0xBFFA4233 | -1074118093 | Missing clock. Check cables.
KTMDSR_ERROR_MODULE_CALIBRATION_DUE | 0xBFFA4234 | -1074118092 | Module calibration will be due soon.
KTMDSR_ERROR_MODULE_CALIBRATION_EXPIRED | 0xBFFA4235 | -1074118091 | Module calibration has expired.
KTMDSR_ERROR_MODULE_NOT_CALIBRATED | 0xBFFA4236 | -1074118090 | Module not calibrated.
KTMDSR_ERROR_MODULE_VALIDATE_FAILED | 0xBFFA4237 | -1074118089 | Module validate failed. Normally the result of incorrect firmware loaded or hardware failure.
KTMDSR_ERROR_OPERATION_ABORTED | 0xBFFA4238 | -1074118088 | Operation aborted.
KTMDSR_ERROR_PARAMETER_VALIDATION_ERROR | 0xBFFA4239 | -1074118087 | Validation error.
KTMDSR_ERROR_SELFTEST_FAILED | 0xBFFA423A | -1074118086 | Self test failed.
KTMDSR_ERROR_UNABLE_TO_INITIALIZE_HARDWARE | 0xBFFA423B | -1074118085 | Unable to initialize hardware.
KTMDSR_ERROR_UNRECOGNIZED_ERROR | 0xBFFA423C | -1074118084 | Unrecognized error during %1. Fundamental status result %2
KTMDSR_ERROR_UNSUPPORTED_FEATURE | 0xBFFA423D | -1074118083 | This feature is not supported by the software driver.
KTMDSR_ERROR_VALIDATION_ERROR | 0xBFFA423E | -1074118082 | Validation error. This is normally the result of an incorrect combination of settings even though each setting is within the valid limits.
KTMDSR_ERROR_VERIFY_OPERATION_ERROR | 0xBFFA423F | -1074118081 | Verify operation failed. Check cables.
KTMDSR_ERROR_WAIT_ABORTED | 0xBFFA4240 | -1074118080 | A wait operation was aborted.
KTMDSR_ERROR_ACTIVATING_SITE | 0xBFFA4FA0 | -1074114656 | Unable to activate requested Site
KTMDSR_ERROR_PARSING_INPUT_FILE | 0xBFFA4FA1 | -1074114655 | Error(s) when parsing input file
KTMDSR_ERROR_FILE_NOT_FOUND2 | 0xBFFA4FA2 | -1074114654 | File not found
KTMDSR_ERROR_INVALID_FILE_CONTENT | 0xBFFA4FA3 | -1074114653 | Invalid File content
KTMDSR_ERROR_FIRMWARE_UPDATE_SUCCESS | 0xBFFA4FA4 | -1074114652 | Firmware update successful
KTMDSR_ERROR_CARRIER_FIRMWARE_UPDATE_REQUIRED | 0xBFFA4FA5 | -1074114651 | Carrier firmware update required
KTMDSR_ERROR_FIRMWARE_UPDATE_IN_PROCESS | 0xBFFA4FA6 | -1074114650 | Firmware update in process
KTMDSR_ERROR_MEZZANINE_FIRMWARE_UPDATE_SUCCESS | 0xBFFA4FA7 | -1074114649 | Mezzanine firmware update successful
KTMDSR_ERROR_COMPILE_PATTERN_ERROR | 0xBFFA4FA8 | -1074114648 | Unable to compile pattern
Top

Warnings

Name | Value (Hex) | Value (Decimal) | Description
KTMDSR_SUCCESS | 0x0 | 0 |
KTMDSR_WARN_NSUP_ID_QUERY | 0x3FFA0065 | 1073348709 |
KTMDSR_WARN_NSUP_RESET | 0x3FFA0066 | 1073348710 |
KTMDSR_WARN_NSUP_SELF_TEST | 0x3FFA0067 | 1073348711 |
KTMDSR_WARN_NSUP_ERROR_QUERY | 0x3FFA0068 | 1073348712 |
KTMDSR_WARN_NSUP_REV_QUERY | 0x3FFA0069 | 1073348713 |
Top


IVI Backgrounder

IVI Backgrounder

The IVI Foundation is an open consortium founded in 1998 to promote standards for programming test instruments. Composed primarily of instrument manufacturers, end-users, software vendors, and system integrators, the Foundation strives to create specifications that govern the development of instrument drivers.

IVI-compliant drivers offer a number of benefits, such as a consistent programming interface, better performance, seamless integration into a wide variety of development environments, and interchangeability. Interchangeability refers to the ability of an end user to replace one IVI driver in an application program with another IVI driver from a different vendor, without modifying or even recompiling the application program. To achieve interchangeability, IVI driver developers must carefully follow all of the requirements laid out in the IVI Foundation specifications.

The following sections present an overview of some of the most important IVI topics for driver developers. This document does not attempt to reproduce all of the details contained in the IVI specifications. For complete information on IVI and for the most up-to-date versions of all IVI specifications and components, visit the IVI Foundation web site.

In This Section

What All IVI Drivers Do - Inherent Capabilities

Explains how to basic functionality that all IVI drivers support.

Two IVI Drivers - IVI-COM and IVI-C

Compares IVI-COM and IVI-C drivers.

How IVI Drivers Provide Interchangeability

Explains the basics of how interchangeability works with IVI-COM and IVI-C.

Instrument-Specific Capabilities

Provides a brief explanation of non-interchangeable device-specific functionality in IVI drivers.

IVI Shared Components

Provides an introduction to the shared software components required for an IVI-based system.

IVI Configuration Store

Information on using the IVI Configuration Store with the driver.

Repeated Capabilities

Explains IVI repeated capabilities along with the notions of physical and virtual names.

LXI Fundamentals

Presents an introduction to the LXI standards and how they relate to IVI drivers.

Installation

Where IVI drivers are installed and what components are required.


What All IVI Drivers Do - Inherent Capabilities

What All IVI Drivers Do - Inherent Capabilities

The IVI Foundation has established a set of functions and attributes that all IVI drivers must support - irrespective of which IVI instrument class the driver supports. These common functions and attributes are called IVI inherent capabilities and they are documented in IVI-3.2 - Inherent Capabilities Specification. Importantly, drivers that do not support any IVI instrument class must still support the IVI inherent capabilities.

Having a common set of basic functionality that all IVI drivers must support ensures that end users have a standard, recognizable way to perform basic operations with the IVI driver. If an end user has programmed with an IVI driver of any type before, they will immediately know how to perform at least basic tasks with any new IVI driver they encounter. Some of the tasks that fall under the inherent capabilities specification are:

  • Initializing the driver.
  • Querying errors from the driver.
  • Enabling standard driver features, such as simulation, state caching, and range checking.
  • Identifying the capabilities of the driver, such as the supported instrument classes, capability groups.
  • Reading driver and instrument identification information.
  • Performing instrument self-test and reset operations.

A detailed description of the IVI inherent capabilities can be found in the Reference section under the topic IviDriver.

Standard Driver Features

IVI drivers may offer several different features whose behavior has been standardized by the IVI Foundation. Although these are referred to as standard driver features, they are not all required to be supported by an IVI driver, as shown in the table below:

Feature | Required
State caching | No
Range checking | No
Coercion and coercion recording | No
Interchangeability checking | No
Simulation | Yes

The remainder of this topic discusses each driver feature in detail.

State Caching - Optional

As a means to offer better performance in customer test applications, IVI drivers often support a feature known as state caching. The principle of state caching is quite simple, although in practice it can be extraordinarily difficult to implement properly.

When an end user enables state caching for an IVI driver, the driver attempts to determine if new settings passed into the driver are different from the actual instrument state. In this way, I/O traffic between the driver and the instrument is reduced, as fewer I/O calls are performed.

In the simplest example of when state caching improves performance, consider what happens when a user passes identical values several times in a row for the frequency property on a function generator driver. Without state caching, each call into the driver would result in an I/O function call to the instrument, whereas a driver performing state caching would detect that subsequent calls to the frequency property were redundant and should not result in any communication with the instrument. Correspondingly, the driver can "remember" the last known value for instrument properties so that queries can be performed by retrieving data from computer memory, rather than by performing instrument I/O.

As with caching schemes in other types of software systems, IVI driver state caching is fraught with potential pitfalls. The chief challenge in properly implementing state caching is maintaining cache coherency. Complex instruments often have complex couplings between instrument settings, making it difficult for the driver to track whether or not settings stored in the driver cache are valid. Consequently, many instrument vendors choose not to implement state caching in the driver.

For more information on state caching, see IVI-3.1: Driver Architecture Specification.

Range Checking - Optional

Range checking in IVI drivers simply refers to the ability for the driver to test whether or not input values passed to the driver are within an acceptable range. End users typically use range checking during debugging and, after validation is complete, disable it to maximize performance.

For more information on range checking, see IVI-3.1: Driver Architecture Specification.

Coercion and Coercion Recording - Optional

Instruments often accept only a discrete set of values for certain properties. For example, a DMM might only accept values such as 10 V, 100 V, and 300 V for the voltage range setting. These discrete value sets will necessarily be different for different vendor's instruments. A Keysight® DMM may accept 10 V, 100 V, and 300 V while a Fluke DMM accepts 20 V, 200 V, and 400 V. As a result, IVI class specifications are forced to define such real-valued properties as accepting a continuous range of values, even though the underlying instrument only accepts a discrete set of values.

Following along with the DMM voltage range example, if a user sends a value of 150 V for the voltage range, the instrument will internally coerce the value to one of the accepted values, such as 300 V. To maximize interchangeability, the IVI class specifications provide guidance on how IVI drivers should coerce user requested values for specific properties.

To aid end users in building interchangeable applications, IVI drivers may implement a feature called coercion recording. If a user enables coercion recording, the IVI driver retains a log of each user value that it coerces. Standard functions in the IVI inherent capabilities provide the user with access to the driver's coercion log.

For more information on coercion, see IVI-3.1: Driver Architecture Specification.

Interchangeability checking - Optional

A program written using an IVI driver will not be interchangeable if the program relies upon default settings within the instrument. This is because different instruments will have different default values for many important settings. Repeatable results can be obtained only when all of the instrument settings on which an operation depends are in a user-specified state.

IVI drivers may implement a feature called interchangeability checking to ensure that driver attributes relevant to a particular operation are in a user-specified state whenever that operation is performed. The IVI instrument class specifications all include class-specific sections detailing which driver attributes need to be in a known state for particular operations. The driver can then track these attributes and report a warning if one or more are not set explicitly by the client program before an important operation is performed.

Standard functions in the IVI inherent capabilities provide the user with the ability to enable interchangeability checking in the driver and to retrieve any warnings that occur. Typically, this feature is only used during development and debug of an application and disabled during normal operation, so as not to adversely impact performance.

For more information on interchangeability checking, see IVI-3.1: Driver Architecture Specification.

Simulation - Required

IVI drivers are often constructed for complex instruments that are difficult to procure or that are in high demand at the end user facility. Consequently, it may be the case that end users need to be able to test their application programs without being physically connected to an instrument. IVI driver simulation is a feature that allows end users to use IVI drivers without a physical connection to the instrument.

When an end user enables simulation in an IVI driver, the driver performs no I/O communication whatsoever. IVI drivers are free in their choice of mechanisms for returning meaningful output values to the end user, but the intent is that the user program should be able to proceed normally when calling functions on the driver. This allows the end user to exercise their test application before the actual hardware is available.

For more information on simulation, see IVI-3.1: Driver Architecture Specification.


Two IVI Drivers - IVI-COM and IVI-C

Two IVI Drivers - IVI-COM and IVI-C

This driver supports two IVI APIs - IVI-COM and IVI-C. Although the functionality offered by both types of driver is often very similar, the fundamental differences in application programming interface technology results in a very different end-user experience. This topic discusses some of the important differences between IVI-COM and IVI-C drivers.

IVI-COM and IVI-C at a Glance

The table below presents a summary of some of the important differences between IVI-COM and IVI-C drivers. A brief explanation of each point is given later in this topic.

IVI-COM IVI-C
Files Supplied
  • COM DLL (<Driver>.dll).
  • .NET DLL (<Company>.<Driver>.Interop.dll).
  • Windows DLL (<prefix>.dll).
  • Header file (<prefix>.h).
  • Import library (<prefix>.lib).
  • Function panel file (<prefix>.fp).
  • Attribute information file (<prefix>.sub).
ADEs of Choice
  • Visual C#.
  • Visual C++.
  • Visual Basic.NET.
  • LabWindows™/CVI.
.NET Support
  • Use interop assembly as per IVI specs.
  • No manual coding in client program.
  • Interchangeability supported.
  • No standard mechanism.
  • Manual coding in client program.
  • Interchangeability not possible.
Interchangeability
  • Use COM session factory.
  • No 3rd party components.
  • Multiple instrument classes per driver possible.
  • Requires 3rd-party class drivers.
  • Only one instrument class per driver.
Data Types
  • COM data types.
  • Strings and arrays are self-describing.
  • Memory can be allocated by the driver or by the client.
  • VISA data types.
  • Strings and arrays require extra parameters to indicate size.
  • Memory must be allocated by the client program.
Attribute Programming
  • Same as methods (built-in).
  • Attributes can have parameters.
  • Use attribute accessors and C macros.
  • GetAttributeViReal64, etc..
  • Attributes cannot have parameters.

IVI-COM Basics

IVI-COM drivers use Microsoft's standard COM technology to expose the driver's methods and properties. COM is a proven standard for building reusable, cross-language components on Windows. IVI-COM methods and properties are organized into interfaces that together form a hierarchy of driver functionality. IVI-COM drivers use standardized COM data types that can be understood in a wide variety of ADEs (application development environments).

IVI-COM Type Libraries

IVI-COM drivers are packaged as DLLs, like conventional Windows components. However, unlike conventional Windows components, IVI-COM DLLs contain description information about the functionality of the driver. This information is called the type library and offers such details as the name and signature of all driver functions, version information, parameter input/output direction, and even help information. Since the type library information is baked into the DLL, IVI-COM drivers are fully self-describing. This makes them easier to use in building programs because the developer only has to reference a single DLL to import the driver into their development environment. This also allows IVI-COM drivers to be used seamlessly in .NET programming languages, as is discussed later in this topic.

IVI-C Basics

IVI-C drivers are provided as conventional Windows DLLs with entry points exposed for each function supported by the driver. In addition to the DLL, IVI-C drivers include a header file (.h) and an import library (.lib). You use an IVI-C driver by including the header file in your program source code and then linking to the .lib file. IVI-C drivers use VISA data types, such as ViInt32, ViReal64, and ViChar.

IVI-C Function Panel and Attribute Files

Since IVI-C drivers rely upon basic Windows DLL technology, there is no way to represent a hierarchy of driver functionality in the DLL itself. Instead, IVI-C drivers use two additional files to present the logical organization of driver functions and attributes. The function panel file (.fp) is a variable-record binary file that presents the function hierarchy only. The attribute hierarchy is managed in a separate file called the attribute information file (.sub). The .sub file is a text file. The function and attribute hierarchies are managed separately because IVI-C development was heavily influenced by VXI Plug-n-Play driver standards, which had already established this bifurcation.

ADE Support for IVI-COM and IVI-C Drivers

Arguably the most important consideration in comparing IVI-COM and IVI-C drivers is the end user experience in various ADEs. Since IVI-COM drivers are based on Microsoft COM technology, it's not surprising that IVI-COM drivers offer the richest user experience in Microsoft ADEs. Users working in Visual C++, Visual C#, and Visual Basic.NET will enjoy a host of features, such as object browsers, IntelliSense, and context-sensitive help.

IVI-COM drivers are also well-supported in environments targeting the test and measurement industry. Keysight® VEE® and MATLAB® provide built-in support for IVI-COM drivers, as does National Instruments® LabVIEW®. As of LabVIEW 8.0, a new feature called the Class Browser appeared, greatly simplifying the use of IVI-COM drivers in LabVIEW.

For more details on using an IVI-COM driver in various ADEs, see the topic Programming with the IVI-COM Driver in Various Development Environments.

The ADE story for IVI-C centers primarily around National Instruments LabWindows/CVI. IVI-C drivers work seamlessly in LabWindows/CVI, with built-in support for rendering the hierarchies and function panels stored in the .fp and .sub files. In all other environments, however, IVI-COM drivers provide a better user experience. LabWindows/CVI is a special case where IVI-COM drivers do not fare well. Users working in LabWindows/CVI will have a fundamental expectation that an IVI-C driver be provided for any instrument they need to use in that environment.

For more details on using an IVI-C driver in various ADEs, see the topic Programming with the IVI-C Driver in Various Development Environments.

.NET Support and Interop Assemblies

Microsoft provides excellent .NET support for all COM components through .NET wrappers called interop assemblies. These interop assemblies are generated automatically with standard Microsoft tools (such as Visual Studio) and present a familiar .NET interface to a COM component. Since IVI-COM drivers are standard COM components, these interop assemblies can be produced for IVI-COM drivers in precisely the same way as for any other COM component. Programmers working in any .NET environment (C#, VB.NET, C++) can work with the IVI-COM driver as if it were a native .NET component.

The IVI Foundation provides a specification prescribing how this should be done, so that end users have a consistent experience with IVI-COM drivers in .NET. Please see IVI-3.14: Primary Interop Assembly Specification for details on building IVI-COM interop assemblies. More importantly, the IVI Foundation provides the interop assemblies required for achieving .NET interchangeability with IVI-COM drivers. These are installed as part of the IVI Shared Components.

In the "\IVI\Bin\Primary Interop Assemblies" subfolder of your IVI installation directory, you will find the interop assemblies for the IVI instrument classes as well as those for specific instrument drivers. The interop assemblies shipped by the IVI Foundation have names such as Ivi.Dmm.Interop.dll and Ivi.SpecAn.Interop.dll. Correspondingly, all instrument-specific interop assemblies must follow an IVI-specified convention:
<Company>.<Driver>.Interop.dll

Since IVI-C drivers are conventional Windows DLLs, there is no standard mechanism for creating .NET wrappers for IVI-C drivers. Instead, client programmers must add special declarations to their program for any IVI-C driver function they wish to use in their application. These declarations must be adorned with special .NET attributes that instruct the .NET environment on what kind of function is inside the driver. (For details on what's required to call DLL functions in .NET, see the MSDN documentation regarding the "DllImport" attribute and a featured called "P/Invoke".) The critical thing to note is that because there is no standard mechanism for creating .NET wrappers on conventional Windows DLLs, the IVI Foundation cannot supply a standard mechanism for programming against IVI-C drivers in .NET. Thus, interchangeability with IVI-C drivers in .NET is not possible.

Interchangeability

IVI-COM drivers and IVI-C drivers differ fundamentally is how they allow you to write interchangeable programs. With IVI-COM drivers, the developer references a standard, IVI Foundation-supplied DLL that defines the functions and attributes for a particular instrument class. These Foundation-supplied DLLs are referred to as the IVI-COM type libraries, and they are automatically installed as part of the IVI Shared Components. Another shared component called the COM Session Factory is used to instantiate an IVI-COM driver without having a hard-coded reference to the specific driver in use.

One important distinction between IVI-COM and IVI-C drivers when considering interchangeability is the number of instrument classes a single driver can support. Some instruments actually have functionality that spans more than one instrument class. For instance, some popular switch measure units offer both IviDmm and IviSwtch functionality, so supporting both sets of IVI-defined interfaces is very useful. With IVI-COM, a single driver such an instrument can be accommodated, as IVI-COM drivers can support any number of instrument classes at once. IVI-C drivers, however, have a fundamental limitation imposed by the attribute model they use. Each attribute in IVI-C is assigned a numeric identifier, but these identifiers are only unique within an instrument class - not between instrument classes. Because of this, an IVI-C driver would not be able to support attributes from more than one instrument class, and so only a single class can be supported by any IVI-C driver.

Data Types

IVI-COM and IVI-C drivers use two different sets of data types. IVI-COM drivers use a special subset of the COM data type system, called automation data types. Simply put, this type system is designed to allow common access from a wide range of programming languages. IVI-C drivers, on the other hand, use the VISA data type system, which is based on classic C data types.

The primitive data types, such as integers, floating point numbers, and booleans are represented similarly in both IVI-COM and IVI-C drivers. The key differences are in how arrays and strings are handled. IVI-COM drivers use the SAFEARRAY data type to represent arrays and the BSTR data type to represent strings. These data types are self describing in that the SAFEARRAY contains the number of elements in the array and the BSTR contains the length of the string. This means that when passing array parameters into or out of an IVI-COM driver, no extra parameters are required to describe the array. IVI-C drivers, on the other hand, need to pass extra "size" parameters to any IVI-C function that uses an array or string. (It is also a useful note that BSTR strings are allowed to contain embedded NULL characters, whereas IVI-C ViString parameters must always be NULL-terminated.)

In the IVI-COM example below, a client program is calling an IVI-COM driver function to fetch an array of measurements from the instrument. Note how only the array parameter need be returned from the function, as the size of the array is embedded in the SAFEARRAY data type.

C++ Copy Code Copy Code
double[] data;
scope.Measurement.FetchWaveform(ref data);

In the IVI-C example below, a client program is calling an IVI-C driver function to read from the instrument. In constrast to the previous IVI-COM example, the IVI-C programmer must pass in two extra parameters to describe the array - one for the client to tell the driver the size of the input array, and one for the driver to tell the client how many array elements were returned.

C++ Copy Code Copy Code
ViSession vi;
/* session initialization omitted for clarity */
ViReal64 waveform[1000];
ViInt32 waveformSize = 1000;
ViInt32 actualSize;
ViStatus status = IviScope_FetchWaveform(vi, VI_NULL, waveformSize, waveform, &actualSize);

Memory Allocation

IVI-COM and IVI-C drivers use opposite rules for memory allocation. This is important when dealing with string and array parameters. In IVI-COM, the driver typically allocates the memory associated with an output parameter, such as an array of measurement data. This is convenient for the end user because they do not need to know how much memory to allocate ahead of time. The driver simply allocates the memory required to return the output data. In some situations, such as when dealing with very large data sets, it may be desirable for the client program to pre-allocate memory and pass it to the driver. This allows memory to be reused across multiple calls to the driver. To support this use case, IVI-COM drivers allow pre-allocated memory to be passed in as well.

When using IVI-C drivers, the calling program must always allocate the memory for an output parameter. This requires the caller to know how much memory to allocate ahead of time and to pass in an extra parameter to the driver indicating the amount of memory that was allocated. This prevents the driver from writing too much data into the output parameter. The driver must then return an additional output parameter that indicates how much data was actually copied into the output buffer. It's up to the client program to determine whether or not all of the data has been retrieved.

Programming with Attributes

In both IVI-COM and IVI-C, drivers use functions and attributes to control the instrument. In both models, functions typically represent operations, such as taking a measurement, while attributes typically represent instrument settings, such as range or resolution. However, IVI-COM and IVI-C drivers have a very different model for programming attributes.

The IVI-COM model for programming attributes is straightforward. The functions and attributes are part of the same hierarchy. The user accesses an attribute using a simple assignment statement, as in the following:

C++ Copy Code Copy Code
// Set the sample rate to 1000
scope.Acquisition.SampleRate = 1000;

Conventional Windows DLLs have no built-in notion of attributes, so IVI-C drivers rely upon a special idiom where dedicated "getter" and "setter" functions are used along with C macro identifiers. Every IVI-C driver supports the following standard set of attribute accessors, organized based on the data type of the attribute:

  • GetAttributeViInt32, SetAttributeViInt32
  • GetAttributeViInt64, SetAttributeViInt64
  • GetAttributeViReal64, SetAttributeViReal64
  • GetAttributeViString, SetAttributeViString
  • GetAttributeViBoolean, SetAttributeViBoolean
  • GetAttributeViSession, SetAttributeViSession

Each IVI-C attribute has an associated #define'd constant in the driver header file, and this constant is passed to the appropriate getter or setter function to read or write the attribute, as in the following example:

C++ Copy Code Copy Code
ViSession vi;
/* session initialization omitted for clarity */
/* Set the sample rate to 1000 */
ViStatus status = IviScope_SetAttributeViReal64(vi, VI_NULL, IVISCOPE_ATTR_HORZ_SAMPLE_RATE, 1000);

A couple of things are noteworthy about the IVI-C attribute model. First, the programmer must take care to use the correct type of attribute setter or getter for the attribute in question. In the above example, the IVISCOPE_ATTR_HORZ_SAMPLE_RATE attribute is a double-precision floating-point value, and the end user must know this when programming with the driver. There is no way for the compiler to catch any error, such as using SetAttributeViInt32 with a boolean type attribute.

The other thing to note about the IVI-C attribute model is that since the setter and getter function signatures are fixed for all attributes, there is no way to have parameterized attributes. In contrast, IVI-COM drivers support attributes with parameters.


How IVI Drivers Provide Interchangeability

How IVI Drivers Provide Interchangeability

What is an IVI Instrument Class?

The IVI Foundation uses the term instrument class to refer to a distinct set of functionality for a canonical instrument type. Although there are many different types of instruments used in test and measurement and their functionality varies considerably, many of these instruments naturally fall into distinct categories, or types. Often these instruments are categorized based upon the type of measurements they can perform or the type of output they can produce.

For each instrument class, the IVI Foundation publishes a specification, known as the class specification. Each class specification lays out the requirements for compliance with that class specification. An IVI driver that complies with a class specification is said to be a class-compliant IVI driver. The primary purpose of an IVI class specification is to detail the set of functions and attributes that an IVI driver must support in order to be class-compliant. The class specification carefully prescribes the exact name of each function, along with the parameter list and the API hierarchy, as well as other behavior details.

Currently, the IVI Foundation has defined and approved specifications for twelve instrument classes. These specifications are available from the IVI Foundation.

  • IVI-4.1: IviScope Class Specification
  • IVI-4.2: IviDmm Class Specification
  • IVI-4.3: IviFgen Class Specification
  • IVI-4.4: IviDCPwr Class Specification
  • IVI-4.5: IviACPwr Class Specification
  • IVI-4.6: IviSwtch Class Specification
  • IVI-4.7: IviPwrMeter Class Specification
  • IVI-4.8: IviSpecAn Class Specification
  • IVI-4.10: IviRFSigGen Class Specification
  • IVI-4.12: IviCounter Class Specification
  • IVI-4.13: IviDownconverter Class Specification
  • IVI-4.14: IviUpconverter Class Specification
  • IVI-4.15: IviDigitizer Class Specification

Interchangeability and IVI

The term interchangeability in IVI refers to the ability to exchange an instrument of one class in a system with a different instrument from that same class. IVI interchangeability does not generally refer to the case of exchanging instruments from different instrument classes.

Client applications achieve interchangeability by writing their code such that it meets at least the following two conditions:

  1. It uses only functions and attributes from the IVI class specification.
  2. It has no references to a specific IVI instrument driver.

Since IVI drivers can contain functionality beyond the class specification (known as instrument-specific functionality), the client programmer must take care to only use functionality from the IVI specification if their program is to be interchangeable. Only the IVI-defined functionality is guaranteed to be supported by a class-compliant driver.

The second condition (excluding references to a specific driver) is a bit trickier to meet, and requires the use of extra software components. The mechanism by which this is achieved is different for IVI-COM drivers and IVI-C drivers.

IVI-COM Interchangeability

Interchangeability with IVI-COM relies upon special components shipped as part of the IVI Shared Components. The first component required for IVI-COM interchangeability is the COM Session Factory. This component allows users to instantiate a specific IVI-COM driver by name, rather than by a hard-coded program reference.

The name used to instantiate the driver is termed the logical name. The IVI Configuration Store holds all of the user-assigned logical names, and maps them to specific IVI drivers. When a different instrument is introduced into the system, the user need only change the specific driver referenced by their logical name in the IVI Configuration Store. No user code is modified, so the application will run without re-compiling or re-linking. The COM Session Factory will lookup the logical name in the IVI Configuration Store and instantiate the new driver.

The second component required for IVI-COM interchangeability is the type library associated with the IVI instrument class in use. The IVI-COM type libraries are also part of the IVI Shared Components. These DLLs contain the interface definitions (function signatures, property and parameter types, etc.) for a particular instrument class. Class-compliant IVI-COM drivers reference these type libraries to implement the functionality they define. Client applications reference these type libraries to access driver functionality in a driver-independent fashion.

The COM Session Factory and the IVI-COM type libraries are the basic machinery that enables interchangeability with IVI-COM drivers.

IVI-C Interchangeability

IVI-C interchangeability differs fundamentally from IVI-COM interchangeability in that IVI-C drivers require the use of a special 3rd-party component called a class driver.

Note:

It is crucial to understand that IVI-C class drivers are not shipped as part of the IVI Shared Components. Rather, IVI-C Class Drivers must be obtained from a 3rd party vendor. Furthermore, IVI-C interchangeability does not extend to interchanging class drivers. Specifically, a client application built using class drivers from Vendor A must be modified, re-compiled, and re-linked if it is to use a class driver from Vendor B.

The class driver exposes the functions defined in a particular IVI instrument class. All of the class driver functions have generic names, so that client applications have no driver-specific references. For example, rather than naming a function "KtMDsr_Configure", which is obviously device-specific, the class driver will expose the function with the name "IviDmm_Configure".

IVI-C client applications link to the class driver and call into the class driver's Initialize function providing a logical name. This logical name is the same as that described for IVI-COM drivers above. Specifically, the logical name identifies a specific IVI-C driver that the class driver should load. Once the specific driver is loaded, subsequent function calls on the class driver are delegated to the corresponding function in the specific driver. In this way, IVI-C client applications can be written generically against a class driver and incorporate new specific drivers without modification.

Base Capabilities and Extension Groups

Each IVI class specification partitions IVI-defined functionality into two groups - base capabilities and extension groups.

Base Capabilities Group

The Base Capabilities group contains functionality that all IVI drivers must implement if they wish to claim conformance with the instrument class in question. Typically, the Base Capabilities group represents the "least common denominator" of functionality for an instrument class, so most commercial instruments can be expected to support this level of capability.

As an example, the IviDmm Base Capabilities group contains functions for range, resolution, and triggering. Most commercial DMMs possess at least these capabilities, so any IVI driver that wishes to claim IviDmm-compliance must support this group of functionality.

Extension Groups

IVI uses Extension Groups to define functionality that is found in many instruments of a particular class but may not be as common as the functionality expressed in the Base Capabilities. One may think of Extension Groups as being standard definitions for "optional" functionality in an IVI driver.

Extension Groups provide a means for more advanced instruments to expose functionality in an interchangeable fashion, while still allowing simpler instruments to be class-compliant. For instance, not all DMMs have the ability to perform temperature measurements. Thus, the IviDmm class specification uses the IviDmmTemperature Extension Group to define temperature measurement capabilities.

Simply put, an Extension Group is making the statement to the driver developer, "You do not have to provide these capabilities in your IVI driver, but if you do, you must do it according to the IVI definition." An IVI driver can be class-compliant without supporting any of the extension groups in its instrument class. All IVI drivers expose a GroupCapabilities attribute that returns a comma-separated list of the extension groups supported by the driver. Using this attribute, client applications and tools can programmatically determine what optional functionality is present in an IVI driver.

For more information, see the Advanced Topics, Interchangability section of the Getting Started Guide on the IVI Foundation website.


Instrument-Specific Capabilities

Instrument-Specific Capabilities

Modern instruments typically possess much more functionality than is represented in the IVI instrument class specifications. End users must have a way to access the full capability of the instrument they have purchased. Thus, the driver must expose interfaces that are specific to that instrument alone. These are known as instrument-specific capabilities.

Instrument-specific capabilities are obviously not interchangeable. End users programming against a driver's instrument-specific interfaces typically do so to access functionality that is not available in the class-compliant interfaces . Nevertheless, for complex instruments such as spectrum analyzers, there will often be far more functionality in the IVI driver's instrument-specific hierarchy than in the class-compliant hierarchy.

Although, by definition, IVI does not dictate the syntax and semantics of instrument-specific interfaces, there are still guidelines that must be followed in the design of the interfaces if the driver is to be IVI compliant. Most of these rules are laid out in IVI-3.4: API Style Guide.


IVI Shared Components

IVI Shared Components

In order to facilitate IVI driver development and to ensure a consistent experience for end users building IVI-based test systems, the IVI Foundation develops and maintains a series of freely available software components. These components are collectively referred to as the IVI Shared Components, and they must be installed on any computer that will use IVI drivers. In fact, IVI driver installation programs are required to check for the presence of the IVI Shared Components before installing.

The following sections provide a brief overview of some of the most important IVI Shared Components.

IVI Shared Component Installer

The IVI Foundation provides an installer for the IVI Shared Components. Moreover, the Foundation's Shared Component installer is the only IVI-compliant way to install the IVI Shared Components. Third parties are not allowed to develop custom installation programs for the IVI Shared Components.

The IVI Shared Component installer creates a directory structure to house the IVI Shared Components as well as IVI drivers themselves. The root of this directory structure is referred to as the IVI install directory (<IviInstallDir>) and is typically <ProgramFilesDir>\IVI Foundation\IVI.

The IVI Shared Component installer is available for download from the IVI Foundation web site.

IVI Configuration Store

When the IVI Shared Components are installed, a special XML file named IviConfigurationStore.xml is placed in the <IviInstallDir>\Data directory. This file is known as the IVI Configuration Store and serves as a central repository for IVI driver configuration information.

IVI driver installers are required to populate the Configuration Store with information such as the instrument classes supported, the instrument models for which the driver is designed, and the physical channel names understood by the driver. End users add information to the Configuration Store to describe how they intend to use IVI drivers in their system. End users can specify logical names for IVI drivers and virtual names for channels.

For more information on the structure of the IVI Configuration Store, see IVI-3.5: Configuration Server Specification available on the IVI Foundation web site.

IVI Configuration Server

The IVI Foundation discourages users and driver developers from directly manipulating the Configuration Store XML file (IviConfigurationStore.xml). The Configuration Store is highly self-referential and easily corrupted if modified directly. Thus, the Foundation provides a COM component known as the IVI Configuration Server for programmatically reading and writing information to the Configuration Store.

The IVI Configuration Server is installed automatically by the IVI Shared Component installer. For more information on how to use the IVI Configuration Server, see IVI-3.5: Configuration Server Specification available on the IVI Foundation web site.

COM Session Factory

IVI-COM drivers, like all COM components, must be created using a specific, hard-coded reference to the main COM class. In Visual Basic, this reference takes the form of a class data type, while in Visual C++, a CLSID must be specified. Irrespective of the IDE in use, this identifier must somehow be provided to instantiate the driver and begin calling methods and properties. Yet, having a direct reference to such an instrument-specific item in an application program renders that application non-interchangeable. Specifically, if the user wishes to use a different instrument (and, hence, a different driver), then this CLSID (or class name in Visual Basic) must be manually changed and the program re-complied and re-linked.

The COM Session Factory (or, simply, the session factory)is a very simple COM component supplied with the IVI Shared Components. In spite of its simplicity, the session factory is a key to writing interchangeable applications that use IVI-COM drivers.

Rather than directly creating an IVI-COM driver using a CLSID (or the equivalent), the application program creates an instance of the session factory and then asks it to instantiate a specific IVI-COM driver. For this to work, the user must create a Logical Name in the IVI Configuration Store and associate that Logical Name with the specific IVI-COM driver they wish to instantiate. The COM Session Factory simply looks up the Logical Name in the IVI Configuration Store, locates the associated IVI-COM driver and instantiates it accordingly.

Note that, as the name implies, the COM Session Factory is only relevant for IVI-COM drivers. IVI-C drivers use a completely different mechanism (namely, IVI Class Drivers), to facilitate interchangeability.

The COM Session Factory is installed automatically by the IVI Shared Component installer. For more information on how to use the COM Session Factory, see IVI-3.6: COM Session Factory Specification available on the IVI Foundation web site.

IVI-COM Type Libraries

Part of the IVI Shared Components include a series of COM type libraries that contain the interface definitions for the IVI inherent capabilities as well as for all IVI instrument classes. These type libraries are installed in <IviInstallDir>\Bin and are generally named <IviClass>TypeLib.dll. For instance, the type library containing the interface definitions for the IviDmm instrument class is IviDmmTypeLib.dll.

Client applications must directly reference the IVI-COM type libraries from their projects in order to call methods and properties in IVI-defined interfaces. All client applications must include a reference to IviDriverTypeLib.dll, since this type library houses the interface definitions for the IVI inherent capabilities. Application programs must also reference the type library containing the interface definitions for any class-compliant interfaces they wish to support.


IVI Configuration Store

IVI Configuration Store

The IVI Configuration Store is part of the IVI Shared Components distributed by the IVI Foundation. The IVI Configuration Store serves as a central repository for driver registration information. Physically, the IVI Configuration Store is an XML file installed by the IVI Shared Component Installer in the following directory:
<IviInstallDir>\Data\IviConfigurationStore.xml.
where, <IviInstallDir> is typically C:\Program Files\IVI Foundation\IVI.

The KtMDsr installer populates the IVI Configuration Store (Config Store) with the required entries for using the driver. Specifically, the driver installer adds a Software Module entry to the Config Store to represent the driver DLL itself. No other entries in the Config Store are created by the driver. If you only wish to access the instrument specific functionality of the driver, then no other entries in the Config Store are required.

To use the driver in application programs that will be interchangeable, you must edit the Config Store and add a few specific entries. Instrument vendors and other third parties provide graphical tools for conveniently editing the Config Store.

Note:

Although the IVI Configuration Store is a human readable XML file, the IVI Foundation strongly discourages you from directly editing this file. The Config Store file is highly self-referential and easily corrupted if directly modified. Instead, this is typically done using a 3rd-party IVI Configuration Store Editor utility. Alternatively, the IVI Shared Components include a programmatic interface to the Config Store, known as the IVI Configuration Server.

Editing the IVI Configuration Store

The driver installer creates only one entry in the Config Store - the Software Module. This entry is removed by the driver uninstaller. End users should never modify the Software Module entry.

To author test programs that allow for interchangeability, you must create three additional entries in the Config Store:

  • Hardware Asset
  • Driver Session
  • Logical Name

The following sections provide descriptions of each of the Config Store entries mentioned here. Consult the documentation for your Config Store editor for detailed instructions on modifying these items.

Software Module

The Software Module identifies the instrument driver DLL, as well as various pieces of important driver information, such as any Repeated Capability Physical Names, additional IVI compliance information, and a variety of other items.

Hardware Asset

The Hardware Asset identifies a specific piece of instrument hardware. The main purpose of the Hardware Asset is to house the I/O resource descriptor used to communicate with the device.

Driver Session

The Driver Session associates the Software Module with the Hardware Asset. The Driver Session also specifies such things as driver initialization values and mappings between any Repeated Capability Physical Names and Virtual Names. Virtual names are used by client programs to access repeated capabilities in an interchangeable fashion.

For a discussion of repeated capabilities, physical names, and virtual names, see the Repeated Capabilities topic.

Users create a separate Driver Session for each unique combination of driver software, instrument hardware, and initialization settings. You may have multiple Driver Sessions for the same Software Module, if, for instance, the driver is being used to control several instances of the same instrument at different GPIB addresses.

Logical Name

The Logical Name allows users to associate an arbitrary name with a Driver Session. Since the Driver Session is tied to a particular driver and instrument, a level of indirection is needed to abstract these details in interchangeable client applications. The Logical Name serves as this extra level of abstraction - a simple string identifier for a Driver Session.

The Logical Name is what client programs must use to build interchangeable systems. Applications create instances of IVI-COM drivers by using the COM Session Factory and specifying the Logical Name. Applications load IVI-C specific drivers by passing a Logical Name to the Initialize function on an IVI-C class driver. In either case, no instrument-specific details exist in the client program. Swapping instruments in such a system involves merely associating the Logical Name in the Config Store with a different Driver Session (i.e. a different driver-instrument combination).


Repeated Capabilities

Repeated Capabilities

Instruments often contain multiple instances of the same kind of functionality or capability. For instance, modern oscilloscopes may have multiple channels, each with independent settings for such things as vertical scale and input attenuation. IVI refers to functionality that is duplicated in an instrument as a repeated capability.

For information specific to DSR repeated capabilities, see Dynamic Repeated Capabilities.

Physical Repeated Capability Names

Instances of repeated capabilities are identified by name. These names are passed as parameters to standard repeated capability accessor functions in order to change settings and execute methods on a driver's repeated capabilities. There are two types of repeated capability names - physical names and virtual names. Physical repeated capability names are those that the driver writer specifies during driver development. These are the names that the driver natively understands and, as such, they cannot be modified by an end user. They can only be read by an end user. Virtual repeated capability names are explained below.

The physical repeated capability names (or simply physical names) understood by a particular driver can be discovered interactively or programmatically. Each IVI driver is required to register the set of physical names it understands with the IVI Configuration Store. This means an end user can use whatever IVI Configuration Store browser they have to look up the physical names supported by the driver.

Physical names can also be discovered programmatically using standard repeated capability functions. Example code for doing this is given below in the section on Parameter-Style Repeated Capabilities.

Virtual Repeated Capability Names

Virtual names allow end users to specify their own names for repeated capability instances and map those names to the physical names that the driver natively understands. The user establishes the virtual-to-physical name mappings in the IVI Configuration Store. At runtime, the user can supply a virtual channel name to the appropriate function the driver will use the mappings in the IVI Configuration Store to translate the virtual name into a physical name that the driver understands.

The purpose of virtual names is to facilitate driver interchangeability. If a user writes application code using virtual names, then no modifications to the application code are necessary when an existing driver is replaced with one that natively understands different physical names. The user need only modify the appropriate settings in the IVI Configuration Store to map their virtual names to the new driver's physical names.

Types of Repeated Capabilities

The IVI specifications define three different types of repeated capabilities - parameter-style repeated capabilities, selector-style repeated capabilities, and collection-style repeated capabilities. Each type of repeated capability is often more appropriate depending upon such factors as how common the repeated capability is in a particular instrument class and whether one repeated capability instance is controlled at a time or multiple instances are commonly controlled at a time. Since IVI instrument classes use all three types of repeated capabilities in various instrument classes, it is important to understand the basics of each type of repeated capability.

Parameter-Style Repeated Capabilities

The simplest type of repeated capability is the parameter style. Parameter-style repeated capabilities are used most commonly in IVI-C drivers, though they can also appear in IVI-COM drivers. As the name implies, parameter-style repeated capabilities are supported by simply adding an extra string parameter to any function that applies to a repeated capability (as opposed to a function that applies to the driver as a whole). The client application passes in either a valid physical or virtual repeated capability name for this parameter to identify the particular repeated capability instance to access.

The code below shows an IVI-C driver client using the ConfigureOperationMode function from the IviFGen class specification:

C++ Copy Code Copy Code
ViSession vi;
// ...
IviFgen_ConfigureOperationMode(vi, "Output1", IVIFGEN_VAL_OPERATE_BURST);

In the code above, the second parameter is the repeated capability name. The repeated capability name almost always appears as the second parameter to a function that applies to a repeated capability. The example is setting the operation mode to burst for only the output channel identified by "Output1". The name "Output1" could be a physical name or a virtual name.

Drivers that expose a parameter-style repeated capability always expose a couple of additional functions and attributes that allow you to programmatically determine the number of repeated capabilities instances (e.g. "channels") and the physical names supported (e.g. channel names). The names of these support functions are also standardized, so that they can easily be identified when the name of the capability is know. IVI-COM drivers and IVI-C drivers differ slightly in the repeated capability support functions they expose for parameter-style repeated capabilities.

For IVI-COM drivers, the following are required to be present:

  • <Capability>Count attribute (Ex: "ChannelCount")
  • <Capability>Name attribute (Ex: "ChannelName")

For IVI-C drivers, the following are required to be present:

  • <Capability>Count attribute (Ex: "ChannelCount")
  • Get<Capability>Name attribute (Ex: "GetChannelName")

With either IVI-COM or IVI-C, the use model for these attributes is virtually identical. Specifically, the client code simply reads the value of the Count attribute and then uses this value to iterate through the repeated capability instances. The Name attribute (for IVI-COM) and the GetName function (for IVI-C) both accept a one-based index parameter to identify which repeated capability instance name is desired. The code below shows how to iterate through all of the physical names supported by an IVI-C FGen driver that exposes a "Channel" repeated capability.

C++ Copy Code Copy Code
ViSession vi;
ViInt32 i;
ViChar name[1024];
// ...
ViInt32 count;
IviFgen_GetAttributeViInt32(vi, VI_NULL, IVIFGEN_VAL_CHANNEL_COUNT);
for (i = 1; i <= count; i++)
{
  // Note: One-based indexing
  IviFgen_GetChannelName(vi, i, 1024, name);
  printf(name);
}

Selector-Style Repeated Capabilities

Selector-style repeated capabilities use a special selector function to set the "active" repeated capability. Subsequent function calls that apply to a repeated capability are understood to apply to the active instance. The active instance remains active until the client code sets the active instance to another repeated capability name.

Selector-style repeated capabilities can be used in both IVI-COM and IVI-C drivers, and, though less common than the parameter style and collection style (discussed shortly), selector-style repeated capabilities have the advantage of not requiring a repeated capability name to be passed to every function that applies to the repeated capability.

As with parameter-style repeated capabilities, drivers that expose a selector-style repeated capability always expose additional functions for managing the repeated capability instances. Indeed, the selector-style repeated capability uses the same functions and attributes as the parameter style, with the addition of one attribute and one function for setting and getting the active instance.

For IVI-COM drivers, the following are required to be present:

  • <Capability>Count attribute (Ex: "ChannelCount")
  • <Capability>Name attribute (Ex: "ChannelName")
  • Active<Capability> attribute (Ex: "ActiveChannel")
  • SetActive<Capability> function (Ex: "SetActiveChannel")

For IVI-C drivers, the following are required to be present:

  • <Capability>Count attribute (Ex: "ChannelCount")
  • Get<Capability>Name attribute (Ex: "GetChannelName")
  • Active<Capability> attribute (Ex: "ActiveChannel")
  • SetActive<Capability> function (Ex: "SetActiveChannel")

Since the selector-style repeated capability uses the same Count attribute and GetName function as the parameter style, the code required to iterate through the instance names for a selector-style repeated capability is identical to that shown above for the parameter style.

Collection-Style Repeated Capabilities (IVI-COM only)

By far, the most common type of repeated capability for IVI-COM drivers is the collection-style repeated capability. Collection-style repeated capabilities are not supported for IVI-C drivers.

As with the parameter and collection style, collection-style repeated capabilities always expose a Count and Name attribute for iterating through the list of available repeated capability names. Unique to collection-style repeated capabilities is the Item property, which provides access to individual repeated capability instances. The Item property accepts a repeated capability name (physical name or virtual name) and returns an interface pointer to the desired repeated capability instance. All method and property calls on the returned interface pointer implicitly apply to the repeated capability instance chosen with the Item property.

The C# code below demonstrates how to use the Item property to access a channel called "CH1" and enable it.

C# Copy Code Copy Code
IIviScope scope = new AcmeScopeClass();
// ... Initialize called
IIviScopeChannel channel = scope.Channels.get_Item("CH1");
channel.Enabled = true;

Note that in C#, the Item property is invoked using the get_Item accessor method. This is required for C# because that language does not support parameterized properties. Thus, any property that accepts one or more parameters must be accessed as if it were a method. The standard way in which such properties appear in C# is with a "get_" prefix (for reads) and a "set_" prefix (for writes).

Note also that declaring the intermediate variable for the IIviScopeChannel interface returned by get_Item is not necessary. Depending upon the client application, it may be more convenient to write the code as follows:

C# Copy Code Copy Code
IIviScope scope = new AcmeScopeClass();
// ... Initialize called
scope.Channels.get_Item("CH1").Enabled = true;

Static and Dynamic Repeated Capabilities

Many instruments have a fixed number of repeated capabilities. For instance, a function generator typically has a fixed number of output channels. However, some instruments can have a variable number of repeated capabilities, depending upon end-user configuration. For instance, a switching mainframe might have any of a number of combinations of multiplexer cards installed on a particular end-user system. Thus, the number of channels is not fixed and can only be determined at runtime. Such instruments possess what are termed dynamic repeated capabilities. Conversely, instruments that always have a fixed number of repeated capabilities use the term static repeated capabilities.

A driver that exposes dynamic repeated capabilities cannot register the supported repeated capability names during driver installation. Instead, during the driver Initialize call, the driver typically queries the instrument to determine its exact configuration. The mechanism by which a driver determines the name and number of the supported repeated capabilities is always instrument specific, but the net result is that the end user must use the Count and Name attributes to programmatically determine what repeated capability instances are available. An IVI Configuration Store browser is useless in determining what dynamic repeated capabilities a driver supports. It relies only upon static information in the IVI Configuration Store, so it can only report details on static repeated capabilities.

Finally, it is worth noting that a driver can contain both static and dynamic repeated capabilities.


LXI Fundamentals

LXI Fundamentals

What is LXI?

The LXI Consortium was formed in 2005 with the goal of using LAN-based communication to control instrumentation. LXI stands for (LAN eXtensions for Instrumentation) and the hope is that high-performance, low cost systems can be built based on standard Ethernet technology, as an alternative to the popular, but more industry-specific GPIB communication interface.

Note:

A full discussion of the LXI specifications and their requirements is far beyond the scope of this document. Only a basic introduction to LXI is given here. Please see the LXI Consortium web site for full details.

The LXI standards prescribe hardware and firmware requirements for building LXI-compliant instruments. These requirements are grouped into Core features and optional Extension feature groups. The level of support for these groups was previously referred to as three classes of LXI compliance - Class A, Class B, and Class C (Note that the use of the term "Class" here has no relation to the notion of "IVI Instrument Class"). Use of LXI class designation has been discontinued. However, for backwards compatability, the features of each class are summarized in the following table:

Feature | Class C | Class B | Class A
IVI Driver (Core) | X | X | X
Programmatic Control via LAN (Core) | X | X | X
LAN-based Discovery (Core) | X | X | X
Web-based Configuration Page (Core) | X | X | X
LXI Event Messaging Extension |  | X | X
LXI Clock Synchronization Extension |  | X | X
LXI Event Logs Extension |  | X | X
LXI Timestamped Data Extension |  | X | X
LXI Wired Trigger Bus Extension |  |  | X

Features of LXI Devices

As the table in the previous section shows, LXI devices possess a variety of useful features, based on the LXI Core and Extension features. The Core features of LXI are required for LXI compliance. First and foremost, an IVI driver (either IVI-COM or IVI-C) must be provided with any instrument claiming LXI compliance. Next, the instrument must provide a configuration web page so that users can simply open a browser, navigate to the LAN address of the instrument, and interact with the device. In addition, all LXI devices must support a standard discovery mechanism so that tools and client applications can determine what devices are connected to the network.

LXI Event Messaging Extension - With LXI Event Messaging, an LXI Event message containing triggering information (including a timestamp) is sent directly from one device to another via the LAN, without computer intervention, which improves execution speed. LAN-based triggers provide programmatically triggered events through driver commands from the controller to the LXI device or by message exchange between LXI devices. They emulate traditional hardware triggers but can carry information that hardware triggers cannot such as trigger slope and time stamps based on synchronized system clocks. This extension defines how devices format, send and receive special LAN packets used to communicate between devices using a standard set of eight LAN packets. This forms a sort of virtual LAN-based trigger bus, with each of the standard LAN packets (known as "LAN0...LAN7") serving as individual trigger lines. LXI devices can be programmed to trigger a measurement or sweep based on receipt of a LAN packet or they can be told to send a specific LAN packet (an event) when a particular operation has completed or the device enters some other interesting operational state.

LXI Clock Synchronization Extension - LXI clock synchronization inherits IEEE 1588-2008, a protocol used to synchronize real-time clocks with sub microsecond accuracy in devices of a networked distributed system. This allows common timer events to be tied to absolute times for very precise triggering and synchronization and also enables the correlation between instruments in order to aid monitoring and debugging.

LXI Event Logs Extension - The LXI Event Log utility contains records of LAN events that have occurred, permitting observation of an instrument – or of an entire system – in action. The event log helps you understand what is happening in your instrument or system.

LXI Timestamped Data Extension - LXI Timestamping enables the capability of marking a LAN event at a point in time – events such as triggering, measuring, or connecting channels. You can understand what happened in time sequence in your test programs.

LXI Wired Trigger Bus Extension - The LXI Wired Trigger Bus (WTB) is a hard-wired interface to specify input or output configurability, wired-OR, and shielding and cabling for the most demanding triggering applications. This method of triggering increases your accuracy to the nanosecond range compared to software triggering via the LAN, which is typically in the millisecond range. This trigger bus, if supported, can be useful in applications that demand extremely precise timing and ultra-low latency triggering between components.

The IviLxiSync Specification

In 2006, the IVI Foundation and the LXI Consortium joined forces to define a standard API for controlling the triggering and eventing capabilities of LXI devices. The result of this cooperation was the IviLxiSync specification, formally known as IVI-3.15: IviLxiSync Specification. The IviLxiSync specification is not an instrument class specification, because it does not define functionality for a particular type of instrument. Rather, it defines operations common to any LXI-compliant device, whether that device is a DMM, oscilloscope, or spectrum analyzer.

Since the IviLxiSync specification spans devices of all instrument classes, it is common that an IVI driver will support IviLxiSync as well as one or more IVI instrument classes. Some of the operations that a client application can perform through the IviLxiSync interfaces include:

  • Configuring a device to trigger on a specific LAN packet.
  • Configuring a device to send an event upon receipt of a particular event from another LXI device.
  • Using filtering to control from which devices an instrument "sees" incoming LAN triggers.
  • Retrieving event log entries from the device.

Just as with IVI instrument classes, the standard functions and attributes defined in the IviLxiSync specification are compiled into an IVI-COM type library. This type library is shipped as part of the IVI Shared Components. Also, as with IVI instrument classes, users can program interchangeably with LXI devices by referencing the IviLxiSync type library and using only IviLxiSync-defined interfaces in their application.

IviLxiSync Subsystems

The IviLxiSync API is divided into five subsystems. Each subsystem controls different aspects of LXI device operation in a system. Depending upon a device's functional class, it may support only some of these subsystems. Class C devices, for example, need not support any of the functionality defined in the IviLxiSync specification. Also, only Class A devices will typically support arming, triggering, and events using the hardware trigger bus. The following table gives the different IviLxiSync subsystems along with their functionality:

Subsystem | Description
IviLxiSyncArm | Controls when triggers are accepted by the LXI device.
IviLxiSyncTrigger | Controls when the LXI device starts a measurement or other operation.
IviLxiSyncEvent | Controls when the LXI device signals specific conditions to other LXI devices.
IviLxiSyncEventLog | Provides access to the event logging features of an LXI device.
IviLxiSyncTime | Exposes functionality for access to the 1588 timebase of the LXI bus.

IviLxiSync Programming Example

This section presents an example LXI test system with common programming tasks using the IviLxiSync interfaces. The example code is based upon the stimulus/response test system shown in the figure below:

In the system above, an arbitrary waveform generator (arb) is used to stimulate a device under test with waveforms at various frequencies, in order to measure the distortion characteristics of the device across its operating range. The stimulus waveform is up-converted to microwave frequencies using an upconverter module and the receiver uses a downconverter to translate the DUT output signal into a range suitable for processing by the digitizer.

The up and down converters are capable of frequency stepped sweep operations (start Frequency, stop Frequency, step Frequency) and can initiate each step based on a trigger signal. The LXI-defined LAN events will be used for this triggering. At each frequency in the sweep, the digitizer acquires the DUT's output waveform using an internal signal level to trigger the acquisition. At each step in the frequency step sweep, the digitizer will wait for a LAN signal from the upconverter and downconverter modules indicating that their signals have settled.

The first task is to configure the digitizer to output a synchronization signal to trigger the arb. The LXI-defined LAN packet named "LAN1" will be used for this purpose. We want the digitizer to send the LAN1 event to the arb when the digitizer is in the waiting-for-trigger state (also known as "armed"). IviLxiSync defines the "WaitingForTrigger" event name as a standard string to identify precisely this device state. This is referred to as the "source" of the outgoing event, because when it occurs (e.g. when the digitizer enters the waiting-for-trigger state), the digitizer will send an outbound LAN packet ("LAN1" in our example).

C# Copy Code Copy Code
// Instantiate drivers for all four devices and retrieve the IIviLxiSync interface from all
IIviLxiSync digitizer = (IIviLxiSync) new AcmeDigitizerClass();
IIviLxiSync arb = (IIviLxiSync) new AcmeArbClass();
IIviLxiSync upconverter = (IIviLxiSync) new AcmeUpconverterClass();
IIviLxiSync downconverter = (IIviLxiSync) new AcmeDownconverterClass();
// Call the Initialize function on all drivers (omitted for clarity)
// ...
// Tell the digitizer to send LAN1 when it arms - used to trigger the arb
digitizer.Events.get_Item("LAN1").Source = "WaitingForTrigger";
digitizer.Events.get_Item("LAN1").Mode = IviLxiSyncDriveModeEnum.IviLxiSyncDriveModeDriven;
// Configuring the "slope" here refers to the slope of the "WaitingForTrigger" event
// that causes the digitizer to send a LAN1 packet
digitizer.Events.get_Item("LAN1").Slope = IviLxiSyncSourceSlopeEnum.IviLxiSyncSourceSlopeRise;

We next configure the arb to accept a trigger on the rising edge of the LAN1 packet that the digitizer will be sending.

C# Copy Code Copy Code
// Tell the arb to trigger on the rising edge of LAN1
arb.Trigger.get_Item("LAN1").Detection = IviLxiSyncTriggerSourceDetectionEnum.IviLxiSyncTriggerSourceDetectionRise;
arb.Trigger.TriggerSource = "LAN1";

Next, we configure the digitizer to send an event on LAN2 on the falling edge of the IviLxiSync-defined "WaitingForArm". As with "WaitingForTrigger", the "WaitingForArm" event name provides a standard way to refer to common events that occur within an LXI device. We use the falling edge of the LAN2 packet to trigger the upconverter and downconverter, which must be configured to accept LAN2 as their trigger source.

C# Copy Code Copy Code
// Tell the digitizer to send LAN2 on the falling edge of WaitingForArm
digitizer.Events.get_Item("LAN2").Source = "WaitingForArm";
digitizer.Events.get_Item("LAN2").Mode = IviLxiSyncDriveModeEnum.IviLxiSyncDriveModeDriven;
digitizer.Events.get_Item("LAN2").Slope = IviLxiSyncSourceSlopeEnum.IviLxiSyncSourceSlopeFall;
// Tell the up and downconverters to trigger on the rising edge of LAN2
upconverter.Trigger.get_Item("LAN2").Detection = IviLxiSyncTriggerSourceDetectionEnum.IviLxiSyncTriggerSourceDetectionRise;
upconverter.Trigger.TriggerSource = "LAN2";
downconverter.Trigger.get_Item("LAN2").Detection = IviLxiSyncTriggerSourceDetectionEnum.IviLxiSyncTriggerSourceDetectionRise;
downconverter.Trigger.TriggerSource = "LAN2";

The digitizer needs to begin processing when the output signals from both the upconverter and downconverter have settled to a point suitable for processing. This can be accomplished by configuring the upconverter to send a LAN3 packet when the "Settling" event occurs. Similarly, the downconverter will send a LAN4 packet when its "Settling" event occurs.

C# Copy Code Copy Code
// Tell the upconverter to output LAN3 when the "Settling" event occurs
upconverter.Events.get_Item("LAN3").Source = "Settling";
upconverter.Events.get_Item("LAN3").Mode = IviLxiSyncDriveModeEnum.IviLxiSyncDriveModeDriven;
upconverter.Events.get_Item("LAN3").Slope = IviLxiSyncSourceSlopeEnum.IviLxiSyncSourceSlopeNegative;
// Tell the downconverter to output LAN4 when the "Settling" event occurs
downconverter.Events.get_Item("LAN4").Source = "Settling";
downconverter.Events.get_Item("LAN4").Mode = IviLxiSyncDriveModeEnum.IviLxiSyncDriveModeDriven;
downconverter.Events.get_Item("LAN4").Slope = IviLxiSyncSourceSlopeEnum.IviLxiSyncSourceSlopeNegative;
// Tell the digitizer to arm when *both* LAN3 and LAN4 are "High"
digitizer.Arm.Sources.get_Item("LAN3").Enabled = true;
digitizer.Arm.Sources.get_Item("LAN3").Detection = IviLxiSyncArmSourceDetectionEnum.IviLxiSyncArmSourceDetectionHigh;
digitizer.Arm.Sources.get_Item("LAN4").Enabled = true;
digitizer.Arm.Sources.get_Item("LAN4").Detection = IviLxiSyncArmSourceDetectionEnum.IviLxiSyncArmSourceDetectionHigh;
digitizer.Arm.Sources.OrEnabled = false;	// "false" means use AND-summing of all enabled arm sources

With the LAN signals "wired" appropriately, the remaining tasks involve configuring and initiating the actual measurements. This might involve configuring other aspects of the digitizer (acquisition length, etc.) and loading a signal file into the arb. The frequency sweep parameters of the upconverter and downconverter also need to be configured.

C# Copy Code Copy Code
// Load signal file into arb and get it ready to go
// ...
// Setup rest of digitizer parameters (acquisition length, SignalLevel trigger, etc.)
// ...
// Start digitizer
digitizer.Arm.ArmCount = 100;  // acquire 100 signal packets
digitizer.Initiate();          // digitizer will now wait until it sees Settled from the up and down converters
// Setup frequencies for up and down converters
// NOTE: Functions used here are *not* part of the IviLxiSync specification.  They are just included
// as examples of sweep configuration functions in drivers.
upconverter.Frequency.Sweep.Start = 2e9;
upconverter.Frequency.Sweep.Stop = 3e9;
upconverter.Frequency.Sweep.Step = 10e6;
downconverter.Frequency.Sweep.Start = 2e9;
downconverter.Frequency.Sweep.Stop = 3e9;
downconverter.Frequency.Sweep.Step = 10e6;
// As soon as both converters settle, the digitizer will trigger the arb and take the first measurement
// Call Fetch function on digitizer to retrieve data
// ...


Installation

Installation

Updating to a New Driver Version

It is important to note that only a single version of an IVI driver can be installed on a system at once. This rule is dictated by the IVI specifications. To ensure that only a single version of the KtMDsr driver exists on the machine, the KtMDsr installer will automatically uninstall a previous version of the driver. Although you can always explicitly uninstall the driver, this is typically not necessary.

Location of Files

The KtMDsr installer deploys and registers a variety of files on the target computer. The notation <IviInstallDir> is used to denote the directory in which the IVI Shared Components have been installed. By default, this is C:\Program Files\IVI Foundation\IVI. Substitute your install directory if the IVI Shared Components were installed in an alternate location.

File | Description
<IviInstallDir>\Bin\KtMDsr.dll | Driver DLL.
<IviInstallDir>\Bin\Primary Interop Assemblies\Keysight.KtMDsr.Interop.dll | Interop assembly for using the driver in .NET environments.
<IviInstallDir>\Bin\Primary Interop Assemblies\Keysight.KtMDsr.Interop.xml | XML documentation file for providing IntelliSense support in .NET environments.
<IviInstallDir>\Include\KtMDsr.h | Driver header file.
<IviInstallDir>\Lib\msc\KtMDsr.lib | Microsoft-format import library.
<IviInstallDir>\Drivers\KtMDsr\KtMDsr.fp | Function panel file.
<IviInstallDir>\Drivers\KtMDsr\KtMDsr.sub | Attribute information file.
<IviInstallDir>\Drivers\KtMDsr\KtMDsr.chm | HTML 1.0 format help file.
<IviInstallDir>\Drivers\KtMDsr\KtMDsr.HxS | HTML 2.0 format help file.

Installation on a System with the .NET Framework

The KtMDsr installer detects if the .NET Framework is installed and, if so, registers the driver's Primary Interop Assembly (PIA) and deploys it in the .NET Global Assembly Cache (GAC).

Note:

If the .NET Framework is installed on the target computer after the KtMDsr installer runs, then the PIA must be registered manually. This must be done from a Visual Studio command prompt (not a regular command prompt). The Visual Studio command prompt can be found from Start -> Programs -> Microsoft Visual Studio 2005 -> Visual Studio Tools -> Visual Studio 2005 Command Prompt.

From the Visual Studio command prompt, perform the following two steps:

  1. Navigate to the PIA (<IviInstallDir>\Bin\Primary Interop Assemblies\KtMDsr.dll) and execute the following command: "gacutil -i KtMDsr.dll". You can also drag-n-drop the PIA from Windows explorer into the GAC folder (C:\Windows\Assembly).
  2. Execute the following command: "regasm /codebase KtMDsr.dll".

IVI Shared Components

Before any IVI driver may be installed on a system, the IVI Shared Components must be properly installed. For an introduction to the IVI Shared Components, see the topic IVI Shared Components.

For additional information on the IVI Shared Components, visit the IVI Foundation web site.

To determine which version of the IVI Shared Components are installed on your system

  1. Navigate to <IviInstallDir>\Bin. Typically this is C:\Program Files\IVI Foundation\IVI\Bin.
  2. Locate the file IviSharedComponentVersion.dll.
  3. Right-click on that file and choose Properties.
  4. In the Properties Window, click the Version tab.
  5. The File version field indicates which version of the IVI Shared Components are installed.

Uninstallation

The only proper way to explicitly remove the driver from the system is to use the uninstallation program. Simply removing the installed files will not properly uninstall the driver.

To uninstall the driver

  1. From the Windows Start menu, choose All Programs and select Control Panel .
  2. Double-click Add or Remove Programs.
  3. Select the driver and click Remove.
Note:

In order to prevent loss of important user configuration information between uninstall/reinstall operations, the uninstallation program does not remove any of the following items from the IVI Configuration Store:

  • Logical Name
  • Driver Session
  • Hardware Asset
The only IVI Configuration Store item that is deleted during an uninstall is the Software Module.
For a discussion of IVI Configuration Store entries, such as the Software Module, see Configuring the Driver.


IVI Compliance Information

IVI Compliance Information

This page provides IVI-required compliance information for the KtMDsr driver.

Driver Identification

This section provides IVI-required identity information for the KtMDsr driver.

Identification Category | Description
Driver Revision | 2.3.316.0
Driver Vendor | Keysight Technologies
Driver Description | IVI Driver for the KtMDsr Digital Stimulus Response module
Prefix/Component Identifier | KtMDsr
Supported Models | M9195A, M9195B, M9195A_B

Compliance Category

IVI drivers come in a variety of types and configurations. This section provides IVI-required compliance information on the various categories of IVI compliance for the KtMDsr driver.

Compliance Category | Compliance Information
IVI Generation | IVI-2014
Category Name | IVI-COM/C Custom Specific Instrument Driver
Class Specification Version | No IVI instrument class supported.

The KtMDsr driver supports the IVI Inherent Capabilities required of all IVI drivers.

Optional Features

This section provides IVI-required information regarding optional IVI driver features supported by the KtMDsr driver.

Feature | Supported
Interchangeability checking | No
State caching | No
Coercion recording | No

Additional Compliance Information

Additional IVI compliance information for this driver may be found in the driver Readme and Introduction files available from the Windows Start Menu shortcut under: All Programs, Keysight Instrument Drivers, IVI-COM-C Drivers, KtMDsr


Copyright

Copyright

Keysight Technologies may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Keysight Technologies, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.

Copyright 2015-2016 Keysight Technologies. All rights reserved.

The names of actual companies and products mentioned herein may be the trademarks of their respective owners.


Classes

[image]

KtMDsr IVI Driver Reference Keysight Technologies
Ivi.Driver.Interop Classes