版权归原作者所有,如有侵权,请联系我们

[科普中国]-采集程序

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

直接的或间接的获取材料按照指定的规则定向获取其它数据的一种方式。

VB的发动机运行监控系统数据采集程序设计在摩托车发动机电喷系统的研究中,各项参 数的标定是很重要的内容。传统标定过程需要外接设备来显示空气流量、节气门开度等信号,在调节喷油量和点火提前角时需要手动调节电位计,操作复杂,测量误差大 ;而且采用传统的测试系统,采集数据会花费大量的时间和费用。可视化、面向对象的VisualBasic编程语言,具有良好的界面设计能力和强大的串口通信功能,而且编程工作量小,开发周期短。因此利用VisualBasic6.0开发该发动机运行监控系统,通过MSComm通信控件采集发动机运行时的各类数据,并且显示在监控系统界面上,可实现对发动机运行参数的实时监控,以减少由人工操作引起的误差,提高工作效率。其还可 以通过自动调节喷油脉宽和点火提前角,获取发动机动力性、排放性和经济性最佳时的参数值。1

MSComm通信控件MSComm是Microsoft提供的Windows下串行通信编程的ActiveX控件,它提供了一系列标准通信命令的使用接口,可建立起与串口的连接,并可通过串口连接到其他通信设备(如Modem),从而实现发出命令、交换数据以及监视和响应串行连接中发生的事件和错误等功能。MSComm控件提供了通过事件驱动和查询法两种处理通信问题的方法。

该系统数据采集模块包括数据接收和在线修正两部分,前者使用事件驱动,是数据输入部分 ;后者使用查询方式,是数据输出部分。之所以在数据接收部分使用事件驱动是因为在这种方式下程序响应及时,可靠性高,特别适合Windows系统下程序的编写,能实现微机串口的数据通信。而且一旦有传输事件发生就会触发Mscomm控件的Oncomm事件捕获并处理这些通信事件,同时还可以检查和处理通信错误。在线修正部分使用查询方式是为了使数据传输和发送可以同步进行同时又方便了操作。1

相关参数的技术说明该系统串口数据通信协议是:数据传输速率为9600bps,无奇偶校验位,8位数据位,一位停止位。为节省传输时间,并使采集数据的实时性更高,设定输入数据类型Inputmode=1,即为二进制 形式;根据单片机每秒钟发送的数据帧数,设定输入缓冲区inbuffersize为512B,由于修正数据的发送是间断性的,不会因缓冲区满而出现错误,因此不需要设置太大的发送缓冲区。设定输出缓冲区outbuffer-size为10B。定义间隔时间为500ms,在发送完数据500ms后清空接收缓冲区,使得修正数据不会由于接收缓冲器满而被丢弃。最小接收字长Rthreshold和最小发送字长Sthreshold都设置为1。1

USB2.0接口陀螺测试系统的设计详细地阐述了USB2.0基本规范,着重探讨了USB总线协议和通信原理;接着概述了陀螺测试方面的基本知识,介绍了USB脉冲数据采集系统硬件的搭建以及FPGA中电路原理图的设计;然后论述了相应固件程序和WDM模式驱动程序的总体结构以及驱动程序中各个子模块的功能和特点,并结合本设计说明如何编制一个WDM型设备驱动程序来实现应用程序与USB设备之间的通信;最后,详细论述应用程序如何对USB接口上传的数据进行实时处理和显示。

缠绕机张力控制系统应用程序的两种方法简要介绍了数控纤维缠绕机张力控制系统数据采集控制回路的特点,重点论述了在DOS和Windows操作平台下数据采集应用程序的两种编制方法,并对这两种方法的优缺点进行了比较。2

张力控制系统的数据采集控制回路张力控制系统数据采集系统主要由工控机和数据采集卡组成。张力控制系统数据采集系统中A822PGL是高精度的多功能模拟、数字输入输出卡,它采用PC机ISA总线技术,直接插在工控机ISA插槽即可工作。A822PGL有软件可编程增益控制:可输入16路单端(或8路差动) 模拟信号进行12位A/D转换;最大采样频率可达l00K次/s: 有两路12位数模转换通道;提供16路TTL数字量输 入、输出和一个可编程的16位定时/汁数通道。A822PGL多功能板占用了计算机从0x220H基地址(BASE ) 开始的连续16个IO地址,要进行A/D、D/A、DIO等操作,只须在相应的IO地址中读取数据,或写入数据和控制字。即可对使多功能板行使相应的功能。为了使输入信号平滑、降低干扰,将A822PGL级联一个16路多通道输入输出隔离板DB一889D。2

应用程序编制的两种方法基于MS一DOS平台,用C语言编写程序进行数据采集、数据采集是控制软件的主体部分,为适应实时测控的要求,一般设置中断处理功能,它能够实时的采集外部信号,根据控制算法及时处理,再驱动相应的执行机构动作,实现对被控对象的控制。程序中将时钟中断作为计数器,当采样频率为3次毛乡时,时钟每计数6次,触发A282PGL进行数据采集,同时将采集的数据存入缓存。

DOS环境下编制中断服务程序,必然涉及DOS的重入问题,DOS是不可重入的,故中断程序中不应有涉及DOS系统调用的一些TurboC函数,如printf() 等,此外,中断程序还应设有忙标志,如系统忙,则退出中断程序。在进入中断程序进行数据采集过程中,系统不希望被其它中断打断,需用disable()函数来关闭中断;在系统允许中断时,用enable()函数开放中断。2

本词条内容贡献者为:

王沛 - 副教授、副研究员 - 中国科学院工程热物理研究所