1.引言
继电器作为一种自动控制系统常用的元件,测试继电器的数量和种类都很大,而运用人工记录这些数据查询起来会非常费力,因此本文为大家介绍一种用LabVIEW软件制作的一款继电器测试数据查询系统,可以快速的解决从大量的测试数据中寻找符合条件的继电器的问题,还可以将查询结果打印出来。
2.访问数据库的解决办法
由于LabVIEW本身并不具备数据库访问功能,常用解决方法如下:
1)利用其他语言如VC++编写DLL程序访问数据库,再利用LabVIEW所带的DLL接口-调用库函数节点CLFN(CallLibraryFunction Node)访问该程序。
2)利用NI公司的附加工具包LabVIEWSQLToolkit进行数据库操作。
3)利用LabVIEW的ActiveX功能,调用Microsoft ADO控件,利用SQL语言实现数据库访问。
4)利用LabVIEW开发的LabVIEW数据库访问工具包LabSQL.
这里我们采用第四种方法。
3.LabsaL简介
LabSQL是众多用户合作、开发的免费的、多功能的、跨平台的LabVIEW数据库访问工具包,支持windows操作系统中任何基于ODBC的数据库,比如:Access,SQLSever,Oracle,Pervasive,Sybase等。按照其功能的不同,划分为Command,Conncetion和Recordset三个模板和可直接调用SQL顶层的三个子VIs,在每个模板中,都由多个不同的子Vl组成,供用户调用,具体如下:
(1)Command模板中的子VIs完成一系列基本ADO的操作,如创建或删除一个Command,对数据库中的某一参数迸行读写等。各子程序模块ADO Command Create.vi、ADO CommandDestroy.vi等。
(2)Connection模板中的子VIs管理LabVIW与数据库之倒的链接。各子程序模块如图19所示,在本论文中,主要用到Create Comn、Open Comn、Close Comn等子VIs.
(3)Recordset模板中的子VI用于对数据库中的记录进行各种操作,如创建或删除-条记录,对纪录中的某一条目进行读写等。
(4)TOP Level VIs是顶层的LabSQL应用,是对前二种LabSqL V Is某些应用功能的封装,如图1所示,它以3个独立的子VIs形式存在。例如,SQL Execute.VIs可用于直接执行SQL命令,SQL FatchD ata(GetString)。vi是对字符的查询,而SQL FetchData.vi用于对数据的查询,这里的数据不包括前面的字符。
4.功能的实现
LabVIEW软件的一个显着的优点,就是它能够由计算机来完成显示、存储、打印及微处理器控制管理等,即无论任何功能的仪器都可利用或共享计算机的这些公共资源,而无需重复的设计。考虑到Access适合开发中小型管理信息系统,对于数据库最终用户MicrosoftAccess提供了许多便捷的可化操作工具:如表生成器、查询设计器、窗体设计器、报表设计器等)和向导(如表向导、窗体向导、查询向导、报表向导等),而且利用这些工具和向导不用编程即可构造简单实用的管理信息系统,相应的开发周期短。因此,在这里采用MicrosoftAccess建立数谢库,来实现数据的存储和查询功能。
4.1 几个重要的SQL查询命令语句
在数据库管理软件的开发过程中,虽然利用了LahSqL工具包,但不司避免地要用到简单的SQL查询命令语句。在开发的过程。经常用到的SQL语句有以下几种。
1)数据查询。在SQL语句中使用SELECT可以对数据进行查询,一般格式如下:SELECT<查询内容>FROM<表或视图>WHERE<条件>ORDERBY<列名>.开发时结合软件前面板的控件SQL语句表示为:
查询某表中全部测试结果记录语句SElECT*FROM所要操作的表(表名从选择所要操作的表控件得到)单项查询的SQL语句为:SELECT* FROM所要操作的表WHERE操作字段 操作条件操作条件值组合查询的SQL语句为:SELECT* FROM所要操作的表 WHERE操作字段 操作条件 操作条件值and操作字段2操作条件2 操作条件值22)删除记录。删除记录的SQL语句格式为:DELETE FROM<表名>WHERE<条件>.本文中对查询结果进行删除的SQL语句:DELETE FROM所要操作的表WHERE主键字段名=鼠标所指行条件值4.2 连接数据库模块的实现
(1)LabSQL的配置。首先在Access中创建
名为l.mdb的数据库。将所需要的各种表单创建好,然后在Windows ODBC数据源中创建数据库的数据源名称DSN,再将数据源中的数据库路径指向1.md b时,将Acces韵用户与组权限全部打开,这样IabSQL即可访问1.mdb.
(2)建立与数据库的连接。在LabSQL的Connection VI s模块中选用ADO ConnectionCreate.vi创建一个Connection对象,然后用ADO Connection Open.vi建立与数据库的具体连接。其中在ADO Connection Open.vi的连接字符串Connectio.string输入动态连字符:Provider=Microsoft.Jet.OLEDB.4.0:Data Sour.e=e:1.mdb:Persist SecurityInfo=FalSE.这个过程的实质是建立一个向当前打开的数据库指针,用这个指针对已经打开的数据库进行各种操作。图2为其实现的框图程序。
4.3 数据库操作模块的实现
关于数据库操作方面的内容是非常丰富的,如查询、添加记录、修改记录、删除记录等数据需求,本文只讨论数据庠的基本上的操作即删除、查询和查询记录扣印,在数据库已经建立好连接后,要实现对数据厍的操作一般通过以下步骤:
(1)建立与记录集(Rccordset)对象的连接井实现对数据库的具体操作,使用CommandText属性定义命令(如SQL语句)的可执行文本。
(2)使用Execute方法执行命令并在适当的时候返回RecordSet对象。
(3)将Command对象传送给Recordset的Source属性以便获取数据。利用在这里关键是LabSQL查询语句的编写,将相关的LabSQL查询命令写在属性节点Commad Text中。
(4)查询结果的显示。在Top Level VIs模块中选用SQL Fentch Data(CetString)。VI获得查询结果,并将查询结果送至前面板窗口中表格显示控件中显示。
记录打印系采用LabVIEW本身自带的控件,通过Initialize Report.vi(报衷初始化),Append Table toReport.vi(将查询结果加入报表),Print.vi(打印报表)来实现。
5.结论
基于LabVIEW的继电器测试数据查询系统界面友好、操作简单、维护方便,具有较高的实际应用价值。