技术论坛

 回复:WinCC 中 VBS语句判断相等的问题

返回主题列表
作者 主题
zhubeilife
新手

经验值:23
发帖数:2
精华帖:0
楼主    2014-05-31 15:50:21
主题:WinCC 中 VBS语句判断相等的问题
这是我的代码,是通信模块的,第一个判断是判断是否接收到信息的判断。第二个if是判断当前信号是否联通,我设定的是当收到0x1F的时候认为通信正常,然后才进行收发,标志位就是 State_Comm,并且我设定的串口空间Mscomm的接收方式是接收二进制代码。但是始终卡在Tag_Temp = &H1F 这句话上,好像系统根本就不进行判断。

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("1" & vbCrLf)
If Tag_Temp = &H1F 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("2" & vbCrLf)
Delta_Set.Value = Tag_Temp
Delta_Set.Write
End If

End If
youhm
至圣

经验值:13572
发帖数:4924
精华帖:81
1楼    2014-06-02 09:22:22
精华帖  主题:回复:WinCC 中 VBS语句判断相等的问题
数据类型不匹配,二进制方式接收,Item.Input返回的是一个字节数组,所以
Tag_Temp = Item.Input
Tag_Temp就是一个数组,后面访问值应以Tag_Temp(0)的形式出现。
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。