归档变量,查询值为空

各位好!
背景:安装了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

相关推荐

  • WINCC显示登陆用户

    求一段脚本。当登陆一个用户时,能够在画面上显示出来。 最佳答案 这个不需要脚本,用WinCC自带的内部变量currentuser / currentuserna…

    SIMATIC WinCC 2019年6月10日
  • wcc6.2学习

    我想学习wcc的视窗控制,可是找不到学习的资料啊,哪位大师能给我提供一些,最好视频,文档也行!谢谢了!发到我邮箱yanghongchao_2007@163.com! 最佳答案 1.…

    SIMATIC WinCC 2019年6月11日
  • Adam OPC Server 序列号,谁有?

    各位仁兄大家好,我们的客户购买了一批研华的亚当模块,4017,4015,4018等等,现在我想让他们和WinCC进行连接,需要一个研华公司自己做的一个OPC Server…

    SIMATIC WinCC 2019年6月11日
  • 关于wincc组态手册

    我有wincc组态手册的第一册、第二册、第三册PDF,是中文的。但是它加了密。也就是说我用搜索功能没有用。比如即使在PDF中,有字符“set”,我用搜索功能都是找不到的。请问在哪里…

    SIMATIC WinCC 2019年6月11日
  • 泵控件颜色转化

    请教各位,我在wincc 6.2的画面中调用wincc库中的一个泵控件,然都想让这个泵连接两个变量TAG0和TAG1,当TAG0为1,TAG1为0时泵显示绿色,当TAG0…

    SIMATIC WinCC 2019年6月11日
  • C脚本注解

    以下是Demo程序退出画面的两个按钮的脚本,不太会C语言,看不明白,麻烦哪位大侠给注解一下,万分感谢! 按钮1: #include "apd…

    SIMATIC WinCC 2019年6月11日
  • MP377与S7-300的MPI接口通信方式

    小弟想咨询下:1.   用CPU的MPI接口能否跟MP377HMI通信呢? 2.   如果能该怎么设置呢?3.…

    SIMATIC WinCC 2018年12月3日
  • WINCC的分布式系统架构

    我想问一下,在WICC里组态分布式系统,对操作系统有什么要求.我已按西门子提供的资料进行了组态和配置,可是在客户机下载了数据包,配置了起始画面.但是运行时提示画面错误.请问各位高手…

    SIMATIC WinCC 2019年6月11日
  • 触摸屏上传问题

    我公司有一台意大利进口设备,从主站用以太网连接两个TP177B 4的触摸屏和一个ASEM(型号:0t1200-sl)的工业电脑,(没有源程序)  &n…

    SIMATIC WinCC 2017年6月11日
  • 动画处理

    如何实现一线段在水平面上旋转,求相关c脚本,谢谢 钻石用户推荐最佳答案 SetPropChar("NewPdl0.Pdl","线1",&qu…

    SIMATIC WinCC 2021年7月5日

发表回复

登录后才能评论