MSComm1.OutBufferSize = 256 '输出缓冲器大小
MSComm1.InputMode = comInputModeBinary '以二进制传输
MSComm1.OutBufferCount = 0 '清空发送缓冲区
MSComm1.InBufferCount = 0 '清空接收缓冲区
End Sub
Private Sub Timer1_Timer() '定时器1有效,触发接收事件
MSComm1.PortOpen = True '打开端口
ReDim aa(0 To 5) '定义动态数组 字串2
k1 = 0 '识别PLC站号,为1
If k1 = 0 Then MSComm1.Output = "1" + Chr(10) + Chr(13) '发送
Do While MSComm1.InBufferCount = 0 '准备接收数据
Loop
aa = MSComm1.Input '接收数据存入数组
If aa(0) > 64 Then GoTo xxx:
k2 = Int(aa(0) * 255 + aa(1) * 1)
Select Case k2
Case 1
p11 = Int(aa(2) * 255 + aa(3) * 1)
字串7
p22 = Int(aa(4) * 255 + aa(5) * 1)
Case Else
End Select
k1 = k1 + 1
If k1 > 2 Then k1 = 0
xxx:
MSComm1.PortOpen = False
End Sub
Private Sub Timer2_Timer() '绘制各中频炉的温度曲线
x1 = x1 + 1 '时间增加为1S
Picture1.PSet (x1, p11), vbRed '绘制1#炉的温度曲线,为红色
Picture1.PSet (x1, p22), vbBlue '绘制2#炉的温度曲线,为黄色
Text1.Text = Str(p11) '输出1#炉温度值
字串6
Text2.Text = Str(p22) '输出2#炉温度值
Text3.Text = Str(x1) '输出监控时间
字串4

