VB程序以串口方式访问电子秤实例-PLC技术网(www.plcjs.com)-可编程控制器技术门户


VB程序以串口方式访问电子秤实例

 (点击题目可以在互联网中搜索该题目的相关内容)
日期:2006-7-23 22:22:42     来源:   作者: 点击:
点击【 大  中  小 】,可以选择字体的大小,以便你阅读.
       现有电子秤一台,使用串口与计算机进行通讯。编写VB程序来访问串口,达到读取电子秤上显示的数据。该电子秤为BE01型仪表,输出为RS-232C标准接口,波特率为300-9600、偶校验、7个数据位、2个停止位。所有字符均发送11位ASCII码,一个起始位。在VB中与串口通讯需要引入控件MSComm串口通讯控件(在Microsoft Comm Control 6.0中)。具体程序如下:控件简称:MSC   

Dim Out(12) As Byte ’接收var中的值  
Dim var As Variant ’接收MSC.input中的数值  
Dim nRece As Integer ’计算MSC.inputbuffer的个数  
Dim i As Integer, j As Integer ’随即变量,计算循环  
****************************************************************************  
Private Sub Form_Load()  
 ClearText  
 With MSC  
  .CommPort = 1 ’设置Com1为通信端口  
  .Settings = "9600,E,7,2" ’设置通信端口参数 9600赫兹、偶校验、7个数据位、1个停止位.(这里需要进一步说明的是:.Setting=”BBBB,P,D,S”。  
  含义是:B:Baud Rate(波特率);P:Parity(奇偶);D:Data Bit;S:Stop Bit)  .InBufferSize = 40 ’设置缓冲区接收数据为40字节  
  .InputLen = 1 ’设置Input一次从接收缓冲读取字节数为1  
  .RThreshold = 1 ’设置接收一个字节就产生OnComm事件  
 End With  
End Sub  
****************************************************************************  
Private Sub ClearText()  
 Text3.Text = ""  
 Text2.Text = "5"  
 Text1.Text = ""  
End Sub  
Private Sub Command1_Click()  
 ClearText  
 ’ nRece = 0 ’计数器清零  
 With MSC  
  .InputMode = comInputModeBinary ’设置数据接收模式为二进制形式  
  .InBufferCount = 0 ’清除接收缓冲区  
  If Not .PortOpen Then  
   .PortOpen = True ’打开通信端口  
  End If  
 End With  
End Sub  
Private Sub MSC_OnComm()  
 DelayTime ‘用来延续时间  
 ClearText  
 With MSC  
  Select Case .CommEvent ’判断通信事件  
  Case comEvReceive: ’收到Rthreshold个字节产生的接收事件  
   SwichVar 1  
   If Out(1) = 2 Then ’判断是否为数据的开始标志  
    .RThreshold = 0 ’关闭OnComm事件接收  
   End If  
   Do  
    DoEvents  
   Loop Until .InBufferCount >= 3 ’循环等待接收缓冲区>=3个字节  
   ’ nRece = nRece + 1  
   For i = 2 To 12  
    SwichVar i  
    Text1.Text = Text1.Text & Chr(Out(i))  
   Next  
   Text1.Text = LTrim(Text1.Text)  

本新闻共3页,当前在第11 2  3  

上一篇: 求助RSLINX
下一: PROFINET简介