wincc 读取归档变量问题

已锁定

cddxcdx

  • 帖子

    29
  • 精华

    0
  • 被关注

    17

论坛等级:游士

注册时间:2016-10-20

普通 普通 如何晋级?

wincc 读取归档变量问题

641

9

2017-02-21 21:56:42

各位好,本人设置一个归档,通过online trend查看历史归档都是有数据的,通过如下脚本定时去生成xlsx文件时,总是说没有数据,怎么破?

Option Explicit

Function action

'此为查询按钮中的代码

'变量定义和初始化                                                                                                                                                                                                                                                                  

Dim sPro,sDsn,sSer,sCon,conn,sSql,oRs,oCom

Dim tagDSNName

Dim m,i

Dim LocalBeginTime, LocalEndTime,UTCBeginTime, UTCEndTime,sVal ,UTCTime ,Localtime

Dim objExcelApp,objExcelBook,objExcelSheet,sheetname

On Error Resume Next 

sheetname="Sheet1"

'打开Excel模板

Set objExcelApp = CreateObject("Excel.Application")

objExcelApp.Visible = False

objExcelApp.Workbooks.Open "C:\abc.xlsx"

objExcelApp.Worksheets(sheetname).Activate

'准备查询条件 Catalog、UTC开始时间、UTC结束时间、时间间隔

Set tagDSNName = HMIRuntime.Tags("@DatasourceNameRT")

tagDSNName.Read 


UTCBeginTime = CStr(Year(Now)) & "-" & CStr(Month(Now)) & "-" & CStr(Day(Now)-2) & " 16:00:00"

UTCEndTime = CStr(Year(Now)) & "-" & CStr(Month(Now)) & "-" & CStr(Day(Now)-1) & " 15:59:59"

'创建数据库联接

sPro = "Provider=WinCCOLEDBProvider.1;"

sDsn = "Catalog=" &tagDSNName.Value& ";"

sSer = "Data Source=CDD-PC\WinCC"

sCon = sPro + sDsn + sSer

Set conn = CreateObject("ADODB.Connection")

conn.ConnectionString = sCon

conn.CursorLocation = 3

conn.Open

'定义查询的命令文本 SQL

    sSql = "Tag:R,('PVArchive\a'),'" & UTCBeginTime & "','" & UTCEndTime & "',"

    sSql=sSql+"'order by Timestamp ASC'"

MsgBox sSql

Set oRs = CreateObject("ADODB.Recordset")

Set oCom = CreateObject("ADODB.Command")

oCom.CommandType = 1

Set oCom.ActiveConnection = conn

oCom.CommandText = sSql

'填充数据NewPdl0NewPdl0NewPdl0NewPdl0NewPdl0到Excel中

Set oRs = oCom.Execute 

m = oRs.RecordCount

If (m > 0) Then

objExcelApp.Worksheets(sheetname).cells(2,1).value=oRs.Fields(1).Name

objExcelApp.Worksheets(sheetname).cells(2,2).value=oRs.Fields(2).Name

   oRs.MoveFirst  

   i=3  

   Do While Not oRs.EOF                       '是否到记录末尾,循环填写表格   

       objExcelApp.Worksheets(sheetname).cells(i,1).value= GetLocalDate(oRs.Fields(1).Value) 

       objExcelApp.Worksheets(sheetname).cells(i,2).value= oRs.Fields(2).Value

       oRs.MoveNext

       i=i+1

   Loop

   oRs.Close

Else

   MsgBox "没有所需数据……"

   Set oRs = Nothing

conn.Close

   Set conn = Nothing

   objExcelApp.Workbooks.Close

   objExcelApp.Quit

   Set objExcelApp= Nothing

   Exit Function

End If

'释放资源

Set oRs = Nothing

conn.Close

Set conn = Nothing

'生成新的文件,关闭Excel

Dim patch,filename

filename=CStr(Year(Now))&CStr(Month(Now))&CStr(Day(Now))&CStr(Hour(Now))&CStr(Minute(Now))&CStr(Second(Now))

patch= "c:\elecRecord_"&filename&".xlsx"

objExcelApp.ActiveWorkbook.SaveAs patch

objExcelApp.Workbooks.Close

objExcelApp.Quit

Set objExcelApp= Nothing

MsgBox "成功生成数据文件!"

End Function



wincc 读取归档变量问题 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有31078条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。