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

载入中...
搜索中...
未找到
查看配置任务参数
常规任务流程图

注解
  简洁用法：读取任务名称、读取任务通道、读取采样率
  1.读取任务名称，读取任务属性"Name",使用函数： VkDaqGetTaskAttribute
  2.读取任务通道，读取任务属性"Channels",使用函数：VkDaqGetTaskAttribute
  3.读取采样率，读取任务属性"SamplingFrequency",使用函数：VkDaqGetTaskAttribute
  支持两种方式获取详细的配置信息，但都需要解析JSON格式
  方式一的步骤：
  1.打开助手，进入创建常规任务界面
  2.导出常规任务
  3.用文本格式打开
  4.解析JSON格式，得到配置信息
  方式二的步骤：
  1.读取任务属性："Detail"，使用函数： VkDaqGetTaskAttribute
  2.解析JSON格式，得到配置信息

助手导出常规任务配置JSON数据示例

键名 | 数据类型 | 参数说明
--- | --- | ---
`task_name` | `String` | 任务名 举例：TestTask
`task_transmission_mode` | `String` | 传输模式： online:在线采集模式
`offline_task_args` | `String` | 暂时不支持
`task_io_mode` | `String` | 采集卡模式： input:输入模式，进行ADC采集 output:输出模式,进行DAC输出
`task_related_devices` | `String` | 任务相关的硬件设备 举例：dev1 备注：一个任务可支持多个设备
`feature_channel_list` | `String Array` | 任务相关的设备通道与通道配置 备注：一个任务可支持多个设备的不同通道
`device_name` | `String` | 通道配置里，该通道对应的硬件设备名
`channel_name` | `String` | 通道配置里，该通道的通道名称
`feature_name` | `String` | 通道配置里，该通道的物理测量类型 voltage:电压 current:电流 accel:加速度 fullbridge:全桥
`feature_channel_args` | `String Array` | 通道配置里，该通道的具体参数 备注:不同的物理测量类型，有不同的参数
`terminal_config` | `int` | 通道配置里，该通道的输入端子配置 0:单端输入 1:差分输入
`min_value` | `int` | 通道配置里，该通道的期望测量最小值
`max_value` | `int` | 通道配置里，该通道的期望测量最大值
`unit` | `int` | 通道配置里，该通道的单位. "voltage"模式下： 0：V "current"模式下 0：A 1：mA "accel"模式下 0: mV/g、mV/N. 1: m/s^2. 2: in/s^2. 4: V.
`sensitivity` | `int` | 通道配置里，该通道的灵敏度
`task_clock` | `String Array` | 任务采样时钟配置
`source` | `int` | 时钟源 0: 内部时钟. 1: 外部同步脉冲. 2: 主从模式.
`sample_rate` | `int` | 采样率
`sample_mode` | `int` | 采样模式 0:连续采集 1:N采集
`sample_count` | `int` | N采集模式的N点数
`task_trigger` | `String Array` | 任务触发配置
`trigger_type` | `Sttring` | 触发类型 "none": 无触发 "analog_edge": 模拟触发 digital_edge: 数字触发
`trigger_edge` | `int` | 触发边沿 0: 下降沿 1: 上升沿 2: 低电平 1: 高电平
`trigger_level` | `double` | 触发水平 模拟触发的条件下，有效
`pretrigger_sample_size` | `int` | 负延时采集点数 触发后，需要采集的在触发前的点数

C语言参考
#include <stdio.h>
#include "libvkdaq.h"
#define TASKNAMEMAX 4096
#define VkDaqErrChk(functionCall) if( VkDaqFailed(error=(functionCall)) ) goto Error; else
int main(void)
{
char taskNames[TASKNAMEMAX];
char firstTask[TASKNAMEMAX];
int32 error = 0;
// Read the current configured task name
VkDaqErrChk(VkDaqGetTasks(taskNames,TASKNAMEMAX));
printf("taskNames: [%s]\n",taskNames);
// Select the first task read
comma = strchr(taskNames, ',');
size_t len;
if (comma == NULL) {
len = strlen(taskNames);
}
else {
len = (size_t)(comma - taskNames);
}
if (len >= sizeof(firstTask)) {
len = sizeof(firstTask) - 1;
}
memcpy(firstTask, taskNames, len);
firstTask[len] = '\0';
printf("firstTask= %s\n", firstTask);
// Optional: Read the properties of the current task.
// 1. String types: trigger type, sampling rate, number of channels, input type.
// 2. Detailed configuration of JSON format tasks
VkDaqErrChk(VkDaqGetTaskAttribute(firstTask, "Attributes", TaskConfigValue, TASKNAMEMAX));
printf("Attributes= %s\n", TaskConfigValue);
VkDaqErrChk(VkDaqGetTaskAttribute(firstTask, "Name", TaskConfigValue, TASKNAMEMAX));
printf("Name= %s\n", TaskConfigValue);
VkDaqErrChk(VkDaqGetTaskAttribute(firstTask, "Channels", TaskConfigValue, TASKNAMEMAX));
printf("Channels= %s\n", TaskConfigValue);
VkDaqErrChk(VkDaqGetTaskAttribute(firstTask, "ChannelsAvailable", TaskConfigValue, TASKNAMEMAX));
printf("ChannelsAvailable= %s\n", TaskConfigValue);
VkDaqErrChk(VkDaqGetTaskAttribute(firstTask, "Mode", TaskConfigValue, TASKNAMEMAX));
printf("Mode= %s\n", TaskConfigValue);
VkDaqErrChk(VkDaqGetTaskAttribute(firstTask, "SamplingFrequency", TaskConfigValue, TASKNAMEMAX));
printf("SamplingFrequency= %s\n", TaskConfigValue);
VkDaqErrChk(VkDaqGetTaskAttribute(firstTask, "Detail", TaskConfigValue, TASKNAMEMAX));
printf("Detail= %s\n", TaskConfigValue);
Error:
if (VkDaqFailed(error))
printf("VkDaq Error: %s\n", VkDaqGetLastErrorInfo());
printf("End of program, press Enter key to quit\n");
getchar();
return 0;
}
VkDaqGetTaskAttribute
int32_t VkDaqGetTaskAttribute(const char *task, const char *attrName, char attrValue[], int32_t size)
获取任务属性值
VkDaqGetTasks
int32_t VkDaqGetTasks(char tasks[], int32_t size)
获取任务
VkDaqGetLastErrorInfo
const char * VkDaqGetLastErrorInfo(void)
获取最后一次执行的错误信息