libvkdaq
VKINGING 数据采集库 API 文档
 
载入中...
搜索中...
未找到
连续输出任意波形

函数

int32_t VkDaqSetTaskStreamData (const char *task, const double dat[], int32_t sampsPerChan, int32_t fillmode, int32_t autoStart, int32_t stopAt, double timeout)
 设置任务数据
 

详细描述

函数说明

◆ VkDaqSetTaskStreamData()

int32_t VkDaqSetTaskStreamData ( const char *  task,
const double  dat[],
int32_t  sampsPerChan,
int32_t  fillmode,
int32_t  autoStart,
int32_t  stopAt,
double  timeout 
)

设置任务数据

数据类型 参数 说明
const char* task 任务名(字符串类型,例如 "Task1")。
const double[] dat[] 任务数据缓冲区(double 数组指针)。
int32_t sampsPerChan 每个通道要写入的样本数(整数类型)。
int32_t fillmode 数据排列方式:
0: 交错(按扫描次数分组)
1: 非交错(按通道分组)
int32_t autoStart 波形输出控制:
0: 不输出波形
1: 输出波形
int32_t stopAt 波形停止控制:
0: 停止时,输出电压为0V
1: 停止时,输出电压为当前电压
double timeout 超时时间(单位:秒,double 类型,支持亚秒级精度,例如 0.5 表示 500 毫秒)。

返回
成功时, 返回值 >= 0
失败时, 返回为负值的错误编号.获取详细信息,请调用 VkDaqGetLastErrorInfo

C语言参考

#include <stdio.h>
#include "libvkdaq.h"
int main() {
const char* task = "task1";
double dat[1000];
int32_t sampsPerChan = 1000;
int32_t fillmode = 0;
int32_t autoStart = 1;
int32_t stopAt = 0;
double timeout = 1;
double dat[1000];
for (int i = 0; i < 1000; i++) {
dat[i] = 1.0;
}
int32_t result = VkDaqSetTaskStreamData(task, dat, sampsPerChan, fillmode, autoStart, stopAt, timeout);
if (result >= 0) {
printf("Successful\n");
}
else {
printf("Failed\n");
}
return 0;
}
int32_t VkDaqSetTaskStreamData(const char *task, const double dat[], int32_t sampsPerChan, int32_t fillmode, int32_t autoStart, int32_t stopAt, double timeout)
设置任务数据