• ug6.0插件 > 在WIN98 下用 Delphi6.0 开发瞬间检测软件
  • 在WIN98 下用 Delphi6.0 开发瞬间检测软件

    免费下载 下载该文档 文档格式:PDF   更新时间:2004-08-01   下载次数:0   点击次数:1
    文档基本属性
    文档语言:Simplified Chinese
    文档格式:PDF
    文档作者:微软用户
    关键词:
    主题:
    备注:
    点击这里显示更多文档属性
    在 WIN98 下用 Delphi6.0 开发瞬间检测软件
    Development of Instant Measurement Software by Delphi6.0 under Windows 98
    李鹏
    Li,Peng
    数据的快速采集,处理与绘图. 关键词:汇编语言, 数据采集, 绘图
    钟宝荣
    李华贵
    Li,Huagui
    Zhong,Baorong
    摘要:本文介绍了安全带紧急锁止性能测试系统的要求,阐述了在 Windows98 下,用 Delphi6.0 编程实现
    Abstract: The paper introduces the requirements of the lap-belt locking function in urgency. The quick acquisition, processing and painting of data are programmed and realized by Delphi6.0 under Windows98. Keywords: Assembly Language, Data Acquisition, Painting
    1
    引言
    经过 40 多年的发展,汽车安全带逐渐走向成熟,当驾,乘人员系上安全带后,当车辆 万一出现紧急制动,正面碰撞或发生翻滚时,卷收器自动将其拉紧,可以避免乘员被摔出车 外或碰撞受伤,因此卷收器的自锁功能是关键.当前,国外有些国家使用了新的安全带紧急 锁止标准,即提高了安全带出厂的质量标准,主要有两项技术指标:①在加速度 g 达到最大 时,位移 s 必须在规定的范围内;②而且刹车期间平均加速度变化率 g(t)/t 要大于某一值. 因此,根据已设计的一种新的测试台架,用于模拟安全带紧急锁止运行状况,用计算机检测 瞬间的加速度和位移以及相应的检测时间, 并根据快速采集的数据绘制曲线, 直观地用曲线 与数据将结果显示出来,以判定安全带是否合格.
    2
    软件结构
    2.1 所用编程语言 本系统在 WIN98 下使用可视化编程环境 Delphi6.0 开发, 由于 Delphi6.0 不支持I/O操 作语句, 所以, Delphi 中嵌套使用了 8088/8086 汇编语言, 在 解决了对底层硬件访问的问题, 从而实现了对加速度和位移两信号的快速采集,提高了代码的执行效率. 2.2 软件结构 软件结构包括参数选择输入,设备自诊断,历史曲线以及安全带检测四个模块,主要是 安全带检测模块,安全带检测模块的结构图如图1所示.
    安全带检测模块
    零位测试
    信号采集
    数据处理与存盘
    显示曲线与结果
    图1
    安全带检测模块的结构
    为了提高测量精度,首先调用使用汇编语言编写的采集程序,采集静态的零位值,以 便扣除系统的底值, 然后进入模拟安全带紧急锁止运行状况的数据检测程序, 将瞬间采集到
    1
    的数据经处理后以文件形式存盘,最后显示,打印 g-t 和 s-t 曲线以及结果.
    3
    具体实现实例
    3.1 信号采集程序 通过按钮事件(Button Click)直接进入采集程序,主要由被嵌套的汇编语言程序完成 采集两路信号的瞬间检测,包括循环采集次数,采集间隔和出口数据等.在编写汇编语言程 序时, 与在宏汇编下有几点不相同: 这里的汇编语言程序一定要以"asm"开时, 以"end;" 结尾;标号地址一定要以@打头;将汇编指令中8位寄存器的值只能传送给Pascal 语言的 字节变量. 为了完成对两路瞬间电压信号的快速采集, 在加速度以及位移传感器与PC微机 之间, 设有电压放大和高分辨率的并行A/D转换卡, 由嵌套在 Delphi6.0 中的汇编语言程 序控制A/D转换器, 并读取A/D转换的值, 例如, 实用中采集加速度的主要程序段如下: procedure TForm2.Button2Click(Sender: TObject); var gh:array[1..10000] of integer; x1,x2:byte; i,a:integer; begin asm push ax push dx mov dx,228h //选通道 mov al,0 //采加速度 out dx,al mov dx,221h out dx,al //启动转换 mov dx,22eh @q1: in al,dx //读转换结束标志 and al,80h jnz @q1 mov dx,221h //读高 8 位数据 in al,dx mov x1,al //8 位寄存器的值传送给变量 mov dx,220h //读低 8 位数据 in al,dx mov x2,al pop dx pop ax end; //asm 结束 a:=(x2 div 16)+x1*16; //结果存入 a 变量 gh[i]:=a; //结果存入数组变量 end; 3.2 以文本文件存数据 将所采集数据作为文本文件存盘,如果文件名取为 cj,再加上当前的年月日时分,可用 下面程序段实现:

    下一页

  • 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
  • 免费下载 PDF格式下载
  • 您可能感兴趣的
  • 大脚插件  魔盒插件  坦克世界插件  坦克世界瞄准插件  大脚插件官网  蘑菇插件  flash插件  魔兽世界插件  坦克世界弱点插件