您现在所在的是:

人机界面

回帖:2个,阅读:1172 [上一页] [1] [下一页]
704
wukongfei
文章数:4
年度积分:50
历史总积分:704
注册时间:2011/5/19
发站内信
发表于:2011/5/31 17:57:27
#0楼
大家好:
     我有问题紧急求助,希望各位大神帮帮忙~~~
     我现在用做毕设,用wincc做物料监控,需要用RFID采集物料信息。RFID采集的信息存储到数据库中,Wincc再从数据库中调用。我之前已经实现了这个功能,但是不知道为什么中间写论文隔了几天没碰软件,功能就出不来了。
    现在可以确定的是,数据库已经连接上了,接下来就是查询的问题。我现在想实现的是,将输入输出域1连接一个变量假如说是标签ID,通过手动输入标签ID,从数据库中查询相同的ID所对应的物料信息。
    程序如下:
Dim ID1_1
Set ID1_1 = HMIRuntime.Tags("ID1_1")
ID1_1.Read
rsTable.MoveFirst

Do  While  rsTable.EOF=False
“循环判断”
If  rsTable.Fields(0).Value=ID1_1.Value Then

cplx1_1.Write rsTable.Fields(1).Value
workplace1_1.Write rsTable.Fields(2).Value
work.Write rsTable.Fields(3).Value
storage.Write rsTable.Fields(4).Value
“如果ID号相同,则输入ID对应的物料信息”
Exit Do
Else
  rsTable.MoveNext
   End If

Loop
按理来说,当我输入1001时,只要数据库中有1001 就会有输出。输出的变量已经和各个I/O域连接好了。
Wincc好像不认可  rsTable.Fields(0).Value=ID1_1.Value 这句 ,因为我用rsTable.Fields(0).Value=1001 这句就能实现。
是不是没有这种表达,可是我之前就是这么写的能实现的。
大家看看能不能找出毛病~~~

谢谢~~~谢谢~~~
40361
tigermu 版主
文章数:14904
年度积分:1319
历史总积分:40361
注册时间:2004/8/12
发站内信
2018论坛优秀版主
2018春节活动(二)
2017论坛优秀版主
2017国庆活动(一)
2016论坛优秀版主
2016国庆活动(一)
2015论坛优秀版主
西门子logo体验(三)
英威腾PLC体验(三)
2015春节活动
2014论坛优秀版主
2013论坛优秀版主
2012论坛优秀版主
2010年度论坛贡献奖
发表于:2011/6/1 8:55:26
#1楼
那你就要看你的fiels(0)字段的变量属性,是字符型还是数值型,ID1_1.value你做相应的转换看看。另外我觉得你这么查询虽然方法可行,对应数据量少可以,但总不如使用sql方便好用,sql语句查询一句就行了。
清泉石上,明月松间。
704
wukongfei
文章数:4
年度积分:50
历史总积分:704
注册时间:2011/5/19
发站内信
发表于:2011/6/6 9:40:01
#2楼
谢谢,我已经解决这个问题了, 问题在 rsTable.Fields(0).value=ID1_1.value,我把它变成  rsTable.Fields(0).value-ID1_1.value=0 就可以了。

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

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

46.8003