数据分析系统的交互界面设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据分析系统的交互界面设计
摘要:针对位置敏感探测器件构成的数据分析系统,借助开发工具及mfc消息映射机制,实现系统交互界面的设计。界面通过对串口通信和usb通信方法的研究,利用按钮控件实现并控制上下位机数据通信;数据传输处理之后,以文本和模拟坐标两种方式显示出光斑的位置,并利用文件保存光斑位置的历史信息。系统调试结果证明:该界面能够准确直观地显示数据分析系统的相关数据,实现与用户的友好交互,与其他同类型界面相比,提供了各种型号探测器件的相应处理,具有较强的适用性。
关键词:数据分析系统;交互界面;mfc;串口通信;usb通信
中图分类号:tp393 文献标识码:a 文章编号:1009-3044(2013)12-2798-04
目前在激光准直、测角、自动跟踪等精密光电检测系统中,探测目标位置的连续变化已经变得非常重要。位置敏感探测器(position sensitive detector,psd)是对入射到光敏面上的光斑能量中心位置敏感的光电感应器件,可以利用少数几个输出光电信号的相对程度来计算位置信息。由其构成的数据分析系统具有位置分辨率高、响应速度快等特点[1];四象限探测器(four-quadrant photodetector,qpd)通过比较四个象限的电流来确定光斑中心在二维平面上的位置坐标,其数据分析系统可以探测目标位置的连续变化,具有位置分辨率高、响应速度快、调节方便等特点[2-3]。该文在对光电位置敏感器件构成的数据分析系统研究的基础上,开
发了一套上位机软件界面。该上位机软件交互界面设计了供用户选择位置敏感器件型号及输入系统修正参数的窗口,通过对串口通信和usb通信方法的研究,设置了上下位机通信控制部分,同时,设计了光斑中心位置数据文本直观显示、模拟坐标绘制、历史信息保存模块,及设备状态显示模块。软件功能全面、界面友好、操作直观、方便,且适用于其他型号的位置敏感器件数据分析系统中。
1 开发工具简介
visual c++ 6.0拥有强大的功能和友好的界面,能为用户提供一个良好的可视化开发环境,它将程序和资源的编辑、编译、调试和运行融为一体,且提供了大量的程序开发工具。mfc是它一个庞大的类库,实现了标准的用户接口,提供了管理窗口、菜单、对话框的代码,可实现基本的输入/输出和数据存储,为用户开发windows 应用程序建立了一个非常灵活的应用程序框架[4]。
在mfc中对消息的处理利用了消息映射的方法,该方法的基础是宏定义实现,通过宏定义将消息分派到不同的成员函数进行处理。因此,在这种机制的支持下,mfc具有强大的消息处理能力[5]。借助vc++提供的软件代码自动生成可视化资源编辑的功能及mfc 消息映射机制,可以很便捷地开发上位机软件交互界面。
2 交互界面设计
上位机软件交互界面包括供用户选择位置敏感器件型号及输入相应修正参数的窗口部分,上下位机通信控制部分,数据/设备状态显示部分。
2.1 供用户选择输入的窗口设计
利用下拉式列表框控件提供供用户选择位置敏感器件型号的窗口。通过给其连接变量m_type,利用m_type.addstring()函数为列表框添加选项,m_type.selectstring(-1,“hy1315(active area 1.3*15mm)”)函数添加默认选项。软件通过m_type. getcursel()函数获得用户的选择,完成相应量程及坐标轴范围的改变及显示。利用编辑框控件提供用户输入增益及修正系数的窗口,以完善数据处理[6]。
2.2 上下位机通信控制模块设计
上下位机通信控制模块是数据分析系统实时数据采集的核心部分。设计中采用了串口通信和usb通信两种方式进行数据采集与传输。其中,串口通信用于测试,usb通信用于实际数据传输。
图1 usb通信流程图
2.2.1 串口通信控制部分
利用单选按钮控件提供串口号选择窗口,通过函数getcheckedradiobutton()获取串口号。通过按钮控制串口设备的状态,按钮交互的实现,通过mfc类向导对按钮按下时,触发消息bn_clicked进行拦截,并重写对应的消息处理函数on*button (),在函数中完成相应按钮的功能。串口控制区中,“open”、“close”按钮对应的函数在获取用户选择的串口号后,分别完成对应串口的打开及关闭功能;“start”、“stop”按钮通过控制参数
m_spstop控制串口通信的开始与否。借助串口类成员函数oncomm ()实现接收字符及相应数据处理的功能[7]。
2.2.2 usb通信控制部分
usb通信接口具有即插即用的特点,方便与微处理器进行联机通信,同时usb的通信效率要远远高于rs232、rs485等通信接口。usb通信控制部分通过按钮控制数据传输,根据用户选定的位置敏感器件型号,进行相应的数据处理。通信程序流程图如图1所示。
“start”“link”按钮通过标志位m_openflag控制设备是否连接。
和“stop”按钮通过标志位m_stop控制数据接收与否。“suspand”按钮通过参数m_pause控制数据传输的暂停和继续,当按下该按钮时,按钮改变为“continue”字样,同时通过调用invalidate()函数使整个客户区无效,这时windows会在应用程序的消息队列中放置wm_paint消息,mfc为窗口类提供了其消息处理函数onpaint ();当再次按下该按钮时,onpaint()函数负责重绘窗口,从而重新进行数据传输。
上下位机的数据通信通过直接调用ch375dll.dll动态链接库实现。ch372是一款usb总线的通用设备接口芯片,是芯片ch375的功能简化版,硬件成本更低,且完全兼容ch375,可以直接使用其wdm驱动程序和动态链接库。ch372在计算机端提供了应用层接口,即由动态链接库dll提供的面向功能应用的api,包括:设备管理api、数据传输api及中断处理api。设备管理api包含了打开设备函数ch375opendevice(),关闭设备函数ch375closedevice();