加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

EXCEL访问WINCC归档变量的问题

(2012-04-06 09:26:25)
标签:

西门子plc

工控老鬼

wincc技术

excel访问wincc

自动化培训

分类: WinCC

EXCEL访问WINCC归档变量的问题[工控老鬼]

 

EXCEL访问WINCC归档变量的问题

我看过论坛那个关于EXCEL访问WINCC归档变量的PDF文档,用它提供的DEMO表格,把计算机名更改了一下,创建DEMO里的相应的内部变量,给这些变量做了变量记录。但是运行WINCC,整点没有读取到归档的数据。这是为什么,还需要设置的其他的东西么
 本地采集。
 
 提供的脚本:
 Sub get_wincc_data()
 
     '--Get Database DSN name-----------------------------------
     Set DSNName CreateObject("CCHMIRuntime.HMIRuntime")
     sDsn DSNName.Tags("@DatasourceNameRT").Read
     
     '--build connection string-----------------------------------
     sPro "Provider=WinCCOLEDBProvider.1;"
     sDsn "Catalog=" sDsn ";"
     sSer "Data Source=ZHANG\WinCC"
     sCon sPro sDsn sSer
     Set conn CreateObject("ADODB.Connection")
     conn.ConnectionString sCon
     conn.CursorLocation 3
     conn.Open
     Set oRs CreateObject("ADODB.Recordset")
     Set oCom CreateObject("ADODB.Command")
     oCom.CommandType 1
     Set oCom.ActiveConnection conn
     
     '查询启止时间
     sStart Year(DTPicker1.Value) "-" Month(DTPicker1.Value) "-" Day(DTPicker1.Value) 00:00:00"
     sStop Year(DTPicker1.Value) "-" Month(DTPicker1.Value) "-" Day(DTPicker1.Value) 23:00:00"
     
     '转为UTC时间
      sStart DateAdd("h", -8, CDate(sStart))
      sStop DateAdd("h", -8, CDate(sStop))
      
     '读取Fan1_T1
      sSql "Tag:R,('ProcessValueArchive\Fan1_T1'),'" sStart "','" sStop "' order by datetime"
      oCom.CommandText sSql
     Set oRs oCom.Execute
     If (oRs.EOF) Then
        oRs.Close
     Else
         oRs.MoveFirst
         0
         Do While Not oRs.EOF
         Sheet1.Cells(i 4, 2) oRs.Fields("RealValue").Value
         oRs.MoveNext
         1
         Loop
         oRs.Close
     End If
    
  '读取Fan1_T2
     sSql "Tag:R,('ProcessValueArchive\Fan1_T2'),'" sStart "','" sStop "' order by datetime"
     oCom.CommandText sSql
     Set oRs oCom.Execute
     If (oRs.EOF) Then
        oRs.Close
     Else
         oRs.MoveFirst
         0
         Do While Not oRs.EOF
         Sheet1.Cells(i 4, 3) oRs.Fields("RealValue").Value
         oRs.MoveNext
         1
         Loop
         oRs.Close
     End If
  '读取Fan1_P1
     sSql "Tag:R,('ProcessValueArchive\Fan1_P1'),'" sStart "','" sStop "' order by datetime"
     oCom.CommandText sSql
     Set oRs oCom.Execute
     If (oRs.EOF) Then
         oRs.Close
     Else
         oRs.MoveFirst
         0
         Do While Not oRs.EOF
         Sheet1.Cells(i 4, 4) oRs.Fields("RealValue").Value
         oRs.MoveNext
         1
         Loop
         oRs.Close
     End If
     
      '读取Fan1_P2
     sSql "Tag:R,('ProcessValueArchive\Fan1_P2 '),'" sStart "','" sStop "' order by datetime"
     oCom.CommandText sSql
     Set oRs oCom.Execute
    
     If (oRs.EOF) Then
        oRs.Close
     Else
         oRs.MoveFirst
         0
         Do While Not oRs.EOF
         Sheet1.Cells(i 4, 5) oRs.Fields("RealValue").Value
         oRs.MoveNext
         1
         Loop
         oRs.Close
     End If
     
 Set oRs Nothing
 Set conn Nothing
 End Sub
 
 
 Private Sub DTPicker1_Change()
 clear_cell '清除已经填充的数据
 get_wincc_data '读取WinCC历史数据
 
 End Sub

 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

【工控老鬼】友情分享

自动化专业技术博客:http://blog.sina.com.cn/wincchome

自动化专业技术微博:http://weibo.com/i/1721143974

Emailhispeed@foxmail.com

西门子S7200/300/400,人机界面,变频器,运动控制,伺服驱动,WinCC组态监控,自动化系统集成,以及自动化个行业的解决方案。

西门子plc 工业自动化 s7200 s7300 工控老鬼 自动化培训 plc培训

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有