wincc变量归档访问

已锁定

说出你的故事

  • 帖子

    22
  • 精华

    0
  • 被关注

    8

论坛等级:游士

注册时间:2014-09-16

普通 普通 如何晋级?

wincc变量归档访问

325

5

2016-11-04 01:11:55

 

Dim spro,sdsn,sser,scon,conn,ssql,ors,ocom
Dim tagdsnname
Dim m,i
Dim localbegintime,localendtime,utcbegintime,utcendtime,sval
Dim objexcelapp,objexcelbook,objexcelsheet,sheetname
item.Enabled=False
On Error Resume Next
sheetname="sheet1"
Set objexcelapp=CreateObject("excel.application")
objexcelapp.visible=False
objexcelapp.workbooks.open "C:\Users\123\Desktop\sy.xlsx"
objexcelapp.worksheets(sheetname).activate

Set tagdsnname=HMIRuntime.Tags("@DatasourceNameRT")
tagdsnname.Read
Set localbegintime=HMIRuntime.Tags("strbegintime")    \\开始时间
localbegintime.Read
Set localendtime=HMIRuntime.Tags("strendtime")     \\结束时间
localendtime.Read
utcbegintime=DateAdd("h",-8,localbegintime.value)
utcendtime=DateAdd("h",-8,localendtime.value)
utcbegintime=Year(utcbegintime)&"-"&Month(utcbegintime)&"-"&Day(utcbegintime)&" "& Hour(utcbegintime)&":"&Minute(utcbegintiem)&":"&Second(utcbegintiem)
utcendtime=Year(utcendtime)&"-"&Month(utcendtime)&"-"&Day(utcendtime)&" "& Hour(utcendtime)&":"&Minute(utcendtime)&":"&Second(utcendtime)
HMIRuntime.Trace "UTC Begin Time:"&utcbegintime&vbCrLf
HMIRuntime.Trace "UTC End Time:"&utcendtime&vbCrLf

spro="Provider=WinCC OLEDB Provider.1;"
sdsn="Catalog="&tagdsnname.value&";"
sser="Data Source=.\WinCC"
scon=spro&sdsn&sser
Set conn=CreateObject("ADODB.Connection")
conn.connectionstring=scon
conn.cursorlocation=3
conn.open

ssql="Tag:R,('ProcessValueArchive\history_t'),'"&utcbegintime&"','"&utcendtime"'"
MsgBox 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
objexcelapp.worksheets(sheetname).cells(2,1).value=ors.fields(0).name
objexcelapp.worksheets(sheetname).cells(2,2).value=ors.fields(1).name
objexcelapp.worksheets(sheetname).cells(2,3).value=ors.fields(2).name
objexcelapp.worksheets(sheetname).cells(2,4).value=ors.fields(3).name
objexcelapp.worksheets(sheetname).cells(2,5).value=ors.fields(4).name
ors.movefirst
i=3
Do While Not ors.eof
objexcelapp.worksheets(sheetname).cells(i,1).value=ors.fields(0).value
objexcelapp.worksheets(sheetname).cells(i,2).value=ors.fields(1).value
objexcelapp.worksheets(sheetname).cells(i,3).value=ors.fields(2).value
objexcelapp.worksheets(sheetname).cells(i,4).value=ors.fields(3).value
objexcelapp.worksheets(sheetname).cells(i,5).value=ors.fields(4).value
ors.movenext
i=i+1
Loop
ors.close
Else
MsgBox "没有所需数据``````"
item.Enabled=True
Set ors=Nothing
conn.close
Set conn=Nothing
objexcelapp.workbooks.close
objexcelapp.quit
Set objexcelapp=Nothing
Exit Sub
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="C:\Users\123\Desktop\"&filename&"demo.xlsx"
objexcelapp.activeworkbook.saveas patch
objexcelapp.workbooks.close
objexcelapp.quit
Set objexcelapp=Nothing
MsgBox "生成数据文件成功"
item.Enabled=True


从网上找的一段代码,可是通讯一直不成功,哪里有问题吗。变量记录确实在运行,求大神指点,有成功实例更好。123是电脑名称。

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

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有30994条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

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