- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于VB 6.0串口通信的气压测高系统数据采集实现
利用MSComm控件实现计算机通信的关键是理解并正确设置MSComm控件众多属性和方法。以下是MSComm控件的常用属性和方法:
Commport:设置或返回串口号,类型short。
Settings:以字符串的形式设置或返回串口通信参数。
Portopen:设置或返回串口状态。
InputMode:设置或返回接收数据的类型。
Inputlen:设置或返回一次从接收缓冲区中读取字节数,类型short。
Input:从接收缓冲区中读取数据并清空该缓冲区,该属性设计时无效,运行时只读。
Output:向发送缓冲区发送数据,该属性设计时无效,运行时只读。
Rthreshold:当接收缓冲区中字符数达到该值时,MSComm控件设置Commevent属性为ComEvReceive,并产生OnComm事件。
Sthreshold:当发送缓冲区中字符数小于该值时,MSComm控件设置Commevent属性为ComEvSend,并产生OnComm事件。若Sthreshold属性设置为0,则不产生OnComm事件。
CommEvent:串口事件,该属性设计时无效,运行时只读。一旦串口发生通信事件或产生错误,依据产生的事件和错误,MSComm控件为CommEvent属性赋不同的代码,同时产生OnComm事件。用户程序就可在OnComm事件处理程序中针对不同的代码,进行相应的处理。
4 利用VB 6.0实现数据采集的串行通信
在VB 6.0编程环境下,新建工程并引用MSComm控件,在窗体中添加所需控件,构建一个合理的收发界面。在窗体中还需要添加以下几个基本控件:
(1)MSComm控件,主要用于软件对串口的访问。由于需要实现多台气压测高接收机的测试,需要添加多个控件。
(2)定时器控件,用于使PC机定时向各气压测高接收机发送命令,使其定时回传实时数据。
(3)非周期命令发送按钮,用于非周期性指令的传送启动。
(4)数据保存按钮,用于将采集到数据保存为文本文件,便于数据后处理。
(5)用于数据接收数据和发送数据的文本框。
首先,应对窗体中MSComm控件初始化设置:
每个气压测高接收机回传数据时即可以在PC机上引发各自的OnComm()事件,相互之间不存在数据干扰问题,数据采集后分别保存为文本文件,为后期数据处理提供原始数据。
5 结 语
本文介绍了VB 6.0的串行通信控件,分析了串口通信系统硬件构成和主要程序解决过程,有效提高了气压测高系统的测试效率,确保了数据采集的实时性和正确性。通过应用表明,数据采集准确,系统性能稳定,数据后处理方便。
作者:王晓岚(中国科学院国家天文台 北京 100012) 来源:中电网