libvkdaq
VKINGING 数据采集库 API 文档
 
载入中...
搜索中...
未找到
连续离线存储
注解
步骤:
1.创建任务 VkDaqCreateTask
2.创建模拟输出通道 VkDaqCreateAIAccelChan
3.设置采样时钟 VkDaqCfgSampClkTiming
4.开始离线任务 VkDaqStartOfflineTask
5.停止任务 VkDaqStopTask
6.清理任务 VkDaqClearTask



连续离线存储流程图示例

C语言参考

#include <stdio.h>
#include "libvkdaq.h"
#define VkDaqErrChk(functionCall) if( VkDaqFailed(error=(functionCall)) ) goto Error; else
int main(void)
{
TaskHandle taskHandle = "VkDaqTaskHandle";
float64 data[1000];
int64 total = 0;
int32 error = 0;
int32 read = 0;
// VkDaq Configure Code
VkDaqErrChk(VkDaqCreateTask(taskHandle));
VkDaqErrChk(VkDaqCreateAIVoltageChan(taskHandle, "dev1/AIN1", "", VkDaq_Val_SingleEnded, -10.0, 10.0, VkDaq_Val_Volts, ""));
VkDaqErrChk(VkDaqCfgSampClkTiming(taskHandle, VkDaq_Val_ClkSrc_OnBoardClk, 10000, VkDaq_Val_Rising, VkDaq_Val_ContSamps, 0));
// VkDaq Start Code
VkDaqErrChk(VkDaqStartOfflineTask(taskHandle, VkDaq_Val_SaveFormat_CSV,20,0));
printf("Start Offline successful...\n");
Error:
if (VkDaqFailed(error))
printf("VkDaq Error: %s\n", VkDaqGetLastErrorInfo());
if (taskHandle != 0) {
// VkDaq Stop Code
VkDaqStopTask(taskHandle);
VkDaqClearTask(taskHandle);
}
printf("End of program, press Enter key to quit\n");
getchar();
return 0;
}
int32_t VkDaqClearTask(const char *task)
清除任务
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电压通道
int32_t VkDaqCreateTask(const char *task)
创建任务
int32_t VkDaqStartOfflineTask(const char *task, uint32_t saveFormat, uint32_t saveTime, uint32_t timeInterval)
开始离线任务
int32_t VkDaqStopTask(const char *task)
停止任务
const char * VkDaqGetLastErrorInfo(void)
获取最后一次执行的错误信息
int32_t VkDaqCfgSampClkTiming(const char *task, int32_t source, double samplingFrequency, int32_t reserved, int32_t sampleMode, int32_t sampsPerChanToAcquire)
设置采样时钟的来源、采样时钟的速率以及要采集或生成的采样数