基于Labview和Java存储过程的数据自动采集接口的实现与应用
作者:***
来源:《计算机光盘软件与应用》2014年第01期
        摘 要:本文主要以船舶数字化平台设计为例,分别从Labview数据采集的实现、创建存储过程的Java方法以及利用Labview技术对Java存储过程的调用及执行等三方面对Labview数据采集技术及Java数据存储过程实现数据自动采集接口的设计实现进行分析和探讨。
        关键词:Labview数据采集;Java存储;数据自动采集接口
        中图分类号:TP274.2
        1 Labview数据采集
        Labview程序主要涉及前面板及流程图两项内容,程序设计采用多线程方式,前面板及流程图分别对应一个线程。其中,前面板提供程序图形接口,对输入予以集成,对输出予以显示,与传统仪器面板类似;流程图主要实现对前面板输入及输出的编程控制及定义。
        Labview数据采集基本流程示意图详见图1所示。
        图1 Labview数据采集基本流程示意图
        在执行采集数据操作之前,先进行DAQ板卡初始化,采集到的数据经过板卡及内存中Buffer环节之后才被存储。因为所选择的板卡具备DMA性能,这样可以在输入操作模拟过程中构建起以计算机内存为连通的高速硬件通道,通过该通道可以实现数据向计算机内存的直接传输。
        一般情况下,触发器为一个数字或模拟信号,触发包括初始化、终止及DAQ事件同步的所有方式,动作是否发生主要取决于触发器的状态。硬件触发器主要受板卡电路管理,并负责分配DAQ事件时间,精确度较高。所采集的数据首先借助通用接口总线向主机进行传输,Labview试验系统程序对数据进行初步处理,在此基础之上,借助Java存储过程实现原始数据及信息在对应数据库的存储操作。
        2 Java存储过程
        Java创建存储过程常见方法主要有以下几种:
        (1)数据处理。Java存储过程的第一步就是处理数据,在此所处理的数据主要是在船舶数字化平台中设定为非空的数据,并且在Labview中为空的数据,这些数据在经过Java存储过程处理之后便无法在船舶数字化平台中进行保存;所有数据在经过Labview处理之后均为字符串形式存在,为确保数据符合数字化平台对数据类型的要求,Java存储过程会转换数据存在形式;最后,对于涉及多个单独字段的字符串,需要进行分割处理,并将其保存在字符数组当中。
        (2)事务处理。数据库操作中所谈及的事务指的是由一个或数个对数据库更新的sql语句所构成的无法分割的工作单元。事务在所涉及的全部操作均实现之后才会向数据库进行整体性提交,若其中某一操作未实现,将对事务予以撤销。因针对数据库的操作并非一次完成,其中每次执行或步骤都可以视作一个事务,假如数据库操作在其中一个环节未执行或发生意外导致事务未成功,就会出现部分事务执行而部分未执行的情况,此时出现事务回滚,之前的操作将会被取消。
        (3)自增序列的查询及插入。数据库表结构的部分字段充当具有自增性质的主键,一般可以采取no-zlcon-s.currval的方式对这种类型的字段进行查询,其中no-zlcon-s是其中一
张表的sequence,在执行上述操作时应注意操作顺序,在完成val之后再进行no-zlcon-s.currval操作。
        3 数据自动采集接口的实现与应用
        3.1 Labview访问船舶数字化平台
        Labview自身无法执行访问数据库操作,所以对于利用Labview编制的虚拟仪器系统而言,要想执行访问数据库操作,必须采取相应的辅助手段。
        Labview中访问数据库的方式较为常见的主要有:
        (1)使用接口工具包Labview SQL Toolkit完成访问数据库操作;
        (2)借助Labview中ActiveX功能,对Microsoft ADO对象进行调用,借助SQL语言完成数据库访问操作。需要特别指出的是,采取此种访问方式用户必须掌握足够多的Microsoft ADO以及SQL语言知识;
        (3)利用第三方所推出的工具包LabSQL进行数据库访问。为最大限度的确保程序稳
定性及反应灵敏性,本文所探讨的数据自动采集接口访问数字化平台选择第一种数据库访问方式。
        3.2 Labview中执行存储过程
        作为附加工具包,Labview SQL Toolkit中实现了对高级功能模块的有效集成,其主要作用是执行数据库访问操作,利用Labview SQL Toolkit中所涉及的功能模块可以实现大部分数据库操作及部分高级数据库访问,借助Labview SQL Toolkit在Labview所支持的ODBC本地或远程数据库。
        借助DB Tools List Tables,通过一维数组的方式对所选定的数据库当中的全部表进行列举,并在前面板数组控件Tables当中进行同步显示。对于用户而言,当Tables Index确定的情况下,采取数组函数索引的方式对其中一个表进行索引;在此基础之上,将索引结果与DB Tools List Columns以及DB Tools Select All Data进行连接。
        完成上述操作之后将面临数据格式问题,因此需要及时转换数据格式,将格式符合要求的数据与数据库相连,与此同时,对SQL语句进行执行以实现Java存储目的。Labview将会以存储过程反馈值为依据,对操作结果进行及时显示。
存储过程 字符串转数组        4 结束语
        本文以船舶数据库平台为依托,借助Labview数据采集、数据库操作功能以及Java存储过程,作为重要的数据库接口附加工具包,LabVIEW SQL Toolkit主要应用于数据库访问,该附加工具包含有数个封装了大部分数据库操作及部分高级数据库访问功能的功能模块,在LabVIEW当中,利用LabVIEW SQL Toolkit便可以向ODBC本地或远程数据库提供支持,并且对船舶数据库平台数据自动采集接口的实现及应用展开分析和探讨。
        参考文献:
        [1]邢立伟.基于LabVIEW的车身过程设备信息网络化管理系统的研制[D].哈尔滨工业大学,2007.
        [2]李杰,陈涛,范勇.基于LabVIEW的综合录井多参数曲线监测系统设计[J].仪器仪表用户,2010(04).
        [3]尚振阳.吉林石化炼油与化工运行系统数据采集接口实现研究[D].吉林大学,2011(04).
        [4]刘辉.Java网络编程:连接网络数据库的多种方法[J].价值工程,2010(03).
        [5]王聪华,王建国.Java调用VC++DLL实现串口GPS的访问[J].信息技术,2010(01).
        作者简介:郭严友(1980.08-),男,广东肇庆人,本科,计算机讲师,主要研究方向:软件工程、网络、多媒体。
        作者单位:肇庆市农业学校,广东肇庆 526070

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。