📄 120.txt
字号:
W=W+1 注释:计数器加1
av = .Input 注释:读取通道状态字节
ab(0) = av(0) 注释:转换保存到字节数据类型数
For i = 1 To 8 注释:通道状态数组复位
TD(i) = False
Next i
cn = 2 注释:帧长度赋初值,一个开始字,一个状态字
If ab(0) >= 128 Then 注释:判断第八通状态
TD(8) = True 注释:第八道是真
ab(0) = ab(0) - 128 注释:第7位置零
cn = cn + 3 注释:帧长度加3个字节
End If
If ab(0) >= 64 Then 注释:判断第七通状态
TD(7) = True 注释:第七道是真
ab(0) = ab(0) - 64 注释:第6位置零
cn = cn + 3 注释:帧长度加3个字节
End If
If ab(0) >= 32 Then 注释:判断第六通状态
TD(6) = True 注释:第六道是真
ab(0) = ab(0) - 32 注释:第5位置零
cn = cn + 3 注释:帧长度加3个字节
End If
If ab(0) >= 16 Then 注释:判断第五通状态
TD(5) = True 注释:第五道是真
ab(0) = ab(0) - 16 注释:第4位置零
cn = cn + 3 注释:帧长度加3个字节
End If
If ab(0) >= 8 Then 注释:判断第四通状态
TD(4) = True 注释:第四道是真
ab(0) = ab(0) - 8 注释:第3位置零
cn = cn + 3 注释:帧长度加3个字节
End If
If ab(0) >= 4 Then 注释:判断第三通状态
TD(3) = True 注释:第三道是真
ab(0) = ab(0) - 4 注释:第2位置零
cn = cn + 3 注释:帧长度加3个字节
End If
If ab(0) >= 2 Then 注释:判断第二通状态
TD(2) = True 注释:第二道是真
ab(0) = ab(0) - 2 注释:第0位置零
cn = cn + 3 注释:帧长度加3个字节
End If
If ab(0) >= 1 Then 注释:判断第一通状态
TD(1) = True 注释:第一道是真
cn = cn + 3 注释:帧长度加3个字节
End If
For i = 1 To 8 注释:
If TD(i) = True Then
av = .Input 注释:读取第一个数据字节(BCD码高位字节)
ab(2) = av(0) 注释:转换保存到字节数据类型数组
av = .Input 注释:读取第二个数据字节(BCD码低位字节)
ab(3) = av(0) 注释:转换保存到字节数据类型数组
av = .Input 注释:读取第三个接收字节(符号位字节)
ab(4) = av(0) 注释:转换保存到字节数据类型数组
b1 = ab(2) - 6 * (ab(2) \ 16) 注释:高位字节压缩BCD码转换为实数
b2 = ab(3) - 6 * (ab(3) \ 16) 注释:低位字节压缩BCD码转换为实数
WW = b2 + b1 / 100 注释:数值组合,标定小数点
If ab(4) > 127 Then WW = -WW 注释:判断数据符号位
Label1(i-1) = Format(WW,"0.00") 注释:显示毫米单位数值,2位小数
If WW>Wmax(i) And WW<51 Then 注释:判断最大值,仪表在刚开始工作时有干扰,会传导一些乱码,位移传感器有参数偏差,最大值一般都略大于50毫米,所以取51为极限最大值,取-51为极限最小值。
Wmax(i) = WW
Label2(i-1)=Format(Wmax(i),"0.00") 注释:显示最大值
End If
If WW < Wmin(i) And WW > -51 Then 注释:判断最小值
Wmin(i) = WW
Label3(i-1)=Format(Wmin(i),"0.00") 注释:显示最小值
End If
End If
Next i
.RThreshold = cn 注释:打开MSComm1事件接收
Else
.RThreshold = 1
End If
Case Else
End Select
End With
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -