虚拟仪器设计与应用CVI复习资料Word文档下载推荐.docx
- 文档编号:22584740
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:17
- 大小:99.92KB
虚拟仪器设计与应用CVI复习资料Word文档下载推荐.docx
《虚拟仪器设计与应用CVI复习资料Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《虚拟仪器设计与应用CVI复习资料Word文档下载推荐.docx(17页珍藏版)》请在冰豆网上搜索。
if((panelHandle=LoadPanel(0,"
sfeef.uir"
PANEL))<
0)
DisplayPanel(panelHandle);
RunUserInterface();
DiscardPanel(panelHandle);
return0;
}
intCVICALLBACKQuitCallback(intpanel,intcontrol,intevent,
void*callbackData,inteventData1,inteventData2)
switch(event)
{
caseEVENT_COMMIT:
QuitUserInterface(0);
break;
}
intCVICALLBACKKaishi(intpanel,intcontrol,intevent,
if(t==0)
MessagePopup("
错误"
"
电源没开"
);
else
SetCtrlAttribute(panelHandle,PANEL_TIMER,ATTR_ENABLED,0);
intCVICALLBACKTime(intpanel,intcontrol,intevent,
caseEVENT_TIMER_TICK:
timer++;
SetCtrlVal(panelHandle,PANEL_NUMERICGAUGE,timer);
if(timer==20)
{timer=0;
SetCtrlAttribute(panelHandle,PANEL_TIMER,ATTR_ENABLED,0);
}
intCVICALLBACKDianyuan(intpanel,intcontrol,intevent,
GetCtrlVal(panelHandle,PANEL_BINARYSWITCH,&
t);
SetCtrlVal(panelHandle,PANEL_LED,t);
设计一窗口闪烁程序,使其每0.5秒闪烁一次。
表3-1主要控件基本属性列表
控件类型
ConstantName
属性设置
面板
Panel
PANEL
命令按钮
CommandButton
QUITBUTTON
CallbackFunction
QuitCallback
Lable
__Quit
双态按钮
ToggleButton
TOGGLEBUTTON
FlashCB
InitialState
off
控制按钮
定时器控件
Timer
TIMER
FlashTimerCB
Interval(seconds)
0.5
wyf.h"
#include<
windows.h>
staticintpanelHandle;
inthwnd;
wyf.uir"
hwnd=GetCVIWindowHandle();
intCVICALLBACKFlashCB(intpanel,intcontrol,intevent,
{intp;
GetCtrlVal(panelHandle,PANEL_TOGGLEBUTTON,&
p);
SetCtrlAttribute(panelHandle,PANEL_TIMER,ATTR_ENABLED,p);
intCVICALLBACKFlashTimerCB(intpanel,intcontrol,intevent,
FlashWindow((HWND)hwnd,1);
表2-1添加控件的基本属性列表
SAVE
SaveCB
__Save
LOAD
LoadCB
__Load
设计波形发生器,将产生的波形数据存储到文件中,并能够从文件中回读显示(要求用ANSIC库stdio.h中的文件打开和读写函数)。
ansi_c.h>
doubledatapoints[100];
intCVICALLBACKSaveCB(intpanel,intcontrol,intevent,
{size_tnum;
FILE*fp;
{
fp=fopen("
test.dat"
"
wb"
);
/*为输出打开一个二进制文件*/
num=fwrite(datapoints,sizeof(double),100,fp);
/*写文件*/
fclose(fp);
/*关闭文件*/
intCVICALLBACKLoadCB(intpanel,intcontrol,intevent,
{
inti;
doubledata[100];
charfileName[MAX_PATHNAME_LEN];
i=FileSelectPopup("
"
.dat"
VAL_LOAD_BUTTON,0,0,1,0,fileName);
if(i==1)
{
size_tnum;
FILE*fp;
fp=fopen(fileName,"
rb"
num=fread(data,sizeof(double),100,fp);
fclose(fp);
DeleteGraphPlot(panelHandle,PANEL_GRAPH,-1,VAL_IMMEDIATE_DRAW);
PlotY(panelHandle,PANEL_GRAPH,data,100,VAL_DOUBLE,VAL_FAT_LINE,VAL_EMPTY_SQUARE,VAL_SOLID,1,VAL_RED);
}
intCVICALLBACKxiao(intpanel,intcontrol,intevent,
{inti;
inttrace_color,shape;
if(event==EVENT_COMMIT){
GetCtrlVal(panelHandle,PANEL_RINGSLIDE,&
shape);
switch(shape){
case0:
for(i=0;
i<
100;
i++)
datapoints[i]=50*sin((((2*3.1415926536)/100)*i))+50;
break;
case1:
33;
datapoints[i]=33.0;
for(i=33;
67;
datapoints[i]=67.0;
for(i=67;
case2:
25;
i++){
datapoints[i]=i*4;
datapoints[i+25]=100-(i*4);
datapoints[i+50]=i*4;
datapoints[i+75]=100-(i*4);
}
case3:
datapoints[i]=rand()/32767.0*100.0;
GetCtrlVal(panelHandle,PANEL_COLORNUM,&
trace_color);
DeleteGraphPlot(panelHandle,PANEL_GRAPH,-1,VAL_IMMEDIATE_DRAW);
PlotY(panelHandle,PANEL_GRAPH,datapoints,100,VAL_DOUBLE,VAL_THIN_LINE,VAL_EMPTY_SQUARE,VAL_SOLID,1,trace_color);
编写一个函数发生器,要求:
能够通过用户界面选择产生正弦波、三角波、锯齿波、方波等函数波形用曲线图控件绘制用户选择的波形
表4-1主要控件的基本属性列表
曲线图控件
Graph
GRAPH1
波形显示
下拉列表控件
Ring
WAVEFORM
WaveFormChoose
Label
波形选择
Label/Value
Pairs
无
Value
正弦波
1
三角波
2
锯齿波
3
方波
4
analysis.h>
staticintpanelHandle,type=100,index=50,delay=30,width=10;
staticintn=2000,tablesize=100,t;
doublep=0.0,waveTable[100],x[2000];
doubleamphase=1.0,f=0.001,amp=5.0,first=1.0,last=100.0;
intCVICALLBACKboxingxuanze(intpanel,intcontrol,intevent,
GetCtrlVal(panelHandle,PANEL_BOXINGXUANZE,&
switch(t)
DeleteGraphPlot(panelHandle,PANEL_BOXINGXIANSHI,-1,VAL_IMMEDIATE_DRAW);
break;
SinePattern(type,amp,0.0,2,waveTable);
Triangle(type,amp,waveTable);
case3:
SawtoothWave(type,amp,0.02,&
p,waveTable);
case4:
Pulse(type,amp,delay,width,waveTable);
{if(t)
DeleteGraphPlot(panelHandle,PANEL_BOXINGXIANSHI,-1,VAL_IMMEDIATE_DRAW);
PlotY(panelHandle,PANEL_BOXINGXIANSHI,waveTable,type,VAL_DOUBLE,VAL_THIN_LINE,VAL_EMPTY_SQUARE,VAL_SOLID,1,VAL_RED);
在本实验中,我们制作两数值型控件,当一控件值改变时,点击命令控件,另一控件值也随之改变。
同时,设计另一命令控件,当点击它时即可退出用户接口界面。
ConstantName
面板Panel
数值控件Numeric
NUMERICGAUGE
NUMERICTANK
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 虚拟仪器 设计 应用 CVI 复习资料