你现在位置:首页>技术论文>数据通讯>正文
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   
WWW_P※LCJS_CO※M-PLC-技-.术_网

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

Dim Out(12) As Byte ’接收var中的值  
W1WW_P4LCJS_COM-PLC-技.术_网

Dim var As Variant ’接收MSC.input中的数值  
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

Dim nRece As Integer ’计算MSC.inputbuffer的个数  
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

Dim i As Integer, j As Integer ’随即变量,计算循环  
WWW_PLCJS@_COM%-PLC-技.术_网

****************************************************************************  
WWW_P※LCJS_CO※M-PLC-技-.术_网

Private Sub Form_Load()  
P.L.C.技.术.网——可编程控制器技术门户

 ClearText  
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

 With MSC  
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

  .CommPort = 1 ’设置Com1为通信端口  
WWW_PL※CJS_COM-PLC-技.术_网

  .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字节  
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

  .InputLen = 1 ’设置Input一次从接收缓冲读取字节数为1  
plcjs.技.术_网

  .RThreshold = 1 ’设置接收一个字节就产生OnComm事件  
WWW_PLC※JS_COM-PmLC-技.术_网

 End With  
WWW_P※LCJS_COM-PLC-)技.术_网

End Sub  
WW.W_PLCJS_COM-PLC-技.术_网

****************************************************************************  
WWW_P※LCJS_COM-PLC-)技.术_网

Private Sub ClearText()  
WW.W_PLC※JS_C,OM-PL,C-技.术_网

 Text3.Text = ""  
WWW_PL※CJS_COM-PLC-技.术_网

 Text2.Text = "5"  
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

 Text1.Text = ""  
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

End Sub  
WWW_P※LCJS_COM-PLC-)技.术_网

Private Sub Command1_Click()  
W1WW_P4LCJS_COM-PLC-技.术_网

 ClearText  
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

 ’ nRece = 0 ’计数器清零  
WWW_P※LCJS_CO※M-PLC-技-.术_网

 With MSC  
WW.W_PLCJS_COM-PLC-技.术_网

  .InputMode = comInputModeBinary ’设置数据接收模式为二进制形式  
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

  .InBufferCount = 0 ’清除接收缓冲区  
——可——编——程——控-制-器-技——术——门——户

  If Not .PortOpen Then  
WW.W_PLCJS_COM-PLC-技.术_网

   .PortOpen = True ’打开通信端口  
——可——编——程——控-制-器-技——术——门——户

  End If  
WWW_PL※CJS_COM-PLC-技.术_网

 End With  
WWcW_PLCJS_COM-PLC-技.术_网

End Sub  
WWW_PLCJS_COM-PLC-技.术_网

Private Sub MSC_OnComm()  
——可——编——程——控-制-器-技——术——门——户

 DelayTime ‘用来延续时间  
WWW.PLCJS.COM——可编程控制器技术门户

 ClearText  
WWW_PLC※JS_COM-PmLC-技.术_网

 With MSC  
WWW_PLCJS@_COM%-PLC-技.术_网

  Select Case .CommEvent ’判断通信事件  
WWcW_PLCJS_COM-PLC-技.术_网

  Case comEvReceive: ’收到Rthreshold个字节产生的接收事件  
P.L.C.技.术.网——可编程控制器技术门户

   SwichVar 1  
WW.W_PLC※JS_C,OM-PL,C-技.术_网

   If Out(1) = 2 Then ’判断是否为数据的开始标志  
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

    .RThreshold = 0 ’关闭OnComm事件接收  
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

   End If  
WWcW_PLCJS_COM-PLC-技.术_网

   Do  
WWW_PLC※JS_COM-PmLC-技.术_网

    DoEvents  
plcjs.技.术_网

   Loop Until .InBufferCount >= 3 ’循环等待接收缓冲区>=3个字节  
WWW_PLCJS_COM-PLC-技.术_网

   ’ nRece = nRece + 1  
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

   For i = 2 To 12  
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

    SwichVar i  
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

    Text1.Text = Text1.Text & Chr(Out(i))  
P.L.C.技.术.网——可编程控制器技术门户

   Next  
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

   Text1.Text = LTrim(Text1.Text)  

本新闻共3页,当前在第11 2  3  
WWW_PLCJS@_COM%-PLC-技.术_网

上一篇: 求助RSLINX
下一: PROFINET简介
评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行