第23章 听力计控制软件
第23章 听力计控制软件 • 23.1 软件背景 • 23.2 系统的总体架构 • 23.2.1 听力计软件事件状态机结构介绍 • 23.2.2 事件状态机难点分析 23.1 软件背景 • 听力计是为测试聋人的听力障碍的具体程度,以 便助听器验配人员根据听力计测试的结果来对助 听器进行编程,让聋人的耳朵对听力的敏感度和 舒适度达到一个最适应的阶段。佩戴助听器可以 提高声源定位能力、言语理解能力和降噪,增强 双耳响度整合效应,避免迟发性听觉剥夺效应, 延缓听神经功能衰退。因此听力计的控制软件准 确与否攸关聋人的“听力大业”,这些人士的平时 生活的方便程度与听力计的控制软件更是息息相 关。 23.1 软件背景 • 早前的听力计控制软件运行缓慢,随着不同的操 作需要在各个不同的页面之间不停地切换,操作 繁琐,一般的验配人员需要经过一段时间的培训 才能上岗正式验配。因此创建一个简单、人性化 操作的听力计软件就变得尤为迫切。 • 这个软件是登录系统、记录客户资料、测试、保 存数据一体的自动化测试软件,可避免在各个页 面之间进行切换,切换之后还需重新进行配置的 烦恼。 23.2.1 听力计软件事件状态机结构介绍 • 听力计软件工程的整体架构 : 开始 搜索仪器 配置测试条件提取客户资料 自动测试 记录数据 23.2.1 听力计软件事件状态机结构介绍 • 听力计控制软件界面 23.2.2 事件状态机难点分析 • 本例子中用的大框架是事件结构,首先对面板上 的所有用户事件按操作性质进行分类,对于测试 的功能配置可以列为在同一类中,在同一个事件 结构中对它们进行编程,根据控件的标签文本进 行区分,这样可以避免过多的重复劳动。 23.3 串口通信 • 23.3.1 利用VISA进行通信结构 • 23.3.2 判断数据 • 23.3.3 延时设置 23.3.1 利用VISA进行通信结构 • 在听力计该软件中,对于数据的不间断采集程序 放置于超时结构中 ,此刻就无需对串口重新进 行配置。而根据该仪器的通信协议的描述可以知 道,只有在仪器的配置需要改变的时候,PC机 才对仪器进行写操作,在其他时刻,PC机到一 直为读取状态。因此在该软件中,超时结构仅仅 需要的是串口读操作。 23.3.2 判断数据 • 在本节的开始,已经提过如果数据量大,应如何 进行判断。在一般的串口通信中,可以采用加地 址码和校验码,校验码一般有CRC校验和LRC 校验。在读取到串口数据之后对地址码进行判断 ,这样首先判断仪器的通信对象是正确的;接着 对数据进行CRC、LRC或利用自己设计的其他 方式进行判断,这样可以判断读取到的数据是否 正确。可以根据自己的实际应用来编写这样的程 序。 23.3.3 延时设置 • 在串口通信的过程中,一个需要重点考虑的是写 串口和读串口之间的延时设置。如果设置过短了 ,读取到的数据长度不够;设置过长了,刚开始 的时候通信都很正常,高亮状态下的通信也正常 ,如果在仪器正常工作的情况下,过一段时间后 ,就会发现软件不回应,那是数据堵住的状况, 串口返回的数据太多,而软件读取的速度太慢, 串口缓存区的数据没有被取走,因而造成串口操 作软件不回应。 23.4 实时数据库连接 • 23.4 实时数据库连接 • 23.4.1 数据库操作的结构 • 23.4.2 数据库操作的具体实现 23.4 实时数据库连接 • LabVIEW的应用场合最多的是数据采集,因此 总避免不了要保存数据。在LabVIEW中保存数 据的方式有多种:Excel格式、TXT格式、XML 、数据库格式。Excel格式有大小的限制,它最 多只能容65535行数据;TXT格式看得不直观 ……用的比较多的数据保存方式是数据库,可以 分门别类,而且存储容量比较大。 23.4.1 数据库操作的结构 • 数据库编程流程为:配置数据源→打开数据库连 接→数据库操作→关闭数据库连接。该听力计控 制软件中的数据库操作的前面板如下图; 23.4.2 数据库操作的具体实现 • Retrieve All Data布尔按钮被按下之后,从所连 接的数据库中获取所有的数据,具体程序框图如 下图所示。 23.4.2 数据库操作的具体实现 • 当Retrieve only Failure按钮被按下之后,程序 执行字段pass_fail=‘Fail’的记录被提取出来,程 序框图如下图所示 23.4.2 数据库操作的具体实现 • 当按钮Sort按下之后,程序根据Order和Sort By 来决定是按照升序还是降序,以及是否按照 Operator、Date_Time等来做关键字排序。将数 据库中字段pass_fail为Fail的记录提出如下图; 23.4.2 数据库操作的具体实现 • 当Export All Data to XML 按钮被按下之后,程 序将数据导出并转换成XML文件保存。SQL语句 “select * from table_name;”执行将记录数据全部 取出,“DB Tools Save Recordset To File.vi”执 行将记录数据保存到文件中,如下图所示。 23.5 小结 • 虚拟仪器技术给仪器控制的面貌带来了极大的改 观,LabVIEW开发仪器控制软件的优点主要体 现在以下几个方面。 • 大幅度地缩小开发周期,提高了开发的质量。 • 能够立即显示测试结果,自动保存数据,生成验 配报告。 • 极大地提高了测试的效率,降低了测试的成本。