博途WINCC用VB脚本读数据记录的变量

已锁定

手机用户20181108736775

西门子1847工业学习平台

  • 帖子

    1
  • 精华

    0
  • 被关注

    0

论坛等级:新手

注册时间:2018-11-08

普通 普通 如何晋级?

博途WINCC用VB脚本读数据记录的变量

3148

0

2019-08-28 06:24:45

博途WINCC用VB脚本读数据记录的变量,读的是最近一天的数据,读取不成功,有没有大神帮忙分析一下。代码如下:


Dim objExcelApp

Dim tagI

Dim tagshijian,sheetname

Dim x,y,z,i,j

Dim tagDSNName,LocalEndTime,UTCBeginTime,UTCEndTime,sVal,sPro,sDsn,sSer,sCon,conn,sSql,name

Dim oRs,oCom,m

sheetname="Sheet1"

 

On Error Resume Next

Dim ExcelApp,ExcelBook

Set ExcelApp = GetObject(,"Excel.Application")

If TypeName(ExcelApp) = "Application" Then

For Each ExcelBook In ExcelApp.WorkBooks

If ExcelBook.FullName = "F:\XText\SDJCNYDLZROXLS.xls" Then

ExcelApp.ActiveWorkbook.Save

ExcelApp.Workbooks.Close

ExcelApp.Quit

Set ExcelApp= Nothing

Exit For

End If

Next

End If

 

Set objExcelApp = CreateObject("Excel.Application")

objExcelApp.Visible=True

objExcelApp.Workbooks.Open"F:\XText\SDJCNYDLZROXLS.xls"

objExcelApp.Worksheets(sheetname).Activate

 

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

tagDSNName.Read

tagshijian = Now

LocalEndTime = DateAdd("d",-1,tagshijian)

UTCBeginTime = DateAdd("h",-8,tagshijian)

UTCEndTime = DateAdd("h",-8,LocalEndTime)

UTCBeginTime = Year(tagshijian) & "-" & Month(tagshijian) & "-" & Day(tagshijian) & "-" & Hour(tagshijian) & ":" & Minute(tagshijian) & ":" & Second(tagshijian)

UTCEndTime = Year(UTCEndTime) & "-" & Month(UTCEndTime) & "-" & Day(UTCEndTime) & "-" & Hour(UTCEndTime) & ":" & Minute(UTCEndTime) & ":" & Second(UTCEndTime)

HMIRuntime.Trace "UTC Begin Time: " & UTCBeginTime & vbCrLf

HMIRuntime.Trace "UTC erd Time: " & UTCEndTime & vbCrLf

Set sVal = HMIRuntime.Tags("Sval")

sVal.Read

 

sPro = "Provider=WinCCOLEDBProvider.1;"

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

sSer = "Data Source=.\WinCC"

sCon = sPro + sDsn + sSer

Set conn = CreateObject("ADODB.Connection")

conn.ConnetionString = sCon

conn.CursorLocation = 3

conn.Open

 

Set tagI = HMIRuntime.Tags("Tag_214")

tagI.Read

 

sSql = "Tag:R,('数据记录\"& tagI.Value &"'),'" & UTCBeginTime & "','" & UTCEndTime & "'"

sSql = sSql+"'order by Timestamp ASC','TimeStep=" & sVal.Value & ",1'"

 

HMIRuntime.Trace sSql

Set oRs = CreateObject("ADODB.Recordset")

Set oCom = CreateObject("ADODB.Command")

oCom.CommandType = 1

Set oCom.ActiveConnection = conn

oCom.CommandText=sSql

Set oRs = oCom.Execute

m = oRs.RecordCount

'If (m > 0) Then

oRs.MoveFirst

Dim k

k = 1

Do While(k < 10)

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

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

oRs.MoveNext

k=k+1

Loop

oRs.Close

'End If

 

Set oRs = Nothing

conn.Close

Set conn = Nothing

 

Dim patch,filename

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

patch= "F:\Text\" & filename & ".xls"

objExcelApp.ActiveWorkbook.SaveAs patch

objExcelApp.Workbooks.Close

objExcelApp.Quit

Set objExcelApp= Nothing

 


博途WINCC用VB脚本读数据记录的变量 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32980条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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