基于VB的串口通讯及其软件实现(4)

2012-08-26 22:29


  (3) 程序开始后在一定情况设置Timer1.Enabled属性值为True 激活Timer1_Time事件,可以在固定的时间间隔下执行Timer1_Timer过程中的代码程序,完成数据采集。在Timer1_Timer过程中添加如下代码:
  MSComm1.Output = "COMMUNICATE:WAIT 1" + Chr(13) + Chr(10)
  MSComm1.Output = "MEASURE:NORMAL:VALUE?" + Chr(13) + Chr(10)
  上述语句是将读取指令发送到串口输出缓冲区(注意每个命令字符串后都要加上回车和换行符Chr(13) + Chr(10)),再由系统将其自动发送给通过RS232通信线与计算机端口连接的WT230数字功率计,功率计在接收到命令字符串后,经过自身的单片机处理,就自动地把它测到的电压、电流、功率数据以固定的格式和字符形式通过RS232通信线传回至计算机,计算机程序从输入缓冲区读取这些字符数据并利用VB字符处理函数(如Val,InStr)进行处理就得到了所要的数据,下面是具体的程序代码。
  Dim bytinput() as byte ‘注意要将bytinput定义为不定长数组
  Dim strtem As String
  Dim i as Integer
  bytinput =MSComm1.Input ‘将输入缓冲区数据读入给字节型数组bytinput
  For i = 0 To UBound(bytinput)
  strtem = strtem + Chr(bytinput(i)) ‘字节数组中的ASCII码值转换成相应 Next 的字符
  得到的strtem字符就形象的展示了电流、电压和功率值。对于WT230而言,它的数据结构是这样的,每个数据之间由逗号字符“,”隔开,每个数据以用科学计数法表示,且每个数据以字符“E”分为前半部分和后半部分,前半部分为具体的数据(整数形式),后半部分为此数据的指数,指数的底为10。

  例如得到strtem的值为“23423E-2,00241E-3,05645E-2”这就表示电压值为234.23 V,电流值为0.241 A,功率为56.45 W。
  
  6结论
  
  串口通讯的硬件投资少,软件编程简单,在低速少量数据传输方面的应用极其广泛的应用。本文详细介绍了串口通讯的基本内容及其具体实现方式,读者可以根据具体情况进行选择。以上代码是实现串口通信的核心部分,经过笔者在多个数据采集系统开发中的应用,具有较强的实用价值。
  
  参考文献
  1 李朝青.PC机及单片机数据通信技术[M].北京:国防工业出版社,2002
  2 李长林.Visual Basic串口通信技术与典型实例[M].北京:清华大学出版社,2006
  3 [美] Microsoft公司著、北京希望电脑公司译.Microsoft Visual Basic 6.0 控件参考手册[M],1999
  4 朱友芹.新编Windows API参考大全[M].电子工业出版社,2000
  5 MOXA Crop.Pcomm Library Programming Guide,1998
  6 范逸之.Visual Basic 与RS232串行通信控制.北京:中国青年出版社,2000

基于VB的串口通讯及其软件实现(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:怎样让灾备不惧“遥远”

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: