归档变量,查询值为空

各位好!
背景:安装了connectivity pack安装包,授权成功,显示->正在使用;
 想通过Tag:R读取变量值到CSV文件;
现在是 能够读取输出 归档的表dbo.Archive中 value ID和 valueName,但是值一直为空,因为 objRecordset.RecordCount 监控发现=0,导致无法执行写入。为什么是空?
我用的是内部变量+变量仿真器做的啊,点控件的导出CSV还能看到数据在里面,用VBS为什么我失败了。

Set objConnection = CreateObject("ADODB.Connection")
 objConnection.ConnectionString=strConnection
 objConnection.CursorLocation=3
 objConnection.Open
 
 If Err.Number <> 0 Then
  GiveOut("DB_Connection_Error: "& Hex(Err.Number)& vbCrLf &"Descr: "& Err.Description)
 Else
  On Error Goto 0   ' allow exception 
  '===== command DB command ==============
  Set objRecordset = CreateObject("ADODB.Recordset")
  Set objCommand = CreateObject("ADODB.Command")
  objCommand.CommandType = 1 
  Set objCommand.ActiveConnection = objConnection

  '======= query ==========================
     ndat = arrOrder(3) 'arrOrder3/4是 UTC时间,确认过了,da
     'dat1 = Year(ndat)&"-"&Right("0"&Month(ndat),2)&"-"&Right("0"&Day(ndat),2)&" "&Right("0"& Hour(ndat),2)":"&Right("0"&Minute(ndat),2)":"&Right("0"&Second(ndat),2)
     dat1 = Year(ndat)&"-"&Right("0"&Month(ndat),2)&"-"&Right("0"&Day(ndat),2)&" "&FormatDateTime(ndat,vbLongTime)
     
     ndat = arrOrder(4) 
     dat2 = Year(ndat)&"-"&Right("0"&Month(ndat),2)&"-"&Right("0"&Day(ndat),2)&" "&FormatDateTime(ndat,vbLongTime)
         
strSqlQuery = "TAG:R,"&trendvar&",'"&dat1&".000','"&dat2&".000'"

objCommand.CommandText = strSqlQuery
            
   '======= Fill the recordset ===============
  
   Set objRecordset = objCommand.Execute
   If Err.Number <> 0 Then
    If Err.Number = &H80040E19 Then
     GiveOut("Melde keine Daten gefunden")
     Ord_exportTaglogToFile = 3 'keine taglogging Daten gefunden
    Else
     GiveOut("Taglogging, DB_Command_Error: "& Hex(Err.Number)&_
       vbCrLf &"Descr: "& Err.Description)
     Ord_exportTaglogToFile = 4 'error db request
    End If 
   End If
       
   nCols = objRecordset.Fields.Count
   nRows = objRecordset.RecordCount
If nRows <> 0 Then
......

以上是主要代码,关键是 recordcount=0.。。访问WINCC OLEDB语句没问题,因为我已经通过函数得到了CCProjectNameR--表dbo.archive中的 valueID和valueName,
DateAdd("h",-8,arrOrder(3))这些已经转为utc时间了。

问题补充:
trendvar 是 valueid, 我读出来后,用在for  循环的,这样就读出很多然后写入csv的。我和表对过ID,没有问题。测试发现是 recordset.execute之后,err.Number不等于0。。。。
现在很郁闷不知道错在哪

最佳答案

trendvar这个变量的内容是啥
关于读取归档可以参考:
http://mp.weixin.qq.com/mp/homepage?__biz=MzIwNTUyNTIwNg==&hid=4&sn=e1f84810a1c0f90d2a8829be52f126c2&scene=18#wechat_redirect

还有官方文档,介绍的很详细,稍微一改就可以:
在WinCC中如何使用VBS读取变量归档数据到EXCEL
https://support.industry.siemens.com/cs/cn/zh/view/77940055
通过VBS脚本在ListView控件中显示WinCC的变量记录
https://support.industry.siemens.com/cs/cn/zh/view/74932765
WinCC、Excel、VBA、脚本、连通性软件包
https://support.industry.siemens.com/cs/cn/zh/view/71676391

提问者对于答案的评价:
最后发现是 项目问题,我这个项目是7.0移植7.3的。解决方法我在技术论坛里面分享了

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午12:32
下一篇 2021年7月5日 下午12:32

相关推荐

  • 按钮提示

    点击按钮时,要先提示然后再执行,如我要打开一个电机,第一次点击时,会提示问确实要开启吗,然后再点确定,请问一下如何调用开启电机的变量,该如何操作,最好是使用脚本,谢谢大家! 最佳答…

    SIMATIC WinCC 2019年6月11日
  • wincc中有循环,如果要想延时的话,有什么好方法?

    如题!谢谢! 最佳答案 wincc中要实现延时,sleep函数要慎用,这个函数挂起进程的。 1,要精确延时的话最好是PLC了实现了。 2,不精确延时的话,可以用…

    SIMATIC WinCC 2019年6月11日
  • WINCC如何通过以太网监控两套互相独立且完全一样的PLC系统

    由于之前做好一个单用户的WINCC项目,现在用户又提出 需要在另一个操作室也可以看到并操控这个项目,哪么是不是我只需要购买一台电脑 装了WINCC软件&nbsp…

    SIMATIC WinCC 2017年11月12日
  • WINCC输入输出域数据

    WINCC取消激活后为什么输入输出域数据有时候能够保持上次的结果,有时候不能保持为零。。。 最佳答案 WinCC没有自带存储值功能。如果没有赋处值的话再次激活后就是NULL。我的办…

    SIMATIC WinCC 2019年6月11日
  • 虚拟机,Windows系统,wincc,博图是否是否可以安装在外置硬盘上USB3.0的

    虚拟机,Windows系统,wincc,博图是否是否可以安装在外置硬盘上USB3.0的 问题补充:问题我今天已经解决了,安装是可以的,但是运行会很卡,后来我把安装的数据都移到电脑里…

    SIMATIC WinCC 2021年7月5日
  • 授权在试用版( 破解版上)上安装

    由于工期紧,程序及画面都是在试用版(破解版上安装的);正式软件及授权到后,在试用版(破解版上)安装授权文件 问题补充:安装正版授权后,问题更严重,每1分钟报1次错误 最佳答案 授权…

    SIMATIC WinCC 2021年7月5日
  • WINCC1

    WINCC工程可在WINDOS-XP系统运行吗?怎么实现? 问题补充:不是仿真,是像比如组态王一样在电脑运行并与PLC通信? 图片说明:     &n…

    2017年11月12日
  • WINCC在变量中输入归档值

    我有5个累积流量值需要计算每天的流量,现在我每天23点59分15秒采集一个累积值,23点59分20秒把采集的值归档并把归档值写入一个PLC变量中,然后用累积值减去写入的值,一直到第…

    SIMATIC WinCC 2019年6月10日
  • WinCC C脚本项目函数是否可以调用项目函数

    WinCC C脚本项目函数是否可以调用项目函数,如何在项目函数中调用一个已经建好的项目函数。 最佳答案 尝试在该项目函数中调用  #include&n…

    SIMATIC WinCC 2021年7月5日
  • 如何保存图片,然后在运行界面查看

    我绘制了一个带即时参数的表格,然后保存它,就是打印成图片了。之后如何做,才能在运行界面中打开这些图片呢?主要是图片多,想在运行界面上能选择那些保存的图片。图片上有即时数据。 最佳答…

    SIMATIC WinCC 2019年6月11日

发表回复

登录后才能评论