Back to Aurora Vision Library website

You are here: Start » Function Reference » Hardware Support » National Instruments » DAQmx_SetDigitalChannel

DAQmx_SetDigitalChannel


Header: ThirdPartySdk.h
Namespace: avl
Module: ThirdParty

Sets array of values to a digital channels.

Syntax

void avl::DAQmx_SetDigitalChannel
(
	DAQmx_SetDigitalChannelState& ioState,
	atl::Optional<const atl::String&> inDeviceID,
	avl::DAQmxTaskID inTaskID,
	atl::Optional<int> inTimeout,
	const atl::Array<bool>& inValues,
	atl::Conditional<avl::DAQmxTaskID>& outTaskID
)

Parameters

Name Type Default Description
Input will be modified ioState DAQmx_SetDigitalChannelState& Object used to maintain state of the function.
Input value inDeviceID Optional<const String&> NIL Device alias, product name or a serial number
Input value inTaskID DAQmxTaskID ID of task to write sample to
Input value inTimeout Optional<int> NIL Time (in milliseconds) to wait for the function to set sample
Input value inValues const Array<bool>& Values to write to channel
Output value outTaskID Conditional<DAQmxTaskID>& ID of a created task

Remarks

Device driver software

This filter is intended to cooperate with digital I/O cards using its vendor driver software. To be able to connect to a card it is required to install NI-DAQmx driver software. Currently Aurora Vision Studio requires NI-DAQmx version 23.3.

NI-DAQmx driver software can be downloaded from the following website: https://www.ni.com/pl-pl/support/downloads/drivers/download.ni-daq-mx.html#480879.

Device identification

When there is only one device connected to computer, inDeviceID field can be set to Auto. In this situation first available device will be found and connected.

inDeviceID can be used to pick one of multiple devices connected to computer. Set this field to Device alias (for example "Dev1"), product name or serial number. This parameters should be available in Measurement & Automation Explorer.

Multithreaded environment

This function is not guaranteed to be thread-safe. When used in multithreaded environment, it has to be manually synchronized.

See Also