资源描述:
《LabVIEW中实现Oracle大对象数据存储的一种方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、PX)123"45中实现#617,8大对象数据存储的一种方法!"#$%&’中实现()"*+,大对象数据存储的一种方法孙熙文王友钊浙江大学数字技术及仪器研究所(P@QQER)#$%&’()&*S8160/7,8J8=76/28=1T80S+J0+=0+68,16F8+2G870J101/K0+#617,8J10121=82IM=/KF#617,8N687+TN/,8696+:&;&<<1KJ&"!+L)123"45U1KJ2I0S/=T80S+JUO8O/,,681,/V80S8J101=0+61F8/KD+010/KFB17S/K86I&+KJ/0/+
2、KB+K/0+6/KF’I=08TA*+,-.’/%W)123"45U#617,8U)#%=UJ101=0+61F8摘要本文通过#617,8的预编译器96+:&;&<<和)123"45的&接口&"!的应用,介绍了一种在)123"45下实现#617,8大对象数据()#%=)存储的方法,并将该方法成功应用在大型旋转机械振动状态监测系统中。关键词:)123"45,#617,8,)#%=,数据存储!"公司提供的基于#$%&的数据库开发工具’()*++,-.@AE)#%=数据类型/0为)123"45提供了良好的数据库接口,可以很方便地在#617,8支持)#%=(
3、,16F8+2G870)数据类型。)#%=类型分)123"45中实现数据库的访问和存取。但是,由于数据库大多为以下几种:不支持数组这样的数据结构,在遇到诸如在线监测领域中通常%)#%:一种包含没有格式的二进制数据的)#%=,最大容会有大量的连续的波形数据的存储需求时,只好考虑用适当编量为H>2I08;码的方法绕开’()语法的保留字符将数据存为长的字符串。虽&)#%:一种包含大容量字符数据的)#%=,最大容量为然这种方法在一定的情况下可行,但是存储的效率和程序的运H>2I08。行效率都十分低下。本文将通过)123"45的&接口&"!和由于波形序列数据类似
4、于声音流数据,应该保存为二进制#617,8的预编译器96+:&;&<<的使用,介绍一种高效的基于数据流,故采用%)#%数据类型来存储。如表@数据表结构表#617,8的大对象数据()#%=)存取的方法,并用该方法实现在旋最后一行,波形数据以%)#%类型存入振动历史数据表。转机械状态监测系统中的数据存储。"数据存储的实现!数据存储过程的说明数据存储模块的具体实现过程如图@所示。在旋转机械振动状态监测系统中的数据存储的大致过程是这样的:被测量点的振动信号经过传感器转化为电信号,再经过信号调理电路由采集卡按一定的采样频率采集并转化成数字信号。工控机上的)123
5、"45程序通过调用采集卡的驱动程序,将图@模块实现流程图数据存放在内存中的数据缓存区,进行相应的处理,并实时显示首先按照&"!的接口规范用&语言编写好模块的代码,所在界面上。在需要保存数据时,再将指定的数据连同测量点的一有和数据库访问相关的代码按照#617,8嵌入式’()的规范内些属性及参数(如工作站编号、机组编号、通道编号、记录时间、嵌相应的’()语句。>?9电压、峰峰值等)作为一个条目存入#617,8数据库相应的接下来经过96+:&;&<<预编译器的预编译,将所有的内嵌数据表中。’()语句转换成#617,8动态链接函数库的函数调用。这样代码@A@数
6、据表结构转换成标准的&代码,就符合)123"45的&语言接口规范。为保存测量数据和相关的参数,在数据库中创建振动历史最后经过&"!*++,=将代码编译成)123"45特定的A,=2数据表(*B4?’CD4$?*4),表结构如表@所示。文件,)123"45就可以通过&"!节点调用A,=2文件从而调用数表@数据表结构据库存储模块功能。EA@&"!节点的使用&"!(&+J8"K086L178!+J8)是)123"45用来提供将&;&<<代码链接到)123"45的一个功能节点,用户可将需调用的&;&<<代码编译成)123"45能识别的格式(A,=2)后与此节点
7、相连,当此节点执行时,)123"45将自动调用与此节点相连的&;&<<代码,并从&"!获得相应的数据结构和向&"!传递特定的数据结构。该模块的输入接口有:数据库连接时的用户名(M=86,字符串)、口令(N1==O+68J,字符串),数据库网络连接的网络服务名(J2=06/KF,字符串)和需要保存的数据条目(J1017,1=086,结构体);输出接口有:出错表示文本(866+6=06/KF,字符串)和错误号(866+67+J8,整数)。如图E所示。这些接口在编写时需遵循&"!的接口规范,以下是和接口《工业控制计算机》!""#年$%卷第!期Cp’(开辟拷贝
8、缓冲(’-5+2R506/;<.=-110.IQ^cdefVS*JG’’开辟一个大小为Q^cd