VC++图形例子(7页).doc
《VC++图形例子(7页).doc》由会员分享,可在线阅读,更多相关《VC++图形例子(7页).doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-VC+图形例子-第 7 页7.1.4 设计任务利用Visual C+编写应用程序实现PCI-1710HG多功能板卡模拟量输入:1以间隔或连续方式读取电压测量值,并以数值或曲线形式显示电压测量变化值;2当测量电压小于或大于设定下限或上限值时,程序画面中相应指示灯变换颜色。7.1.5 任务实现使用研华板卡编程之前必须首先安装研华设备管理程序Device Manager和32bit DLL驱动程序。同时研华提供ActiveDAQ控件,供VB等可视化语言对其板卡编程使用。(一)利用ActiveDAQ控件实现模拟量输入1 建立工程1)启动Microsoft Visual C+6.0,单击“开发环境”的
2、“文件”菜单中的“新建”命令,以显示新建对话框,然后选择“MFC AppWizard(exe)”类型,输入需要创建工程的名称“AI”和目录。2)按照弹出的应用向导对话框依次填写,第1步选择基于对话框,其他均采用默认。3)单击“完成”,将会弹出一个关于新工程信息的对话框,如图7-2所示。单击“确定”按钮。这样MFC向导便自动生成了一个名称为“AI”的工程。图7-2 工程AI生成界面2 资源创建1)应用程序中添加了一个对话框资源IDD_AI_DIALOG,打开属性对话框,将对话框标题改为“模拟电压采集”,字体设为10。2)为了实现模拟量输入,添加DAQAI控件。选择“工程”菜单中的“增加到工程”命
3、令下的“Components and Controls”选项,在弹出的对话框中双击“Registered ActiveX Controls”项,选择“Advantech ActiveDAQ AI Control”项,单击“插入”按钮,在弹出的对话框中单击“确定”按钮,再在弹出的对话框中单击“确定”按钮关闭对话框,所选择的控件就会出现在“控件工具栏”中,然后将其添加到对话框中相应位置。3)删除对话框中原来的“确定”按钮和Static文本,用编辑器为对话框添加如下表7-2所示的控件。表7-2 对话框的控件类型、ID及相关属性控件类型ID 号标 题属 性功 能图像IDC_picture默认矩形,白色
4、绘图区静态文本默认采样个数:默认采样电压个数标签静态文本默认当前电压值:默认采样电压值标签编辑框IDC_EDIT1默认显示采样电压个数编辑框IDC_EDIT2默认显示当前采样电压值静态文本默认下限指示灯:默认报警指示灯标签静态文本默认上限指示灯:默认报警指示灯标签静态文本默认V默认电压单位V标签图像IDC_STATIC1框架,灰色显示圆形下限报警指示灯区域图像IDC_STATIC2框架,灰色显示圆形上限报警指示灯区域按钮IDC_BUTTON1板卡设置默认设置板卡命令按钮IDC_BUTTON2间断采集默认间断采集电压命令按钮IDC_BUTTON3连续采集默认连续采集电压命令按钮IDCANCEL关
5、闭程序默认关闭程序命令DAQAIIDC_DAQAICTRL1程序中设置板卡模拟量输入控件设计的程序界面如图7-3所示图7-3 程序界面设计。4)添加成员变量,在“查看”菜单中或在对话框上单击鼠标右键,打开“建立类向导”的Member Variables标签,选中所需的控件ID号,双击鼠标或单击Add Variables按钮,依次为表7-3中所列控件增加成员变量。表7-3 成员变量控件ID号变量类型变量名IDC_DAQAICTRL1CDAQAIm_daqaiIDC_EDIT1floatm_cygsIDC_EDIT2floatm_dyz5)切换到“建立类向导”的Message Maps标签页或在对
6、话框中双击每一个按钮,为按钮“板卡设置”,“间断采集”,“连续采集”,“关闭程序”分别添加ON_BN_CLICKED消息响应函数OnButton1(),OnButton2(),OnButton3(),OnCancel();为CAIDlg添加时钟WM_TIMER消息响应函数OnTimer()。3函数代码实现1)在AIDlg.cpp文件的开始处,增加全局变量,代码如下:/ CAboutDlg dialog used for App AboutCRect conRect;float data1000; /存放采样数据int num=0;/数值个数2)在AIDlg.cpp文件中,设置初始化函数OnIn
7、itDialog(),添加代码实现对话框各控件的初始化工作,代码如下:BOOL CAIDlg:OnInitDialog() /VC自动生成的代码/ TODO: Add extra initialization here GetDlgItem(IDC_BUTTON2)-EnableWindow(false); /设置间断采集按钮无效 GetDlgItem(IDC_BUTTON3)-EnableWindow(false); /设置连续采集按钮无效GetDlgItem(IDCANCEL)-EnableWindow(false); /设置关闭程序按钮无效return TRUE; / return TR
8、UE unless you set the focus to a control3)实现板卡设置按钮、间断采集按钮、连续采集按钮、关闭程序按钮相应的消息响应函数OnButton1(),OnButton2(),OnButton3(),OnCancel()。代码如下:void CAIDlg:OnButton1() /板卡设置按钮设置/ TODO: Add your control notification handler code herem_daqai.SelectDevice(); /为DAQAI设置,选择设备m_daqai.OpenDevice(); /打开模拟量输入端口m_daqai.Se
9、tCyclicMode(true); /循环方式采集数据m_daqai.SetStartChannel(0); /通道号0m_daqai.SetSampleRate(500); /采样频率m_daqai.SetDataType(0); /返回值类型 GetDlgItem(IDC_BUTTON2)-EnableWindow(TRUE); /设置间断采集按钮有效 GetDlgItem(IDC_BUTTON3)-EnableWindow(TRUE); /设置连续采集按钮有效 GetDlgItem(IDCANCEL)-EnableWindow(TRUE); /设置关闭程序按钮有效void CAIDlg
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC 图形 例子
限制150内