ART系列采集卡的数据采集上传

采集程序的要求

信号

1.输出电压Vout

2.电感电流 IL

3.磁芯温度 Tcore

4.PWM 信号

软件控制

1.采集模式:间歇采样。

2.间隔:每 1 秒触发一次。

3.时长:每次采集 1 ms。

采集卡驱动

现在只能确定是ART系列的PXIe9750A采集卡,他们还没有采购

ART系列采集卡程序

CFET库里cfet2daqessential\DaqDevices\ArtDAQAI有相关的采集程序 需要配置文件

// ExampleAI仅用于测试采集程序是否正常,不依赖实际采集设备,测试若成功会在指定位置生成假数据
{
  "CardType": "ART",		// 固定
  "TriggerConfig": {
    "TriggerType": 1,		// 触发类型。当作为主卡时,0表示程序内部触发,2表示外部触发。当作为从卡时必为1
    "TriggerSource": "PXI_Trig0",		// 触发源。主卡是"APFI0",从卡是"PXI_Trig0"
    "Delay": 0.0,	// 建议固定。触发后延迟多久开始采集
    "MasterOrSlave": 2	// 1为主卡,2为从卡,0为没有主从。注意没有主从时相当于主卡,别的配置按主卡设
  },
  "ClockConfig": {
    "SampleMode": 0,		// 采样方式。0为有限采样,1为无限采样
    "SampleRate": 1000000.0,	// 采样率,即每秒采样点数
    "Length": 5000		// 总采样点数。和采样率一起可以确定采样时间
  },
  "ChannelConfig": {
    "ChannelName": "Dev1/ai0:15",	// ai0:15为通道名,这里表示0-15这16个连续通道。Dev1为在阿尔泰官方APP查到的物理卡名
    "ChannelCount": "16",	// 通道总数。必须和ChannelName的对应,防止设置错误
    "MinimumValue": 0.0,	// 通道采样最小值,一般都是0
    "MaximumValue": 10.0	// 通道采样最大值,一般都是10
  },
  "StartTime": 0.0,		// 建议固定。存到数据文件中的采集开始时间
  "AutoWriteDataToFile": true,		// 建议固定。是否将采集数据写到数据文件。有限采集为true;无限采样点不太多就行,否则为false
  "DataFileParentDirectory": "C:\\Data\\art\\card1",		// 采集数据文件存放的文件夹。注意Windows下的一个\需要两个\
  "RemainShotsMax": 30,	// 采集数据文件在本地保留的炮号上限。超过这个数会删掉较早的一些数据
  "RemainShotsMin": 20,	// 本地删完数据后剩下的炮号数量。上面的30和这里的20表示本地超过30炮会删10炮剩下20炮
  "Enable": true	// 采集卡是否生效。一般固定为true,不使用则设为false。
}

主要采集方法

public void Arm(BasicAIStaticConfig StaticConfig)
{
    try{
        createTask();
        configChannel(StaticConfig.ChannelConfig);
        configClock(StaticConfig.ClockConfig);
        configTrigger(StaticConfig.TriggerConfig);
        callback = onStartRunning;
        configEvent(true);
        if(isMaster) Thread.Sleep(3000);// 立即触发时,需要在调用时确保主卡最后tryarm
        changeStatus(Status.Ready);
        startTask(); //开始任务
        readData();
    }
    catch(Exception ex){
        Console.WriteLine("FAIL: " + ex.Message);
        changeStatus(Status.Error);
    }
}

数据的上传和我之前的热成像thing数据上传的过程一样


本文章使用limfx的vscode插件快速发布