这是我的代码,是通信模块的,第一个判断是判断是否接收到信息的判断。第二个if是判断当前信号是否联通,我设定的是当收到0x1F的时候认为通信正常,然后才进行收发,标志位就是 State_Comm,并且我设定的串口空间Mscomm的接收方式是接收二进制代码。但是始终卡在Tag_Temp = &H1F 这句话上,好像系统根本就不进行判断。
Sub OnComm(Byval Item)
Dim Tag_Temp
Dim Tag_Receive
Dim Delta_Set
DimState_Comm
Set Tag_Receive = HMIRuntime.Tags("Tag_Receive")
Set Delta_Set = HMIRuntime.Tags("Delta_Set")
Set State_Comm = HMIRuntime.Tags("State_Comm")
If Item.CommEvent = 2 Then
Tag_Temp = Item.Input
Tag_Receive.Value = Tag_Temp
Tag_Receive.Write
If State_Comm.Read = 0 Then
HMIRuntime.Trace("通信没有建立" & vbCrLf)
If Tag_Temp = 0 Then
HMIRuntime.Trace("1.5.1" & vbCrLf)
State_Comm.Write 1
Item.Output = "?"
Else
HMIRuntime.Trace("1.5.2" & vbCrLf)
End If
Else
HMIRuntime.Trace("通信已经建立" & vbCrLf)
Delta_Set.Value = Tag_Temp
Delta_Set.Write
End If
End If
End Sub