2.2.5 测试软件的开发

选择LabVIEW9.0作为软件开发平台,采用研华PCI-1711L数据采集卡,可以在较短时间内充分利用研华板卡功能和资源,编写强大的数据处理和图形显示软件。

(1)软件模块组成

液压试验台测试系统软件包含的功能强大,包括参数设置、用户登录、数据采集、与PLC通信、与转速转矩采集仪通信、信号处理和分析、数据和波形显示、数据和波形保存及打印。根据上面要实现的功能种类可以把软件划分为几个模块,包括参数设置模块、用户登录模块、数据采集模块、与PLC通信模块、显示及操作模块、数据存储模块等,如图2-18所示。

图2-18 功能模块结构框图

(2)测试系统软件流程

根据该系统要实现的功能,软件操作流程如图2-19所示。该流程具体的实现过程为,打开测试系统软件,进入系统登录界面,输入用户名和密码,若用户名和密码正确则进入采集系统,否则退出采集系统。进入该系统后用户对系统参数进行设定,参数设定包括转速转矩采集仪通信参数设定、传感器标定系数设定、更改用户名和密码,转速转矩采集仪通信参数设定包括串口和波特率,传感器系数标定就是对应的传感器量程;参数设定好后用户应进行试验登录,试验登录包括用户基本信息、试验概况、环境参数、被测设备选择、备注信息;用户登录后选择试验项目,然后开始采集,采集过程的数据自动保存为Txt格式的文档,试验完成后用户可以自主选择是否需要保存试验报告。

图2-19 软件操作流程

(3)主程序模块

主程序模块包括数据显示及工具操作。主程序模块分为主界面和各独立试验分支界面,主界面显示所有的采集参数,工具栏自定义能实现参数设置、用户登录、数据采集、与PLC通信、与转矩仪通信、信号处理和分析、数据和波形显示、数据和波形保存及打印基本功能。

本系统是连续工作并且需要多任务同时执行,在数据采集的同时要进行数据处理、数据显示、数据存储等,并且要接受来自键盘和鼠标的输入,这就是系统的多任务进程。

多任务是指一个程序同时执行多个流程。现代的芯片处理器采用分时处理。芯片在执行分时处理时把系统程序划分为很小的时间片段,每个时间片段执行不同的程序。

在Windows系统环境下多任务分为多线程和多进程。多进程是指Windows系统允许在内存或一个程序中同时存在多个程序并且在内存中可以允许存在多个副本。进程有自己的内存、文件句柄或者其他系统资源的运行程序。单个线程可以包含独立的执行路径。在Windows操作系统下,每个线程被分配不同的CPU时间片,在某个时刻,CPU只执行一个时间片内的线程,多个时间片中的相应线程在CPU内轮流执行,由于每个时间片的时间很短,所以对用户来说仿佛各个线程在计算机中是并行处理的。

如果程序只存在一个主线程,所有的处理函数都放在主线程中,则当程序需要停止时,会出现程序响应很慢,甚至停不下来的情况。这是因为系统开始工作后CPU的占用率很高,而窗口发出的停止消息优先级较低,而使消息被挂起,得不到执行。因此程序设计时应把数据采集放在一个单独的线程中。当程序启动时,主线程开始工作,随后启动工作线程。当程序需要停止时,通过给主线程发送消息以改变状态参数,从而使数据处理过程停止。

为了保证系统采集的精度和速率,利用多线程技术实现数据采集和数据处理,数据采集和与PLC通信一直在主程序中运行,数据存储和处理、用户登录、参数设置线程由用户在主程序中调用。主程序组成框图如图2-20所示,根据上述功能完成的主界面如图2-21所示。

自动程序流程如图2-22所示。

图2-20 主程序组成框图

图2-21 采集主界面

图2-22 自动程序流程

(4)数据库应用

数据库技术已经广泛应用于数据管理和数据共享。著名的数据库管理系统有SQL Server、Oracle、DB2、Sybase ASE、Visual ForPro、Microsoft Access 等。数据库访问接口种类也有很多,包括DAO、ODBC、RDO、UDA、OLE DB、ADO等。

Microsoft Access 是在 Windows 环境下非常流行的桌面型数据库管理系统,它作为 Microsoft Office 组件之一,是一个功能比较齐全的数据库管理软件,能够管理、收集、查找、显示以及打印商业活动或者个人信息。Access支持多种类大信息量的数据,微软已经做好了普通数据库管理的初始工作,安装和使用都非常方便,并且支持 SQL语言,所以本项目采用Access数据库。

①DSN链接数据库 LabVIEW 数据库工具包基于 ODBC(Open Database Connectivity)技术。如图2-23所示,在使用ODBC API 函数时,需要提供数据源名 DSN(Data Source Names)才能链接到实际数据库,所以需要首先创建 DSN。

图2-23 基于ODBC技术的LabVIEW数据库工具包

②UDL链接数据库 Microsoft设计的ODBC标准只能访问关系型数据库,对非关系型数据库则无能为力。为解决这个问题,Microsoft 还提供了另一种技术:Active数据对象ADO(ActiveX Data Objects)技术。ADO是Microsoft提出的应用程序接口(API)用以实现访问关系或非关系数据库中的数据。ADO使用通用数据链接 UDL(Universal Data Link)来获得数据库信息以实现数据库链接。

由于使用 DSN链接数据库需要考虑移植问题,把代码发布到其他机器上时,需要手动重新建立一个DSN,工程复杂,可移植性不好,故选择UDL链接数据库。