如何在在stipchart控件中显示多条曲线
我是新手,头一次用labwindows不是很懂,请大家不吝赐教!我用NI的USB6008做数据采集,用的是DAQ助手,有5个通道,2个电压,3个电流,不知道怎么把它们显示到一个stipchart控件中,或者分开显示到2个stipchart控件中?
我用了PlotStripChart (int Panel_Handle, int Control_ID, void *Y_Array, int Number_of_Points, int Starting_Index, int Skip_Count, int Y_Data_Type);这个函数,但是不明白int Number_of_Points是什么意思,应该怎么用? 如果显示五条曲线,定义:
double data;
data=曲线1的一个点;
data=曲线2的一个点;
。。。
PlotStripChart(panelHandle,PANEL_STRIPCHART,data,5,0,0,VAL_DOUBLE);
Number_of_Points:表示要绘制几个点,五条曲线则要同时绘制5个点(因为stripchart默认每次绘制一个点)。
回复 2# netcreature 的帖子
首先谢谢斑竹,我有些明白了。还有一个问题,我在用daq助手时,可不可以用一个函数DAQmxReadAnalogF64来同时读入5个通道的数据,然后用一个PlotStripChart吧5条曲线显示出来,我的部分源程序,帮忙看一下对不?
int CVICALLBACK sample (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
//如果NI-DAQmx任务不存在,则执行以下代码
if (taskHandle <= 0)
{
//在工程中创建一个NI-DAQmx任务句柄
CreateDAQTaskInProject(&taskHandle);
//打开定时器
SetCtrlAttribute (panelHandle, PANEL_TIMER, ATTR_ENABLED, 1);
}
break;
}
return 0;
}
int CVICALLBACK timer (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
int32 samplesread;
float64 readarray;
switch (event)
{
case EVENT_TIMER_TICK:
//进行数据采集
DAQmxReadAnalogF64 (taskHandle, DAQmx_Val_Auto, 10.0, DAQmx_Val_GroupByChannel, readarray, 5*1000, &samplesread, 0);
//将采集到的数据绘制在Strip Chart控件上
if( samplesread>0 )
PlotStripChart (panelHandle, PANEL_STRIPCHART, readarray, 5*samplesread, 0, 0, VAL_DOUBLE);
break;
}
return 0;
回复 2# netcreature 的帖子
我用的是NI的USB6008的DAQ助手 第一、你这样的程序肯定绘制不出五条曲线,stripchart控件是逐点绘制,readarray这样定义则表示要绘制5000条曲线!5*samplesread?!如果要绘制五条曲线,Number_of_Points就是5!第二、我没用过NI USB6008的DAQ助手,你最好将DAQmxReadAnalogF64()函数原型即参数说明发上来。
回复 5# netcreature 的帖子
谢谢版主!Reads multiple floating-point samples from a task that contains one or more analog input channels.
原型
int32 DAQmxReadAnalogF64 (TaskHandle Task_Handle, int32 Samples_Per_Channel, float64 Timeout, bool32 Fill_Mode, float64 Read_Array[], uInt32 Array_Size_In_Samples, int32 *Samples_Per_Channel_Read, bool32 *Reserved); 还是不懂,哎 受教 知道了很多东西
页:
[1]