niSwitch_InitWithOptions

NI-SWITCH Functions

niSwitch_InitWithOptions

Specific Function

C Function Prototype

ViStatus niSwitch_InitWithOptions (ViRsrc resourceName, ViBoolean idQuery, ViBoolean resetDevice, ViConstString optionString, ViSession* vi);

Purpose

Returns a session handle used to identify the switch module in all subsequent instrument driver calls and optionally sets the initial state of the session.

niSwitch_InitWithOptions creates a new IVI instrument driver session for the switch module specified in the resourceName parameter. If multiple topologies are valid for that device, NI-SWITCH uses the default topology specified in MAX. The topology is also configurable in the optionString parameter.

By default, the switch module is reset to a known state.

Enable simulation in the optionString parameter.

An error is returned if a session to the specified resource exists in another process. The same session is returned if niSwitch_InitWithOptions is called twice in the same process for the same resource with the same topology.

Parameters

Name Type Description
resourceName ViRsrc

Resource name of the switch module to initialize.

Syntax:

MAX Configured under Valid Syntax
NI-DAQmx Devices DAQmxDeviceName
Traditional NI-DAQ (Legacy) Devices SCXI[chassis ID]::slot number
PXI System PXI[bus number]::device number

Optional fields are shown in square brackets ([]). The default values for optional fields are as follows:

chassis ID = 1
bus number = 0

Tip  IVI logical names are also valid for the resource name.

Example resource names:

Name Description
SC1Mod3 NI-DAQmx module in chassis "SC1" Slot 3
MySwitch NI-DAQmx module renamed to "MySwitch"
SCXI1::3 Traditional NI-DAQ (Legacy) module in chassis 1, Slot 3
SCXI::3 Traditional NI-DAQ (Legacy) module in chassis 1, Slot 3
PXI0::16 PXI bus 0, device number 16
PXI::16 PXI bus 0, device number 16
idQuery ViBoolean This parameter is ignored.

Because NI-SWITCH supports multiple switch modules, it always queries the switch to determine which device is installed. For this reason, this VI may return NISWITCH_ERROR_FAIL_ID_QUERY even if this parameter is set to VI_FALSE.

Value Description
VI_TRUE (default) Queries the switch to determine which device is installed.
VI_FALSE Currently unsupported.
resetDevice ViBoolean Specifies whether to reset the switch module during the initialization process.
Value Description
VI_TRUE (default) Reset device
VI_FALSE Currently unsupported. The device will not reset.
optionString ViConstString Sets initial values of certain attributes for the NI-SWITCH session. The following table lists the attribute string names you can use:
Value Description Default
NISWITCH_ATTR_RANGE_CHECK RangeCheck 1
NISWITCH_ATTR_QUERY_INSTRUMENT_STATUS QueryInstrStatus 1
NISWITCH_ATTR_CACHE Cache 1
NISWITCH_ATTR_SIMULATE Simulate 0
NISWITCH_ATTR_RECORD_COERCIONS RecordCoercions 0
NISWITCH_ATTR_DRIVER_SETUP DriverSetup topology 1127/2-Wire 32x1 Mux

The format of the optionString is, "AttributeStringName=Value" where AttributeStringName is the name of the attribute shown above and Value is the value to which the attribute will be set. To set multiple attributes, separate assignments with a comma.

If you pass an empty string for this parameter, the NI-SWITCH session uses the default values for the attributes. You can override the default values by explicitly assigning a value. You do not have to specify all of the available attributes. If you do not specify an attribute, its default value is used.

Use the DriverSetup attribute to set the topology or the resource type (DAQmx or Traditional DAQ) of the switch module. This attribute can contain config token/value pairs within it.

DriverSetup=[config token]:[value];[config token 2]:[value 2]

Valid Config Tokens and Values:

Value Description Default
topology The topology of the device. Refer to Devices topic for valid values. Max configured topology for each device
resourcetype Use "daqmx" for devices configured under NI-DAQmx Devices in MAX or "legacy" for devices configured under Traditional NI-DAQ (Legacy) Devices in MAX. daqmx

For example, use the following string to set an NI SCXI-1127 as a 2-wire 32x1 multiplexer configured in MAX under DAQmx Devices:

"DriverSetup=topology:1127/2-Wire 32x1 Mux;resourcetype:daqmx"

The DriverSetup string is particularly important when using NI-SWITCH through the IviSwtch class driver.

To enable simulation, set simulate equal to 1 and specify the switch module and topology of the switch module to simulate. The following string enables simulation for an NI SCXI-1127 configured as a 2-wire 32x1 multiplexer.

"Simulate=1, DriverSetup=topology:1127/2-Wire 32x1 Mux"

If simulate is set to 1 and the DriverSetup string specifies a topology, the topology is used to determine which device to simulate. If the DriverSetup string does not specify a topology, the device specified in resource name is simulated.

vi ViSession A particular NI-SWITCH session established with niSwitch_InitWithTopology, niSwitch_InitWithOptions, or niSwitch_init and used for all subsequent NI-SWITCH calls.