基于Delphi的液压试验数据保存和显示.pdf
2 0 1 0年 8月 第 3 8卷 第 1 5期 机床与液压 MACHI NE TO0L & HYDRAUL I CS Au g . 2 01 0 V0 1 . 3 8 No .1 5 DO I 1 0 . 3 9 6 9 / j . i s s n . 1 0 0 1 3 8 8 1 . 2 0 1 0 . 1 5 . 0 1 4 基于 D e l p h i 的液压试验数据保存和显示 于显 利 ,刘顺 安 吉林大学机械科学与工程学院,吉林长春 1 3 0 0 2 5 摘要使用 D e l p h i 软件编程实现液压元件动态试验和静态试验中采样数据的保存和显示,实现对试验中系统配置信息 的保存和调用。并通过具体 的液压试验验 汪该方法是可靠的、实用的。 关键词 液压试验 ;D e l p h i ;Me n l o 控件 ;i n i 文件 中图分类号T P 3 1 1 . 1 文献标识码 B 文章编号 1 0 0 1 3 8 8 1 2 0 1 0 1 5 0 4 4 3 The S a v i ng a n d Di s pl a y i n g o f Hy d r a u l i c Te s t Da t a Ba s e d o n De l p hi YU xi a n l i . LI U S h u n’ a n C o l l e g e o f M e c h a n i c a l S c i e n c e a n d E n g i n e e r i n g ,J i l i n U n i v e r s i t y ,C h a n g c h u n J i l i n 1 3 0 0 2 5 ,C h i n a Ab s t r a c t B y p r o g r a mmi n g wi t h D e l p h i ,t h e s a v i n g a n d d i s p l a y i n g o f s a mp l i n g d a t a o f d y n a mi c a n d s t a t i c h y d r a u l i c t e s t , a n d t h e s a v i n g a n d c a l l i n g o f t h e s y s t e m c o nfi g u r e i nf o r ma t i o n we r e r e a l i z e d . T he pr a c t i c a l r e s u l t i nd i c a t e s t h a t t h e me t h o d i s r e l i a b l e a nd u s e - f u 1 . Ke ywo r d s Hy d r a u l i c t e s t ; De l ph i ;Me mo c o n t r o l ;I n i fil e D e l p h i 是 B o r l a n d公 司 现在 已被 I n p r i s e 合 并 在 1 9 9 5年推 出的一 款可视 化软件开发工具 ,它具有 简单 、高效 、功 能强大 的特 点 。和 V c相 比,D e l p h i 编程更简单 、更易于掌握 ,而在功 能上却丝 毫不 逊色 ;和 V B相 比,D e l p h i 则 功能 更强 大 、更实 用。 作者基于 D e l p h i 7开发环境 ,利用其强大的控件 和简 洁的编程语言 实现液 压试验 数据显 示 和保 存程 序设 计。 1 液压元件动态试验中试验数据的保存和显示 在液压元件各项性能指标的检测试验中 ,通常要 测量液压元件 的动态特性和静态特性 。动态特性的试 验要求在很短的时间内采集大量 的试验数据 ,比如在 4 S 内采集 2 8 0 0个数 据 ;而静态特性 试验则 相对采 样周 期较长 ,采样数据较少 ,一般一次试验采集 十几 组或几十组数据就可以了。 由于动态特性试验 的实时性很 强,1 S 采集 1 0 0 0 个左右数据 。虽然数据 采集 卡可以实现 m s 级的数据 采集 ,但是如果在采集程序 中处理不当,一般 会增加 不必要的采样时延 ,达不到试验的要求 。其中对采样 数据的保存处理是一个不能忽视的因素 ,如果每采集 一 组数据就保存到硬盘上,那么需要的处理时间会较 长 ,因为把数据从内存写入硬盘需要一定的时 问,故 这种方法不可取。比较合理的方法是将采集到的数据 先保存到内存中,在采集结束后再一起保存到硬盘文 件里。首先应在程序里定义一 个静态的维数足够大的 二维数组,即在内存里划分出一个存储区域,比如 d a t a n r o w ,n c o l u m n ,其 中 n r o w表示数组的行数, 如果试验要 采集 4路 压力 ,那 么 n r o w取 4 ;n e o l u m n 表示数组的列数 ,即采样数据的最大组数 ,根据具体 的试验要求 ,n c o l u m n赋值 为一个足够 大的数 ,比如 取 n e o l u m n 2 0 0 0 0 。每次数 据采集 只需把数 据存储 到事先定义在内存里的数组里即可。程序代码如下 Va r Ar r a y d a t a a r r a y [ 0 . . 3 , 0 . . 2 0 0 0 0 ] o f d o u b l e ; M e m o 控件介 绍。M e m o 控 件是 D e l p h i 软件 V C L 可视控件库 的标准控件 ,该控件提供 了多行 文本 的编辑功能。它具有非常实用的属性和方法 ,可以方 便快捷地实现内存数据保存到硬盘的功能。常用属 性 L i n e s 属性用来显示和保存 m e m o控件 中的内容; S c r o l l b a r 属性设置控件是否有滚动条;Wo r d Wr a p属 性设置是否有 自动换行 功能。常用方法 1 文本 的添加 。利 用 L i n e s属性 ,可 以增 加 、删 除一 行 文 本。下面的代码将 文本添加 到 M e m o中的最后一行 M e m o . L i n e s . A d d ‘ 试验数据 ’ ; 2 文件的保存 和装 载 ,可 以将 M e m o组 件 中的文 本保 存成 文本 文 件 ,也可以将文本文件装载到 M e m o中。这需要配合 使用 S a v e D i a l o g 组件和 O p e n D i a l o g 组件。将 M e m o中 的文本保存为文本文件的代码为 I f S a v e D i a l o g 1 . E x e c u t e t h e n / / 打开保存对话框 Me m o . L i n e s . S a v e T o F i l e S a v e D i a l o g 1 . F i l e N a me / / 保存为 以 F i l e N a m e 为名字的 【 x l 文件 收稿 日期 2 0 0 9 0 7 2 8 基金项目吉林大学 “ 9 8 5 ”耩金资助项目 4 5 0 0 2 2 1 0 2 0 0 2 作者简介于显利 ,男 ,博 』 研究生 ,研究方向为汽车主动悬架控制 。电话 1 3 0 8 6 8 9 4 5 5 0,E m a i l x i a n l i y u s i n a . c o rn。 第 l 5期 于显利 等 基于 D e l p h i 的液压试验数据保存和显示 4 5 上边的语 句先打开保存对话框 ,然后将 M e m o中 的文本保存 到一个文本 文件 中,文件 名为在 S a v e D i a . 1 o g 中输入 的文本 。 在 Me m o 中装 载文本 文件 的代码为 i f O p e n D i a l o g 1 . E x e c u t e t h e n/ / 打开 打开文件对话 框 Me mo 1 . L i n e s . L o a d F i l e O p e n Di a l o g 1 . F i l e N a me ; / / 将文本文件内容装载到 Me m o l中 执行上边语句将打开 O p e n D i a l o g 对话框 ,然后将 选 中的文本文件装载 到 M e m o中。 把动态试验采集 的数据存储到硬盘文本文件 中的 具体实 现。定义 M e m o控 件 的实 例 Me m o 2 ,把它 的 V i s i b l e 属性设 置 为 F a l s e ,即程 序运行 时不 显示 该控 件 ,具体实现代码如下 Me m o 2 . L i n e s . C l e a r ; / / 将 M e m o 2里 的数据 清空 , 代码段 A l 开始 f o r i 0 t o n u n s a m p l e d o / / 把数 组中的数据导 入到 Me m o中 b e g i n / / 这里把 4路压力传感 器的 B H m s a m p l e1 组数据导 人到 Me mo里 Me mo 2 . L i n e s . Ad d i n t t o s t r i , f o r ma t % 6 . 4 f , [ a l y a l i l a r r a y d a t a [ 0 , i ]a 0 一 y a l i l ] , f o r m a t % 6 . 4 f , [ a l y a l i 2a r r a y d a t a [ 1 , i ]a 】 一 y a l i 2 ] , f o rma t %6 . 4 f , [ a l y a l i 3水a r r a y d a t a [ 2 , i ] a 0 一 y a l i 3 ] , f o r m a t %6 . 4 f , [ a l y a l i 4 a my d a t a [ 3 , i ] a O y a l i 4 ] ; e n d ; / / 代码段 A 1 结束 t r y / / 保存到文本文件里 , 代码段 A 2开始 S a v e D i a l o g 1 . F i l e N a m e 采样数据文件 . t x t ; i f s a v e d i a l o g 1 . Ex e c u t e t h e n b e g i n Me m o 2 . L i n e s . S a v e T o F i l e S a v e D i a l o g 1 . F i l e N a m e ; S h o w Me s s a g e 4路数 据保存顺 利完成 ; e n d e l s e e x i t ; ex c e pt s h o w m e s s a g e 保存文件出现问题 ; e n d ; / / 代码段 A 2结束 2液压元件静态试验中试验数据的保存和显示 由于液压元件 的静态试验对传感器信号采样时间 间隔比较长 ,即对采集速度要求不高 ,可以在 程序里 设计一 个 M e m o界面 图 1 ,实现数 据采 集 和显示 的同步 ,即每采集 一次数据 ,M e m o中就 同步显示 采 集到数据的数值 。当静态试验 的数据采集结束后 ,点 击 “ 保存数据 ”按钮 ,就把 Me m o 里的数据保存到硬 盘文本 文件里 面。具体实现可参考代码段 A 1 和 A 2 。 图 1 M e m o中的采样数据 上面关于动态试验和静态试验的数据显示和保存 的 D e l p h i 实现表 明 ,使用 D e l p h i 软件中 M e m o 控件 的 相应 属性 和方法 ,可 以非常方便 地实现 动态试验和静 态试 验的数据显示 和保存 ,而且 具体 的试验也验证了 该方法是可行的。 3通过 D e l p h i 对 i n i 文件的读写操作实现对系统 配置信息的保存和调用 图 2 参数设 置界 面 在液压试验中需要 使 用大 量 的传 感 器 比如压 力传感器,流量传感器对液压管路的压 力和流量 进行采集 。由于实验室的温度 、大气压 以及电气环境 的改变都会对传感 器的线性度产生影响 ,所以经常需 要在程序里对传感 器进行重 新标定 以保证测 量精度 , 这是件 比较 麻烦 的工 作 。这 里通 过 D e l p h i 软件设 计 4 6 机床与液压 第 3 8卷 一 个统一的参数设置界 面 图 2 ,在这 里可 以方便 地对各个传感 器 的通 道 、线性 函数 的系数项 进行设 置 ,同时也 可以对定时器的时间参数和其 他的一些辅 助信息进行设置。作者通过 D e l p h i 软件对 i n i 文件的 读写操作非常方便地实现了该功能 ,使各个子程序对 这些通用信息可以方便地调用和修改。文献 [ 2 ]详 细地介绍 了 D e l p h i 软件对 i n j 文 件的操作 ,这 里使用 D e l p h i 中的 T i n i fi l e类 的具 体方 法来实 现该功 能 ,下 面选取 了一部分具有代表性的代码 / /创建 i n i 文件类实例 m y i n i my i n i T i n i fi l e . C r e a t e e x t r a c t fi l e p a t h a p p l i c a t i o n . E x e N a me r e g . i n i ; / /从 r e g . i n i 文件读人信息 c h ~y a l i l m y i n i . R e a d l n t e g e r 动态 特性试验参 数 设置 , 压力 1 传感器通道 , 3 ; s t r a l y a l i 1 m y i n i . R e a d S t r i n g 动态特性试验 参 数设置 , 压力 l 一次项 系数 , 1 4 0 . 6 ; s t r _a 0一y a l i l m y i n i . R e a d S t r i n g 动态特性试验参 数设置 , 压力 1 零次项 系数 , 一 1 ; s t r d o n g t a is a m p l e m y i n i . R e a d S t r i n g 动态特 性 试验参数设置 , 定时器时间 , 1 0 0 0 ; s 打 一a Ol i u l i a n g m y i n i . R e a d S t r i n g 动态特性试 验 参数设置 , 流量 系数 , l s t r _n o m y i n i . R e a d r i n g 动态 特性试 验参 数设 置 , 设备编号 , 设备 1 ; s t r m e m o m y i n i . R e a d S t r i n g 动态特性试验 参数 设置 , 备 注信息 , 动态试验 ; / / 把信息写入 r e g . 文件 m y i n i . Wr i t e l n t e g e r 动态特性试验参数设 置 , 压 力 1 传感器通道 , c h y a l i l ; m y i n i . Wr i t e S t r i n g 动 态特性试验参 数设置 , 压力 1 一次项系数 , a l y a l i l ; m y i n i . Wr i t e S t r i n g 动态特性 试验参数 设置 , 压力 1 零次项系数 , a O y a l i 1 ; m y i n i . Wr i t e S t r i n g 动态 特性 试验 参数设 置 , 定 时 器时间 , d o n g t a i t i m e r ; m y i n i . Wr i t e S t r i n g 动态特 性试验参数 设置 , 流量 系数 , 【q 】 一 l i u l i a n g ; m y i n i . Wr i t e S t r i n g 动态特性试 验参数设 置 , 设 备 编号 , s t r n O ; m y i n i . Wr i t e S t r i n g 动态特性试验 参数设置 , 备注 信息 , s t r m e m o ; / / 释放资源 m y i n i my i n i . fle e; 4结束语 详细介 绍了使用 D e l p h i 软件 开发 液压试验 数据 保存和显示程序的具体过程,介绍了M e m o 控件的应 用和 D e l p h i 对 i n i 文件 的读写操作 ;根据液压元 件动 态试验和静态试验特点 ,详细分析 了程序开发的思路 及其实现方法。通过在液压试验 中的实际应用 ,验证 了该 程 序 是 可 靠 的 、实 用 的。文 中所 有 程 序 均 在 Wi n d o w s 2 0 0 0和 D e l p h i 7环境下调试通过。 参考文献 【 1 】牛汉 民. D e l p h i 7应用开发教程 D e l p h i 程序员认证 [ M] . 北京 科学出版社 , 2 0 0 5 . 9 . 【 2 】 韦伟, 陈华. D e l p h i 中对 i n i 文件的读写操作[ J ] . 黄冈职 业技术学院学报 , 2 0 0 6 , 8 1 8 3 8 5 . 上接第 6 9页 6结论 在深 海 环 境 下 ,电 液 比例 系 数 宜 采 用 P I D控 制 ,其 比例 系数 K 不 应该 用 固 定的 值 ,采 用 可变 的值较好 ;随着油液黏度 或海水深 度 的增 加 比 例系数采用适当大一点的值,这样会改善在高阻尼 系数 高黏度或深海条件 下的系统 动态特性 ,而 在低阻尼系数 低 黏度 或 浅 海 下应 该减 小 的 值 。 参考文献 【 1 】 朱凡, 王振华, 孙运强. 基于 M A T L A B的电液比例控制 系统仿真研究[ J ] . 机械工程与自动化 , 2 0 0 7 1 5 9 61 . 【 2 】 杨叔子, 杨克冲, 等. 机械工程控制基础 [ M] . 5版. 武 汉 华中科技大学出版社 , 2 0 0 5 . 7 。 【 3 】曹学鹏, 邓斌, 于兰英, 等. 基于混合润滑的深海溢流阀 动特性研究[ J ] .机械科学与技术, 2 0 0 9 9 . 【 4 】柯坚. 现代水压驱动技术[ M] . 成都 西南交通大学出版 社 . 2 0 0 2 . 1 . 上接 第 8 8页 【 2 】 李军, 李玉军, 王祖温, 气动充放气 系统的流场计算 [ J ] . 机床 与液压 , 1 9 9 9 2 2 4 2 6 . 【 3 】田中宏明. 滴状凝缩c 二 圉寸6 研究理揄的研究[ C ] / / 日 本樾械学会揄文集 第二部 . 1 9 7 3 3 0 9 9 3 1 1 3 . 【 4 】 J I N Y i n g z i , WA N G Z u w e n , B A O G a n g . C o n d e n s a t i o n d u ri n g d i s c h a r g i n g o f p n e u m a t i c s y s t e m[ J ] . J o u r n a l o f F l u i d s E n g i n e e r i n g, T r a n s a c t i o n s o f t h e A S ME, 2 0 0 4, 1 2 6 2 4 3 0 43 5. 【 5 】 韩占忠, 王敬, 兰小平. F L U E N T 流体工程仿真计算实例 与应用 [ M] . 北京 北京理工大学出版社 , 2 0 0 4 . 【 6 】李玉军, 王祖温, 包钢. 考虑管路特性的气动系统的流场 计算[ J ] . 热能动力工程, 2 0 0 0 9 5 0 6 5 0 9 .