VC++16通道数据采集系统 - 图文(6)

2019-04-23 12:43

{

max=m_caiji1;

m_max1=max;

UpdateData(FALSE); // 采集最大值显示部分

min=m_caiji1;

if(min>=m_caiji1) { }

m_min1=min;

UpdateData(FALSE); // 采集最小值显示部分

3.3.6 按钮控件控制模块

按钮控件主要分为开始采集和停止采集两部分,通过控制这两部分可以有效地控制数据的输入及采集的时间,本例以通道一控制部分为例,其软件流程图如图3.3.6所示:

停止数据采集 点击停止按钮 开始数据采集 点击采集按钮 }

图 3.3.6

各控件的赋值声明如表3.3.7所示:

- 25 -

表 3.3.7

控件ID IDC_BUTTON1 IDC_BUTTON2 实现代码如下:

备注 开始采集 停止采集 void CPage1::OnButton1() // 单击开始采集按钮 {

// TODO: Add your control notification handler code here

CButton* theradio = (CButton*) GetDlgItem(IDC_RADIO1); bool check1=theradio->GetCheck();

if(check1==TRUE) // 是否选择该通道 {

SetTimer(1,1000,NULL); // 如果是,每秒触发一次时钟脉冲 m_volt1=5000;

m_temp1=20;

UpdateData(FALSE); }

/********************************************************/

void CPage1::OnButton2() // 单击停止采集按钮

{

// TODO: Add your control notification handler code here }

KillTimer(1); // 停止一事件的采集

}

3.3.7 采集系统标题及时间显示模块

该模块主要为完善用户界面而设置的,各控件的赋值声明如表3.3.7所示:

表 3.3.7

- 26 -

控件ID IDC_STATIC1 IDC_STATIC2 实现代码如下:

void CMy16View::OnInitialUpdate() {

CFormView::OnInitialUpdate(); GetParentFrame()->RecalcLayout(); ResizeParentToFit(); CFont * f; // 字体类型自定

备注 标题显示控件 时间显示控件 GetDlgItem(IDC_STATIC1)->SetFont(f);

//IDC_STATIC1是静态文本框的ID

CFont * h; // 字体类型自定

GetDlgItem(IDC_STATIC2)->SetFont(h);

//IDC_STATIC2是静态文本框的ID SetTimer(1, 1000, NULL); }

/********用于文本框中的时间显示*********/ void CMy16View::OnTimer(UINT nIDEvent) {

// TODO: Add your message handler code here and/or call default

// TODO: Add your message handler code here and/or call default

CTime time = CTime::GetCurrentTime();

m_ShowNowTime = time.Format(\ UpdateData(FALSE);

CFormView::OnTimer(nIDEvent); }

- 27 -

3.3.8 数据通道切换模块

按照任务要求需要设计16个通道,考虑到界面设计的美观性及客户性,本设计中采用了tab控件按钮,通过四部分来实现,每个按钮对应一个在对话框,在每个子对话框上布有四个通道,通过切换各按钮可以显示所对应的各通道子对话框,各子对话框的类名分别为CPage1,CPage2,CPage3,CPage4,Tab控件按钮所对应的成员名为m_tab,通道切换实现代码见附录1所示。 其软件流程图如图3.3.8所示:

确认选择 通道选择 选择通道范围 预选通道

图 3.3.8

- 28 -

结 论

1 本课题结论

随着电子计算机的广泛应用,社会的数字化程度越来越高,数据采集也越来越重要,本系统为多通道USB总线数据采集系统,可用于电压、电流、温度等信号的实时采集、观察等场合。该基于USB总线的数据采集系统具有可靠性高、数据不丢失、抗干扰性强,便于数据传输和处理等优点,有良好的应用前景和很大的实用价值。

USB是一种IT行业新发展起来的通用接口标准,目前很多应用主要集中在PC机的外设和一些消费类电子上。其实,作为一种通用型串行总线标准,USB不仅仅适用于IT行业,它的应用空间很广泛,完全可以使用在不同的领域和行业。特别是由于USB的使用简单、即插即用、热插拔、开放性、高速、稳定、可靠性高等优点,它特别适用于仪器仪表、虚拟仪器、数据采集、数据采集设备、监控设备和加密设备等等场合。

2 研究工作的不足

尽管所设计的系统在功能上能够大致满足基本要求,但其功能的实现方式与所要求的方式却存在一定的差距。一方面主要是因为自己在VC掌握的层面上有一定的欠缺,只能对其基本功能基本代码进行操作与实现,一旦碰到复杂功能的实现便无从下手。另一方面主要在资料的收集方面存在一定的困难,不能或者很少能够找到相关的资料信息及应用相关资料信息能力的有限程度。正如在绘制实时动态曲线的显示的方式,我所采用的方式是逐点移动式,与曲线的推进式绘制方式不同,其实后者在显示上更能表现采集数据的动态显示特征,更直观、明确,唯一的缺憾就是其实现过程比较复杂,所以没有选择这种方法,取而代之的是采用了第一种方式来实现的,该方式虽然在技术层面上不如第二种方式,但其编程

的可靠性,易实现性,简明性则更好的为后面代码功能的实现提供了可靠的保证。

另一个不足之处在于框图的美化设计上有待于进一步的完善,主要在于控件按钮的布局及属性的选择,及界面色彩方案的选择上。相信做好这一点,能够更好地实现系统框图的个性化,人性化及客户性要求。

- 29 -


VC++16通道数据采集系统 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:(CORELDRAW)课程标准

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: