各位老师前辈好,我一直都是自己研究学习,这个问题也是困绕我好几天了,懂的人给说说,最好说到关键点上,不要发一堆的文档我也找不到地方在哪看,我一直是看官方的那个excel读取wincc变量的教程做的,那个表格是日报表整点归档,我按步骤做完在EXCEL中好不容易不报错,但一直不能在表格中显示任何数字,我想问如果wincc库里找不到数据是不显示,还是显示0,我的0也不显示,用日 期控件触发和用编辑器运行都没有数字显示,难道我为了学习还家要wincc运行一天后做一个测试,假如不是读取整点数据,改到一分种或10分钟读一次怎么改呀,变量归档能实现时间的改变,可进了库里用excel怎么就读取到了。
'查询启止时间由于本地添加了Date time picker控件,
sStart = Year(DTPicker1.Value) & "-" & Month(DTPicker1.Value) & "-" & Day(DTPicker1.Value) & " 15:00:00"
sStop = Year(DTPicker1.Value) & "-" & Month(DTPicker1.Value) & "-" & Day(DTPicker1.Value) & " 16:00:00"
'转为UTC时间 '改为格林威治标准时间
sStart = DateAdd("h", -8, CDate(sStart))
sStop = DateAdd("h", -8, CDate(sStop))
'读取计数_count1-cv_6 '读取归档变量
sSql = "Tag:R,('gd2\计数_count1-cv_6'),'" & sStart & "','" & sStop & "' order by datetime"
oCom.CommandText = sSql '把text值放入需要通信的包中
Set oRs = oCom.Execute '执行通信包
If (oRs.EOF) Then '如果检测到空行,则oRs关闭
oRs.Close
Else
oRs.MoveFirst
i = 0
Do While Not oRs.EOF
Sheet1.Cells(i + 4, 2) = oRs.Fields("RealValue").Value '从第四行第二列开始赋值,行数不断递增
以上就是关键的地方,我的是excel原来按教程什么不显示,哪怕是0也显示,调试都不报错的,如果改为每分钟或10分钟显示一次归档,该怎么改呀,新手菜鸟西币不多,请见谅
问题补充:
我补充一下,我用的软件是wincc7.41 加excel97
图片说明:
最佳答案
具体没办法帮你调试,给你几个建议方向供参考,
1,先查询一个变量,不要任何过滤,只保留时间过滤条件
2,删掉你那个计数的部分,对于关键地方,计数部分是没什么必要的,前期测试可以不要
3,检测脚本按照以下顺序,先看数据库连接是否成功,用conn.state,再看查询字符串是否正确。用msgbox弹出观察一下,这里包括时间的格式转换是否成功。然后就是读出结果的行列数。
4,结果不要筛选,不要用字段名寻址,直接用序号,因为7.4的字段名与之前不同。需要先查看一下具体的字段名。
5,一切以读出结果为准,不要其他任何的修饰性的脚本,以防给自己增加调试难度。
以上只是建议,提供你一个研究的思路吧,我是小董
提问者对于答案的评价:
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc356601.html