技术创新中文核心期刊《微计算机信息》(测控自动化)2007 年第23 卷第11-1 期360元/年邮局订阅号: 82-946 《现场总线技术应用 200 例》 传感器与仪器仪表LabVIEW访问 Access数据库的研究 The Study of LabVlEW Accessing to Access Database (贵州大学)贾海朋 彭嫚张正平 贺松JIA HAIPENG PENG MAN ZHANG ZHENG PING HE SONG 摘要:本文介绍了在 LabVIEW 环境下, 利用 NI 公司的附加工具包中的数据库接口工具包 LabVIEW SQL Toolkit 进行 Access 数据 库访问的方法.该方法易于理解, 操作简单. 关键词:LABVIEW; 数据库; 虚拟仪器 中图分类号:TP391 文献标识码:B Abstract:The paper introduces a method of acessing to Microsoft Access by using LabVIEW SQL Toolkit of NI corporation' s addi- tional toolkit under the background ofLabVIEW.This method is easy to understand and the operation is simple. Key words:LabVIEW , database, Virtual Instrument 文章编号:1008- 0570(2007)11- 1- 0102- 02 引言 虚拟仪器 VI 是NI 公司在其产品 LabVIEW 中首先提出的 创新概念.它是以计算机为硬件工作平台, 用计算机的显示器 来模拟替代传统仪器的显示面板, 利用现代计算机技术、 信号控 制技术来实现信号的采集、 分析、 运算和处理.不管是传统的还 是虚拟的仪器, 它们的功能都是采集数据并进行分析处理, 然后 显示处理的结果.它们之间的不同主要体现在灵活性方面.虚 拟仪器由用户自己定义功能, 可以自由地组合计算机平台、 硬件、 软件以及完成应用系统所需要的各种功能.另外, 虚拟仪器 开发周期短、 成本低、 维护方便, 易于应用新理论和新技术实现 仪器的换代升级.通常采用的虚拟仪器一般由传感器、 数据采 集卡、 计算机等硬件组成. LabVIEW 是美国 NI 公司的图形化编 程语言, 它是专门的虚拟仪器开发环境, 运用它可以方便快捷地 构建虚拟仪器, 搭建虚拟仪器工作平台. 现代的测试测量系统大多数需要对被测对象进行全方位检 测.这必然会使获取的数据量急剧增长.面对大量的数据信息, 采用数据库技术, 可准确反映各类数据之间的密切联系, 能够 有效地管理和组织数据, 是现代测试测量系统的发展趋势.但 是现有的 LabVIEW 版本本身并不具备数据库访问功能, 不能 像VB、 VC++、 Delphi、 PowerBuilder 那样非常方便的进行数据库 程序的开发. 因此以 LabVIEW 编制的虚拟仪器系统需要其它辅 助的方法来进行数据库访问. 1 在LabVIEW 中访问数据库几种方式 (1)利用 NI 公司的附加工具包中的数据库接口工具包 Lab- VIEW SQL Toolkit 进行数据库访问. 该工具包集成了一系列的高级功能模块, 这些模块封装了 大多数的数据库操作和一些高级的数据库访问功能.它的优点 是易于理解, 操作简单, 用户可以不学习 SQL 语法.缺点是需要 另外购买且价格昂贵, 无疑会增加系统成本. (2)通过第三方开发的免费工具包 LabSQL 访问. LabSQL 利用 Microsoft ADO 以及 SQL 语言来完成数据库访问, 将复杂的底层 ADO 及SQL 操作封装成一系列的 LabSQL Vis, 简单易用. (3)利用 LabVIEW 的ActiveX 功能, 调用Microsoft ADO 对象, 利用 SQL 语言实现数据库的访问. 使用这种方法需要用户对 Microsoft ADO 以及 SQL 语言有 较深的了解. (4)通过调用动态链接库 DLL 访问. 先利用其它语言如 Visual C++编写 DLL, 再利用 LabVIEW 的调用库函数节点 CLFN(CalIing Library Function Node)调用此 DLL 访问数据库.但这种方法需要从底层进行复杂的编程才能 实现, 对非专业编程人员来讲是不现实的. (5)利用中间文件存取数据. 先将数据存入文件之中, 待测量结束后再用专门的工具将 数据导入到数据库之中.这种方法需要磁盘文件作为中介, 而 且不具有实时性, 不方便使用. 实际应用中, 前三种方法使用最为广泛, 下面将重点讨论第 一种方法. 2 利用 LabVIEW SQL Toolkit 访问 数据库 2.1 LabVIEW SQL Toolkit 简介 LabVIEW SQL Toolkit(又被称作为 LabVlEW Database Con- nectivity Toolset)是用于数据库访问的附加工具包, 它集成了一 系列的高级功能模块, 这些模块封装了大多数的数据库操作和 一些高级的数据库访问功能.其主要的功能如下: (1)支持 ADO 所支持的所有的数据库引擎; (2)支持所有与 ODBC 或OLE DB 兼容的数据库驱动程序; (3)具有高度的可移植性, 在任何情况下, 用户通过改变 DB Tools Open Connection VI 的输入参数 Connection String 就可以 更换数据库; (4)可以将数据库中 Column Values 的数据类型转换为标准 LabVIEW Database Connectivity Toolset 的数据类型.这进一步 增强了它的可移植性; (5)与SQL 兼容; (6)不使用 SQL 语句就可以实现数据库记录的查询、 添加、 贾海朋: 硕士研究生 基金项目:国家自然科学基金(60666001) 102 - - 邮局订阅号: 82-946 360 元/年技术创新传感器与仪器仪表《PLC 技术应用 200 例》 您的论文得到两院院士关注修改以及删除等操作; (7)用户可以完全不需要学习 SQL 语法. 用户可以使用LabVIEW SQL Toolkit 在LabVIEW 中支持OLE DB 的本地或远程数据库.例如 Microsoft Access, Microsoft SQL Sever, Sybase SQL Server 以及 Oracle 等. 2.2 JET、 OLE DB、 ODBC 简介 本文用的是 Microsoft jet 4.0 ole db provider 连接方式, Mi- crosoft jet 4.0 ole db 是Access 的数据库引擎 (或者说数据库驱 动程序), 一般可以看到的词句是 Provider=Microsoft Jet Ole db 4.0, 4.0 是版本号,Jet 是一个为 Access 而设计的驱动接口, 可以 直接访问 Access 数据库,而避免了到达 ODBC 这样一个连接. 由于测试系统各个节点的任务不同, 所连接的数据库管理 系统不一定相同, 因此测试系统一般希望不依赖数据库管理系 统. OLE DB 和ODBC 是微软开发的数据库连接处理技术. OLE DB 是一种基于组件对象模型的数据库接口, 对所有的文件提 供了一个统一的调用接口, 既可以访问关系数据库, 也可以访 问非关系数据(如电子表格、 电子邮件、 各种文档、 文件等), 由于 采用 COM 模型, 系统稳定, 接口灵活, 具有可利用性和封装性, 访问数据库速度快, 因为组件化使 OLE DB 程序实现了功能分 配. ODBC 可以访问所有的关系数据库, 不能访问对象数据库和 其他非关系数据库, 因此对于高层的数据库应用技术可采用如 ADO. 如图 1, ADO (ActiveX Data Object)是建立在 OLE DB 技术 上的数据对象, ADO 技术采用高层访问技术访问封装了的 OLE DB 中COM 接口.它主要特点是连接各种不同数据 (关系数据 库, 大型数据库, 文件系统, Email 服务器, 文本文件) 的统一界 面, 用户不用接触低层的 OLE DB. 图1ADO 和OLE DB Provider 之间的关系图 3 LabVIEW 中访问数据库的实例 3.1 LabVIEW SQL Toolkit 的配置 使用通用数据链接 UDL 方式调用 ADO and OLE DB 与数 据库连接. LabVIEW SQL Toolkit 与数据库之间的连接是建立在 DSN 基础上的.DSN 的创建步骤如下: 第一步: 在某个路径下单击右键, 在新建选项中选择 Mi- crosoft 数据连接, 并任意改个名字, 例如 jhp.udl. 第二步:照上步单击右键, 在新建选项中选择 Microsoft Of- fice Access 应用程序, 并改名为 jhp.mdb. 第三步:双击 jhp.udl, 出现数据连接属性, 在提供程序一项 中选择 Microsoft jet 4.0 ole db provider. 第四步:点击连接, 在数据库名称一项中选择 jhp.mdb 的路径, 点击测试连接, 出现测试连接成功即可.然后单击" 确定" 按钮. 这样就完成了DSN 的创建.从此以后,LabVIEW SQL Toolkit 就可以利用这个 DSN 访问与之相关联的数据库了. 3.2 应用实例 (1)我们在数据库中创建一个表, 如图 2. 第一步:使用 DB Tools Open Connection 打开数据库连接. 第二步:使用 DB Tools creat table 创建一个表, 表名和每条 记录的信息作为参数写入该 VI. 第三步:使用 DB Tools close connection 关闭连接. 图2数据库中创建表的流程 (2)从数据库中找到需要修改的记录, 并修改其字段, 如图 3. 第一步:使用 DB Tools Open Connection 打开数据库连接. 第二步:使用 DB Tools Execute Query 将数据库中的一条记 录的某个字段修改, 利用 SQL 中的 UPDATE 语句. 第三步:使用 DB Tools Free Object 释放一个对象. 第四步:使用 DB Tools close connection 关闭连接. 图3数据库中修改记录的流程图 4 结论 综上所述, 使用 LabVIEW SQL Toolkit 访问数据库要经过 连接数据库、 执行操作、 断开连接这三个步骤. LabVIEW SQL Toolkit 支持ADO 所支持的所有的数据库引擎, 不使用 SQL 语句就可以实现数据库记录的查询、 添加、 修改以及删除等操作, 使用 SQL 语句能够实现复杂的数据库 操作,功能强大,但其昂贵的价格对于很多用户来讲是不能承受的. 这也限制了它的推广应用. 在实际应用中, 用户究竟 采用哪种方法要从项目难易 程度、自身编程水平和技术经济等方面综合考虑. 本文作者的创新点是, 针对没有系统学习过 SQL 语言的使 用者, 采用 NI 公司的附加工具包, 实现了 LabVIEW 与Access 数据库的动态链接. (下转第 189 页) 103 - - 邮局订阅号: 82-946 360 元/年技术创新仿真技术《PLC 技术应用 200 例》 您的论文得到两院院士关注4小结 针对雷达探测存在噪声干扰问题, 本章应用 Kalman 滤波 算法思想去实时估计和预测目标船相对于本船的当前和下一 时刻的运动状态信息, 进而推算出目标船相对于本船的最近 会遇距离 DCPA 和最近会遇时间 TCPA, 以辅助船舶驾驶人员 的航行安全和采取的避让决策. 图3TCPA 随时间变化情况( 其中横轴为 时间坐标(min), 纵轴为 TCPA(h)) 本文作者创新点: 最主要的创新点就是把 Kalman 滤波用 于实时预估目标船的状态,并予以实践出来, 达到提前预测目 标船的态势的目的. 参考文献 [1]Department of Transport Marine Directorate. The human element in shipping casualties [M]. London: HMSO, 1991. [2]Dynamic Research Corporation Man - Machine systems Department. The role of human factors in marine casualties ( Final Report )[R], 1989. [3]秦永元等. 卡尔曼滤波与组合导航原理[M]. 西北工业大学 出版社,1998. [4]杨万海. 多传感器数据融合及其应用[M]. 西安电子科技大 学出版社,2004. [5]朱海,莫军. 水下导航信息融合技术[M]. 国防工业出版社, 2002. [6]董峰,金宏斌,白晶.用Visual C++仿真实现卡尔曼滤波[J].微 计算机信息,2005,7:59. 作者简介:刘静(1981- ), 女, 汉族, 籍贯:山东临沂人, 硕士研究 生, 研究方向:智能信息处理;刘以安(1963- ), 男, 汉族, 籍贯:江 苏涟水人, 副教授, 博士, 研究方向:数据融合、 模式识别和智能 系统、 雷达对抗;杨新刚( 1982- ) , 男( 汉) , 研究生. Biography:Liu Jing(1981- ), female, the Han nationality, native place: Linyi, Shandong province. graduate student, research direction: intelligence information processing;Liu Yi- an(1963- ), male, the Han nationality, native place: Lianshui, Jiangsu province. associate professor, research direction: data fusion、 pattern recognization and intelligence system 、Radar EW. (214122 无锡 江南大学信息工程学院)刘静 刘以安 杨新刚 (School of Information Engineering, Southern Yangtze University, Wuxi 214122, P.R. China)Liu Jing Liu Yi- an Yang Xingang 通讯地址: (214122 江苏 江苏省无锡市蠡湖大道 1800 号江南 大学青教公寓北 8 栋517 室) 刘静 (收稿日期:2007.8.13)(修稿日期:2007.10.15) (上接第 103 页) 参考文献 [1]杨乐平等.Labview高级程序设计[M].清华大学出版社.2003 [2]汪敏生.Labview基础教程.电子工业出版.2002 [3] LabVIEW User Manua1. National Instruments Corporation.1998 [4]Database ConnectivityToolset UserManual. National Instruments Corporation.2001 作者简介:贾海朋, 男, 1982 年2月出生, 汉, 山东省青州市, 现 为贵州大学电子信息工程学院通信与信息系统硕士研究生; 张 正平, 男, 1964 年3月生, 汉, 教授, 博士, 研究方向:通信理论、 通 信元件与系统. Biography:Jia Haipeng ,Male, Born in Feb.1982 . Han nationality .Postgraduate of correspondence and information system,Department of Electronic and Information ,Guizhou University ;Zhang,Zhengping,Male,born in Mar.1964.Han nationality,Professor,Doctor,Work field:Communication Theory, Components and System for Communication. (550003 贵州 贵州大学) 贾海朋 彭嫚 张正平 贺松 (Guizhou University,550003,China)Jia Haipeng Peng Man Zhang Zhengping He Song 通讯地址:(550003 贵州大学电子信息学院 蔡家关校区 ) 贾海朋 张正平 (收稿日期:2007.8.13)(修稿日期:2007.10.15) 《现场总线技术应用 200 例》 现场总线技术是现代工厂、商业设施、楼宇、公共设施运行、生产过程中的现场设备、仪表、执行机构与控制室的监测、控制装置及管理与控制系统之间的数字式、多点通信互连的, 数据总线式 智能底层控制网络. 现场总线技术保证了现代工厂、商业设施、智能楼宇、公共设施( 自来水、污水处理、输变供电、燃气管道、 自 动抄 表、 交通 管理 等) ,高可靠、 低成本、 安全绿色生产运行, 同时易于改变生产工艺, 多 品种生产过程. 本书200 个应用案例,介绍了profibus 、 FF 、 CANbus 、 De- viceNET、 WorldFIP 、 INTERbus 、 CC-Link、 Lo- nWorks 及OPC 、 工业以太网、TCP/IP 在石油、化工、电力、冶金、铁路、制烟、造酒、制药、水泥、电力传动、机械、交通、设备管理、消防、自来水厂、电解铜、电解铝、继电保护、粮仓及储运、汽车检测、油库管理、造纸、气象、远程抄表、电缆生产、暖通空调、电梯、楼宇自动化及安防、…… , 各方面的应用.本书是工程设计人员、设备维护人员、设备采购人员、技术领导干部、大、中专学校教员的案头参考书,同时也是大专院校本科生、研究生做课题、搞毕业设计的必备参考书.有 志向有兴趣的高中以上文化水平的人均为本书读者.本书已出版.大 16 开,每册定价110 元(含邮费).预 购者请将书款及邮寄费通过邮局汇款至地址:北京海淀区皂君庙14 号院鑫雅苑6号楼601 室 微计算机信息 编辑部 邮编:100081 电话:010-62132436 010-62192616( T/F ) http://www.autocontrol.com .cn http://www.autocontrol.cn E-mail:editor@autocontrol.com .cn; E-mail:control-2@163.com 189 - -