Returns a session handle used to identify the switch module in all subsequent instrument driver calls.
niSwitch_init 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.
By default, the switch module is reset to a known state.
An error is returned if a session to the specified resource exists in another process. The same session is returned if niSwitch_init 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:
Configured in MAX Under
Valid Syntax
Devices and Interfaces
DeviceName
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"
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)
Resets the device.
VI_FALSE
Currently unsupported. The device will not reset.
vi
ViSession
A particular NI-SWITCH session established with niSwitch_InitWithTopology, niSwitch_InitWithOptions, or niSwitch_init and used for all subsequent NI-SWITCH calls.
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.
!Note
Note When initializing an NI SwitchBlock device with topology, you must specify the topology created when you configured the device in MAX, using either Configured Topology or the topology string of the device. Refer to Initializing with Topology for NI SwitchBlock Devices) for information about determining the topology string of an NI SwitchBlock device.
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:
Configured in MAX Under
Valid Syntax
Devices and Interfaces
DeviceName
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"
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:
Attribute
Attribute String Name
Default Value
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 string 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 of the switch module. This attribute can contain config token/value pairs within it.
The topology of the device. Refer to Devices) topic for valid values. You can also set the value of the topology config token to Configured Topology to specify the last topology that was configured for the device in MAX.
Max configured topology for each device
resourcetype
Use "daqmx" for devices configured under NI-DAQmx 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:
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.
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.
Returns a session handle used to identify the switch module in all subsequent instrument driver calls and sets the topology) of the switch module.
niSwitch_InitWithTopology creates a new IVI instrument driver session for the switch module specified in the resourceName parameter. The driver uses the topology specified in the topology parameter and overrides the topology specified in MAX.
!Note
Note When initializing an NI SwitchBlock device with topology, you must specify the topology created when you configured the device in MAX, using either NISWITCH_TOPOLOGY_CONFIGURED_TOPOLOGY or the topology string of the device. Refer to Initializing with Topology for NI SwitchBlock Devices) for information about determining the topology string of an NI SwitchBlock device.
By default, the switch module is reset to a known state.
Enable simulation by specifying the topology and setting the simulate parameter to VI_TRUE.
Parameters
Name
Type
Description
resourceName
ViRsrc
Resource name of the switch module to initialize.
Syntax:
Configured in MAX Under
Valid Syntax
Devices and Interfaces
DeviceName
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"
PXI0::16
PXI bus 0, device number 16
PXI::16
PXI bus 0, device number 16
topology
ViConstString
Pass the topology name you want to use for the switch you specify with the resourceName parameter. You can also pass NISWITCH_TOPOLOGY_CONFIGURED_TOPOLOGY to use the last topology that was configured for the device in MAX.
Note To determine the names of the supported topologies for your switch device, expand the Devices book, and select the switch module you are using from the Contents tab of this help file. In the device overview, the Operation Modes table(s) lists all supported topology and software names for the switch module.
simulate
ViBoolean
Enables simulation of the switch module specified in the resourceName parameter.
Value
Description
VI_TRUE
Simulate
VI_FALSE (default)
Do not simulate
resetDevice
ViBoolean
Specifies whether to reset the switch module during the initialization process.
Value
Description
VI_TRUE (default)
Reset device
VI_FALSE
The device will not reset.
Note The first call to niSwitch_InitWithTopology, after you reboot your computer, will reset the hardware. This is the only case when the Reset flag is not honored.
vi
ViSession
A particular NI-SWITCH session established with niSwitch_InitWithTopology, niSwitch_InitWithOptions, or niSwitch_init and used for all subsequent NI-SWITCH calls.
Related Information
Initialization
Programming Flow
Topologies
niSwitch_close
Specific Function
C Function Prototype
ViStatus niSwitch_close (ViSession vi);
Purpose
Terminates the NI-SWITCH session and all of its attributes and deallocates any memory resources the driver uses.
Note You must unlock the session before calling niSwitch_close. After calling niSwitch_close, you cannot use the NI-SWITCH again until you call niSwitch_init or niSwitch_InitWithOptions.
Parameters
Name
Type
Description
vi
ViSession
A particular NI-SWITCH session established with niSwitch_InitWithTopology, niSwitch_InitWithOptions, or niSwitch_init and used for all subsequent NI-SWITCH calls.