Эта тема перечисляет адаптер и передающие потоком функции, которые должны быть реализованы для каждого этапа и операции времени жизни сеанса.
Обнаружение устройств выполняется с функцией daq.getDevices
. Реализуйте следующие функции адаптера для этой задачи.
Функции адаптера | Примечания |
---|---|
initImpl enumerateDevicesImpl commitDevicesImpl getOrderOfChannelAdditionImpl | Устройства — Идентифицируют устройства для драйвера. |
enumerateSubsystemsImpl commitSubsystemsImpl | Подсистемы устройства — Повторный для каждого устройства. |
enumerateChannelsImpl commitChannelsImpl | Каналы подсистемы — Повторный для каждой подсистемы каждого устройства. |
getChannelGroupIndexImpl | Индекс канала — Повторный для каждого канала каждой подсистемы. |
getVendorInfoImpl getDriverVersionImpl | Информация о поставщике — Получает информацию поставщика и информацию о драйвере. |
getDeviceInfoImpl getFirmwareVersionImpl | Информация об устройстве — Получает информацию об устройстве. Повторенный для каждого устройства. |
getSubsystemsOfTypeImpl getMeasurementTypesImpl getDefaultMeasurementTypeImpl getCouplingsImpl getDefaultCouplingImpl getSampleTypesImpl getDefaultSamplingTypeImpl getNativeDataTypeImpl getRateLimitImpl getResolutionImpl getTerminalConfigsImpl getRangesAvailableForTerminalConfigImpl getRangesAvailableForTerminalConfigImpl getDefaultTerminalConfigImpl isOnDemandOperationSupportedImpl getChannelNamesImpl | Аналоговый вход — Повторный для каждого устройства с подсистемой аналогового входа. |
getSubsystemsOfTypeImpl getMeasurementTypesImpl getDefaultMeasurementTypeImpl getNativeDataTypeImpl getRateLimitImpl getResolutionImpl getTerminalConfigsImpl getRangesAvailableForTerminalConfigImpl getDefaultTerminalConfigImpl isOnDemandOperationSupportedImpl getChannelNamesImpl | Аналоговый выход — Повторный для каждого устройства с подсистемой аналогового выхода. |
getSubsystemsOfTypeImpl getMeasurementTypesImpl getDefaultMeasurementTypeImpl getRateLimitImpl isOnDemandOperationSupportedImpl getDigitalChannelTypesImpl getChannelNamesImpl | Цифровой вход / Вывод — Повторный для каждого устройства с цифровым входом / выходная подсистема. |
Управления конфигурацией сеанса, какие устройства и настройки канала вы используете для ввода данных и выводите. Для каждой из следующих функций сеанса сбора данных реализуйте соответствующие функции адаптера.
Функция сеанса | Функции адаптера | Примечания |
---|---|---|
addChannelImpl getGroupRateLimitsImpl setRateImpl getRateImpl | Повторенный для каждого канала, добавленного к сеансу. | |
removeChannel |
removeChannelImpl getGroupRateLimitsImpl | |
|
unreserveChannelGroupImpl setRateImpl getRateImpl | Установите сеанс значение свойства |
inputSingleScan |
inputSingleScanImpl | |
outputSingleScan |
outputSingleScanImpl | |
prepare |
isDeviceAvailableImpl reserveChannelGroupImpl | |
release |
unreserveChannelGroupImpl |
При потоковой передаче использования DAQStream возражает для передачи данных между сеансом и драйвером устройства. Настройка сеанса необходима, чтобы поддержать потоковую передачу.
Реализуйте следующие функции для адаптера или потоковых объектов, как обозначено в примечаниях.
Функция сеанса | Исходные функции | Примечания |
---|---|---|
queueOutputData | Никакая функция потока адаптера. | |
makeStream initialize terminate configureStream unconfigureStream registerCallbacks unregisterCallbacks prestart start stop getNumInputScansAvailable getNumScansOutputByHardware getOutputBufferSize flushOutputBuffer isDeviceDone read write readWrite | Реализованный в коде daqstream* . Смотрите Ссылку Потокового API и Передающий Диаграммы последовательности потоком. | |
stop |
stop | Функция сеанса используется для остановки фоновой работы. |
Функция сеанса | Функции адаптера | Примечания |
---|---|---|
daqreset |
releaseChannelsImpl | Повторенный для всех каналов. |
releaseSubsystemsImpl | Повторенный для всех подсистем. | |
releaseDevicesImpl | Повторенный для всех устройств. | |
termImpl | Оконечные сеансы. |