wincc如何通过VB脚本读取报警数据库归档内容

刚接触wincc,下面脚本是根据帮助文档VB实例修改,但读取不到归档内容,系统内置报警控件中能读到数据,请大神指点。
' 1.1 Create connection string for ADO access
Dim ProviderName
Dim CatalogName
Dim DataSourceName
Dim ConnectionString
Dim CommandString
Dim snam1,Rtname
Dim ServerName1
Set ServerName1 = HMIRuntime.Tags("@ServerName")          
      ServerName1.Read 
Dim DatasourceNameRT
Set DatasourceNameRT = HMIRuntime.Tags("@DatasourceNameRT")
      DatasourceNameRT.Read 
      Rtname=DatasourceNameRT.Value 
      snam1=ServerName1.Value
ConnectionString = "provider=WinCCOLEDBProvider.1;catalog=" & Rtname & ";data source=" & snam1 & "\WinCC"       
' 1.2 Define command string for access (relative time range, last 10 minutes)
CommandString = "ALARMVIEW:Select * from algviewcht WHERE DateTime > '2017-11-30 00:00:00.000' " 
Dim DBConnection
Dim DBCommand
Dim DBRecordset
' 2.1 Open connection
'HMIRuntime.Trace "before open connection" & vbNewLine 
Set DBConnection = CreateObject("ADODB.Connection")
DBConnection.ConnectionString = ConnectionString
DBConnection.CursorLocation = 3             
DBConnection.open 
Set DBRecordset = CreateObject("ADODB.Recordset")
' 2.2 Execute command
'HMIRuntime.Trace "before execute command" & vbNewLine 
Set DBCommand = CreateObject("ADODB.Command")
DBCommand.CommandType = 1
DBCommand.ActiveConnection = DBConnection
DBCommand.CommandText = CommandString
Set DBRecordset = DBCommand.Execute
Dim lngCount                                  
Dim lngValue,aa
' 2.3 Record structure and first record data (test)
lngCount = DBRecordset.Fields.Count 
aa = DBRecordset.RecordCount 
HMIRuntime.Trace "RecordSet.Field.Count=" & lngCount & vbNewLine 
HMIRuntime.Trace "RecordSet.RecordCount=" & aa & vbNewLine 
If (aa>0) Then 
    DBRecordset.movefirst  
Else
    HMIRuntime.Trace "Selection returned no fields" & vbNewLine 
End If
' 4.1 Clean up
DBRecordset.Close
Set DBRecordset = Nothing
Set DBCommand = Nothing
DBConnection.Close
Set DBConnection = Nothing
HMIRuntime.Trace "Connection closed again" & vbNewLine

问题补充:
数据库已经连接上,脚本调试输出如图,显示库中无数据。

图片说明:

wincc如何通过VB脚本读取报警数据库归档内容    wincc如何通过VB脚本读取报警数据库归档内容   

最佳答案

Rtname=DatasourceNameRT.Value 
 snam1=ServerName1.Value
改成
Rtname=DatasourceNameRT.Read
 snam1=ServerName1.Read
试试

详细参考:
WinCC数据开放性
https://support.industry.siemens.com/cs/cn/zh/view/78682604
在WinCC中如何使用VBS读取报警记录数据到EXCEL
https://support.industry.siemens.com/cs/cn/zh/view/77938393
WinCC、Excel、VBA、脚本、连通性软件包
https://support.industry.siemens.com/cs/cn/zh/view/71676391
WinCC/连通性软件包 V7.4 SP1
https://support.industry.siemens.com/cs/cn/zh/view/109746336
补充:
按我的方法试过了吗?
另外您可以先把WHERE去掉,直接查询所有的,试试,如果能查询到了,再加上条件

提问者对于答案的评价:
谢谢你的回答,找到问题出在哪儿了,软件语言是中文简体,查询的是繁体的归档数据库表,ALGVIEWEXCHT改为ALGVIEWEXCHS就可以了。

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

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

相关推荐

  • WinCC?flexible如何组态图表

    我在V区有50个数据,怎么一次性显示出来并连线呢?历史趋势图 / 实时趋势图什么的好像都是一个变量的变化趋势线。我的意思就是像EXCEL里面一样把这些数据做成图…

    2021年7月5日
  • wincc打开画面

    我想做两个画面a和b,a画面上有一个按钮,b画面上有一个画面窗口windowb,我想运行a画面,点击按钮后调用b画面,并且让b画面中的画面窗口windowb显示按钮中指定的画面。&…

    SIMATIC WinCC 2019年6月11日
  • wincc的ConnectivityStation 连通站作用是?

    wincc的ConnectivityStation 连通站作用是?他与ConnectivityPack   连通包选件的区别是什么 最佳答案…

    SIMATIC WinCC 2020年11月1日
  • WinCC flexible 如何传送

    将电脑里的*.hmi文件传送到触摸屏上,我用的485的线连不上,请问该如何连接,还有一些参数该如何设置,谢谢! 最佳答案 楼主的问题有些笼统,不同型号的触摸屏的下载电缆以及设置是不…

    SIMATIC WinCC 2019年6月11日
  • wincc报表中如何设置时间的变量

    现在在下遇到个问题,希望大侠们帮忙解答,在论坛上找了没找到合适的!我现在要做一张报表,打印选择时间范围内的历史数据,用现成的布局@CCTlgRtTables;问题如下:“变量记录运…

    SIMATIC WinCC 2019年6月11日
  • WINCC online table/trend control控件不正常

    不正常主要表现在: 1、 这两个控件只在一个项目中不好用,在别的项目中就可以正常使用。(同一台电脑,所以wincc控件安装是没有问题的) 2、打开时很…

    SIMATIC WinCC 2019年6月11日
  • MP377上传程序问题

    向触摸屏MP377传程序编译过程中提示内部警告cannot get HmiUserScript.RowCount-对象类型:SCRIPT_TEXT,无法下载是什…

    SIMATIC WinCC 2019年6月11日
  • OS编译出错

    我在step7中编译os出错,不知道哪个工程师朋友给解决一下,具体错误请看图,附:当从step7传送DB块中的变量时就会出错,只传送变量表中的变量就不出错,还有就是这个错误从哪里可…

    SIMATIC WinCC 2017年8月24日
  • WINCC数据采集?

    我要WINCC数据采集10MS的数据变化,并在趋势图上显示出来,但是WINCC最低采集是250MS,PLC是西门子S7-300 315-2DP,有什么好办法吗?或者有这样…

    SIMATIC WinCC 2017年6月29日
  • WINCC与STEP模拟量输入地址如何连接?20分答谢!

    WINCC与STEP模拟量输入地址如何连接?因为第一次使用,请详细写明步骤,感激万分!!! 最佳答案 将您读入的数据存入DB块中,Wincc读取DB中的数据。Wincc不能直接操作…

    SIMATIC WinCC 2019年6月11日

发表回复

登录后才能评论