EXCEL 读取wincc变量 的问题

各位老师前辈好,我一直都是自己研究学习,这个问题也是困绕我好几天了,懂的人给说说,最好说到关键点上,不要发一堆的文档我也找不到地方在哪看,我一直是看官方的那个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

图片说明:

EXCEL 读取wincc变量 的问题    EXCEL 读取wincc变量 的问题   

最佳答案

具体没办法帮你调试,给你几个建议方向供参考,
1,先查询一个变量,不要任何过滤,只保留时间过滤条件
2,删掉你那个计数的部分,对于关键地方,计数部分是没什么必要的,前期测试可以不要
3,检测脚本按照以下顺序,先看数据库连接是否成功,用conn.state,再看查询字符串是否正确。用msgbox弹出观察一下,这里包括时间的格式转换是否成功。然后就是读出结果的行列数。
4,结果不要筛选,不要用字段名寻址,直接用序号,因为7.4的字段名与之前不同。需要先查看一下具体的字段名。
5,一切以读出结果为准,不要其他任何的修饰性的脚本,以防给自己增加调试难度。
以上只是建议,提供你一个研究的思路吧,我是小董

提问者对于答案的评价:

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc356601.html

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午9:28
下一篇 2021年7月5日 上午9:28

相关推荐

发表回复

登录后才能评论