LabVIEW访问Oracle数据库在MES中的应用
2016-11-21郭全民
郭全民,李 东,王 健
(西安工业大学电子信息工程学院,西安710021)
LabVIEW访问Oracle数据库在MES中的应用
郭全民,李东,王健
(西安工业大学电子信息工程学院,西安710021)
通过放大变换测试系统,研究如何将产品测试信息上传到数据库中,实现产品信息的查阅及测试指令的下达。通过结合使用LabVIEW[1]和现场制造执行系统(MES)实现的对被测产品的数据采集和数据上传,并将测试数据保存到Oracle数据库中。通过使用LabVIEW中的Database工具包,了解如何使用简单的SQL语言实现对Oracle数据库中数据的操作及与Oracle数据库的连接。通过局域网实现对Oracle数据库中被测产品指令的下达以及被测数据的插入、更新、删除等操作,从而实现对被测产品的远程监控[2]。最终使用LabVIEW软件编写操作界面实现对被测系统的控制。
虚拟仪器;制造执行系统;Oracle数据库;数据采集;测试系统
1 引 言
放大变换测试系统测试平台是为国内某研究院研制的用于对放大变换部件电路电流信息进行测试的平台,由工控机、显示器、硬件放大变换测试箱、电流源和被测产品组成。在对被测产品进行测试时需要下达测试任务,操作人员根据任务指标对被测产品进行测试,并将被测产品的信息和任务状态进行实时监测,如何实现对被测产品信息的采集和任务状态监测将是研究的重点[3]。
为了实现从传统制造方式向敏捷化和柔性化制造方式的转换,建成覆盖生产管理主价值链、信息共享、管理高效的精益数字化平台,我们选用Lab-VIEW访问Oracle数据库的方式,这种方式使得测试设备能够与制造执行系统集成,实现自动接收测试任务。测试设备能够将设备的运行状态和产品的测试结果数据上传到指定数据库中。实现对被测产品信息的远程控制,通过Oracle可以及时下达产品测试信息和接收测试数据及状态,进一步提高产品的测试效率及监控效率。
2 利用Database工具包访问Oracle数据库
2.1Database工具包
NI LabVIEW数据库连接(Database Connectivity)工具包提供了一套简单易用的工具,使用户能快速连接本地或远程数据库,并且无需进行结构化查询语言(SQL)编程就可以执行诸多常用的数据库操作。该工具包可方便连接各种常用数据库,如Microsoft Access、SQL Server和Oracle[4]。如需高级数据库的功能和灵活性,LabVIEW数据库连接工具包还可以提供所有SQL功能。
Database工具包被安装在LabVIEW后面板:函数→互连接口→database中,在完成上述准备工作后,就可以方便快捷地进行数据库设计了。大致分为以下几步:建立和连接数据库、数据库信息的读取、插入信息到数据库和断开数据库连接。下面给出插入和查找信息的详细步骤[5]:
第一步:建立数据库连接。在database中选择“DB Tools Open Connection.VI”创建数据库,user ID和password连接之前创建Oracle数据库时使用的用户名和密码,Connection information确定数据源配置的提供者和确定数据源。
第二步:数据库信息读取。在database中选择“DB Tool Select Data.VI”和“Database Variant To Data.VI”读取数据库信息,table和columns连接数据读取的表格和表格中对应的列信息,将“DB Tool Select Data.VI”中的data连接到“Database Variant To Data.VI”中的database variant,将数据库中不同存储类型的数据通过type转换为指定格式的数据输出。
第三步:插入信息到数据库。在database中选择“DB Tools Create Paramterized Query.VI”确定要插入信息所在的表格和相应的SQL语句,确定要插入信息;“DB Tools Set Parameter Value.VI”确定输入信息的具体数据;“DB Tools Execute Query.VI”执行之前设定好的数据,插入到相应的表格中;“DB Tools Free Object.VI”执行完插入语句后释放空间,不然会一直占用内存,等待执行插入语句,降低运行速度。
第四步:断开数据库连接。在database中选择“DB Tools Close Connection.VI”断开数据库连接。
2.2Database应用实例
本应用实例是向上面所建立的Oracle数据表添加、查找、显示记录。数据源名为MYDB,数据表名为“V_CHKTASK”、列名为“Return_Data”,与数据源连接的字符串“Provider=OraOLEDB.Oracle.1;Data Source=orcl.”,用户名和用户密码为“tdcuser”“cape”,通过“Database Variant To Data.VI”将databas中的变量转换为LabVIEW中字符串数组类型,具体的操作字符串及显示结果如图1所示。
图1 读取数据库信息
通过打开数据库连接的VI定义了数据源连接字符串“Provide=OraOLED-B.Oracle.1;Data Source=orcl”,用户名和用户密码为“tdcuser”、“cape”,通过“DB Tools Create Paramterized Query.VI”定义了参数的类型为一维字符串数组,每个数组包含一个簇信息,簇中包括任务序号或者任务状态数组的参数名信息、数组的数据类型及其参数输入输出的作用方式等,通过SQL query端指定一个参数化SQL查询或存储过程的名称,在参数数组中元素必须和SQL query端描述的参数数量相对应。在parameters out端返回一个数组参数的簇信息。具体的操作字符串及显示结果如图2所示。
在database中选择“DB Tools Insert Data.VI”、“DB Tools Update Data.VI”、“DB Tools Delete Data.VI”替换“DB Tool Select Data.VI”即可实现相应数据在数据库中的插入列、更新和删除。
3 制造执行系统(MES)
2.1制造执行系统(MES)简介
MES(Manufact uring Execution System)即制造执行系统,俗称生产执行系统[6]。通过将上层的企业信息计划系统与底层的过程控制系统相结合构建出一个企业核心,其主要用途一是将业务指令下达给生产现场,二是将生产现场生成的信息进行收集并上传给上层处理。MES不仅仅是针对生产现场的系统,而且作为过渡层连接了现场层和经营层,进行信息传递。MES作为一个企业的重要信息系统,在企业信息计划系统和过程控制系统中实时传递测试的理论数据和实际数据,并将数据进行比较[4]。
图2 插入信息到数据库
2.2MES在放大变换测试系统中的流程图
产品测试作为整个现场装配过程中的一个环节。为满足对装配过程的控制盒测试数据的自动采集的要求,测试设备能够与现场制造执行管理系统、设备资产管理系统集成,实现测试任务、设备运行状态、测试结果等信息的交互。其流程图如图3所示。
图3 产品装配测试设备数据采集流程
2.3MES在放大变换测试系统中的应用
使用LabVIEW在本地建立数据库连接配置文件,当数据库连接属性发生变化时能够灵活进行数据库联接的动态调整,方便对数据库数据进行查阅。如图4所示。
图4 数据库连接配置界面前面板
通过“读写Oracle连接配置”文件VI,将Oracle数据库连接配置分为读取配置和写入配置。当选择读取配置时自动连接到默认的配置文件,当数据库的连接属性发生变化时选择写入配置,手动输入配置信息,连接到相应的数据库中,并实现远程调用的写入,其后面板程序如图5所示。
当运行程序时,程序调用读写Oracle数据库连接配置文件VI,选择读取配置,将事先在*.ini格式文件中提前配置好的文件信息(专用设备编号、数据库服务器端口、数据库SID、用户名、密码)读取显示在前面板相应的位置,当用户点击保存按钮时再次调用读写Oracle数据库连接配置文件VI将前面板显示信息写入到指定的*.ini文件中,此时选用的是写入模式。在用户点击保存按钮前,用户可以手动更改前面板上显示的信息。在放大变换测试系统中将任务状态用不同的数字替代,如“10”定义为已计划并下达;“20”定义为测试中;“30”定义为已完成;“40”定义为已上传。运行测试任务信息表子VI,在默认状态下,系统自动读取数据库中任务状态为“10”的任务信息。当在测试任务ID中选择显示出的任务ID并按下启动测试任务按钮后,数据库中将把这个任务ID的任务状态从“10”变为“20”,在任务筛选中选择“测试中”,会显示出此前任务状态从“10”变为“20”的任务ID的任务信息。当被测产品测试结束后,系统将任务状态由“20”变为“30”,在任务筛选中选择“已完成”,任务状态为”30”的任务信息便会显示出来。测试任务信息表如图6所示;数据库中测试信息如图7所示。
图6 测试任务信息表
图7 PLSQL Developer
4 结束语
在LabVIEW中通过Database工具包连接到Oracle数据库,通过简单的SQL语言即可实现对数据表格的创建、数据的查询和插入,记录测试中的数据即快速又方便。对于不太熟悉SQL语言的设计者,只需要简单了解Database工具包中各个子VI的功能与链接方法,即可完成数据库的存储。在软件开发过程中大大缩短了软件开发设计的周期,节约了开发成本。在MES中使用Oracle数据库通过连接局域网即可实现数据在客户端和服务器间的上传与下载,以便于对整个测试系统的管理。
[1]Pan Deng,Zhang Yucui,Bu Taiming,et al.Design and realization of lamp life test instrument[J].Journal of Harbin Institute of Technology,2012(6):124-128.
[2]袁振文.LabVIEW中远程数据库访问技术[J].微计算机信息,2004,20(12):51-52.YuanZhenwen.LabVIEW in remote database access technology[J].Micro computer information.2014,20(12):51-52.
[3]Study of Remote Monitoring and Maintenance Guiding Technique Based on LabVIEW for Machining Centers[J].Journal of DongHua University,2005(5):29-33.
[4]雷振山,魏丽,赵晨光,等.LabVIEW高级编程与虚拟仪器工程应用[M].北京:中国铁道出版社.2009.4.LeiZhenshan,WeiLi,ZhaoChenguang.LabVIEW highlevel programming and virtual instrument engineering applications[M].BeiJing:Chinarailwaypublishing house.2009.4.
[5]李文辉.制造执行系统(MES)的应用与发展[J].兰州理工大学学报,2006(2):50-54.LiWenhui.The application and development of manufacturing execution system(MES)[J].Journal of lanzhou university of technology,2006(2):50-54.
Application of LabVIEW Access Oracle Database in MES
Guo Quanmin,Li Dong,Wang Jian
(School of Electronic Information Engineering,Xi'an Technological University,Xi'an 710021,China)
By enlarging transform test system,this paper studies how to upload product test information to the database to access to the information of products and give a testing instruction.Combining with LabVIEW and manufacturing execution system(MES),the data of collection and uploading dynamically are realized and saved in the Oracle database.By means of the Database in the LabVIEW,a simple SQL language is used for operating the Oracle data in the Database and connecting the Oracle Database.Through the local area network(LAN),the instructions of the tested products in Oracle database and the operations such as date insertion,data update and data deleting are conducted to realize the remote controlling of the products tested.Finally,the operation interface is written to control the tested system by LabVIEW software.
LabVIEW;MES;Oracle database;DAQ;Test System
10.3969/j.issn.1002-2279.2016.01.008
TP274
A
1002-2279(2016)01-0028-04
郭全民(1974-),男,陕西省渭南市人,副教授,主研方向:计算机测控技术、图像处理及机器视觉、智能传感与信息融合等。
2015-03-11