| libvkdaq VKINGING 数据采集库 API 文档 |

载入中...
搜索中...
未找到
函数
读取函数
libvkdaq函数接口

## 函数
int32_t | VkDaqGetTaskData (const char *task, double dat[], int32_t sampsPerChan, int32_t fillmode, double timeout)
| 获取任务数据

## 详细描述

## 函数说明

## ◆ VkDaqGetTaskData()

int32_t VkDaqGetTaskData | ( | const char * | task,
|  | double | dat[],
|  | int32_t | sampsPerChan,
|  | int32_t | fillmode,
|  | double | timeout
| ) |  |

获取任务数据

数据类型 | 参数 | 说明
--- | --- | ---
`const char*` | `task` | 任务名.
`double[]` | `dat[]` dat | 任务数据缓冲区，它的大小必须大于或等于通道数 x sampsPerChan.
`int32_t` | `sampsPerChan` | 每个通道要读取的样本数.
`int32_t` | `fillmode` | 指定样本是否交错. 0: 按扫描次数分组(交错). 1: 按通道分组(非交错)
`double` | `timeout` | 等待函数读取样本的时间(以秒为单位，double类型，可以设置一秒以内).

返回
  成功时, 返回值 >= 0,表示每个通道实际读取到的样本数.
  例如：每个通道要读取的样本数(sampsPerChan)为1000，通道数为8。提供的任务数据缓冲区(dat[])大小必须≥1000*8。运行成功返回 1000（实际采样数），数据已写入缓冲区
  失败时, 返回为负值的错误编号.获取详细信息,请调用 VkDaqGetLastErrorInfo

C语言参考
#include <stdio.h>
#include "libvkdaq.h"
int main(int argc, char* argv[])
{
const char* task = "task1";
float64 data[1000];
int32_t result = VkDaqCreateTask(task);
result = VkDaqCreateAIVoltageChan(task, "dev1/AIN1", "", VkDaq_Val_SingleEnded, -10.0, 10.0, VkDaq_Val_Volts, "");
result = VkDaqCfgSampClkTiming(task, VkDaq_Val_ClkSrc_OnBoardClk, 10000, VkDaq_Val_Rising, VkDaq_Val_FiniteSamps, 1000);
result = VkDaqStartTask(task);
result = VkDaqGetTaskData(task, data, 1000, VkDaq_Val_GroupByChannel, 1);
if (result >= 0) {
printf("Acquired %d samples.\n", result);
printf("Successful\n");
}
else {
printf("Failed\n");
}
return 0;
}
VkDaqCreateAIVoltageChan
int32_t VkDaqCreateAIVoltageChan(const char *task, const char *chans, const char *reserved1, int32_t terminalConfig, double minVal, double maxVal, int32_t units, const char *reserved2)
创建AI电压通道
VkDaqCreateTask
int32_t VkDaqCreateTask(const char *task)
创建任务
VkDaqStartTask
int32_t VkDaqStartTask(const char *task)
开始任务
VkDaqGetTaskData
int32_t VkDaqGetTaskData(const char *task, double dat[], int32_t sampsPerChan, int32_t fillmode, double timeout)
获取任务数据
VkDaqCfgSampClkTiming
int32_t VkDaqCfgSampClkTiming(const char *task, int32_t source, double samplingFrequency, int32_t reserved, int32_t sampleMode, int32_t sampsPerChanToAcquire)
设置采样时钟的来源、采样时钟的速率以及要采集或生成的采样数