您现在所在的是:

西门子SIEMENS

回帖:0个,阅读:315 [上一页] [1] [下一页]
609
zhubeilife
文章数:1
年度积分:50
历史总积分:609
注册时间:2014/4/28
发站内信
发表于:2014/5/31 19:42:57
#0楼
这是我的代码,是通信模块的,第一个判断是判断是否接收到信息的判断。第二个if是判断当前信号是否联通,我设定的是当收到0x1F的时候认为通信正常,然后才进行收发,标志位就是 State_Comm,并且我设定的串口空间Mscomm的接收方式是接收二进制代码。但是始终卡在Tag_Temp = &H1F 这句话上,好像系统根本就不进行判断。

Sub OnComm(Byval Item)

Dim Tag_Temp
Dim Tag_Receive
Dim Delta_Set
Dim State_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
[此贴子已经被作者于2014/5/31 19:43:19编辑过]

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

31.2002