)发送命令
Do
Dummy=Do Everts(1)
Loop Until Form 1. MSComm 1. In Buffer Count>=27
Instring$=form1. MSComm 1. Input接受数据
Label 1(0). caption="MID"$(instring$,8,4)
Label 1(1). caption="MID"$(instring$,12,4)
Label 1(2). caption="MID"$(instring$,16,4)
Label 1(3). caption="MID"$(instring$,20,4)
From1. MSComm 1. Port Open="Faise"
End Sub
数据是以帧为单位发送的,每次接受一帧时计算FCS并将结果与包含在帧中的FCS比较使之能检查帧中的数据错误。FCS是转换成2个ASC Ⅱ字符的8位数据,这8位数据是对帧开始数据直到此帧正文结束的数据进行异或运算的结果。VB 6.0下的FCS函数代码如下:
Function fcs(O$)
Dim B%,I%,Ⅱ%,FF$
B
%=0
Ⅱ%=Len(O$)
For I%= I TO Ⅱ%
B%=B%×or Asc(Mid(O$,I%,1))
Next I%
FF$二He×$(B%)
1f Len(FF$)=1 Then
FF$=0+FF$
End If
Fcs=FF$+*
End Function
3 结束语
本例已成功地应用于硫化机自动控制系统中,从实际运行情况,状态良好。当然,它有待不断完善,使之画面更丰富,功能更强大。