现在我采集两个压力箱的压力值,每个压力箱有32组数据。有时只采集一个压力箱,这是可选的。采集得到的数据需要显示在同一个STRIPCHART上,当只显示一个压力箱时,是对的。但同时显示两个,曲线明显不对。请问什么原因呢。附部分代码- double dadisplay[32]={0,};
- if(strstr(clientInfoPtr->name,Clientname1)!= NULL) //判断是不是压力箱一的数据
- {
- channelnum();
- for(i=0;i<32;i++)
- {
- strncpy(dataObtain,dataBuf+i*6,6) ;//每六位取上传的字符串数据
- dataw=strtod(dataObtain,NULL);//转换数据格式
- SetCtrlVal (mainpanel,aa[i],dataw);//给面板控件赋值,显示
- dadisplay[i]=dataw;//数据存入数组
-
- }
- SetCtrlAttribute(mainpanel, MAINPANEL_STRIPCHART,ATTR_NUM_TRACES,32);
- PlotStripChart(mainpanel, MAINPANEL_STRIPCHART,dadisplay,32,0,0,VAL_DOUBLE);画曲线
- }
- else
- {
- channelnum2();
- for(i=0;i<32;i++)
- {
- strncpy(dataObtain,dataBuf+i*6,6) ;//取上传的字符串数据
- dataw=strtod(dataObtain,NULL);//转换数据格式
- SetCtrlVal (mainpanel,aa[i],dataw);//给面板控件赋值,显示
- dadisplay[i]=dataw;//数据存入数组
-
- }
- SetCtrlAttribute(mainpanel, MAINPANEL_STRIPCHART,ATTR_NUM_TRACES,32);
- PlotStripChart(mainpanel, MAINPANEL_STRIPCHART,dadisplay,32,0,0,VAL_DOUBLE);画曲线
- }
复制代码 是不是因为两个同时在一个控件里画,影响曲线显示啊。还有一点是,曲线的纵坐标如何自动适应显示曲线的上下限啊,因为显示曲线的范围比较大。 |