变量记录归档读取到Excel 第十行CreateObject总是说子程序和函数为定义 请高手指点

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=J1YOORGD4LDJVTJ.\WinCC"
    sCon = sPro & sDsn & sSer
    Set conn = CreateObiect("ADODB.Command")
    conn.ConnectionString = sCon
    conn.CursorLocation = 3
    conn.Open
    Set oRs = CreateObject("ADOB.Recordset")
    Set oCom = CreateObject("ADOB.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 = DataAdd("h", -8, CDate(sStart))
    sStop = DataAdd("h", -8, CDate(sStop))
    '读取1#泵电流
    sSql = "Tag:R,('ProcessValueArchive\1#分站1#泵_A相电流'),'" & sStart & "','" & sStop & "'order by datetime"
    oCom.CommandText = sSql
    Set oRs = oCom.Execute
    If (oRs.EOF) Then
      oRs.Close
    Else
      oRs.MoveFirst
      i = 0
      Do While Not oRs.EOF
      Sheet1.Cells(i + 4, 2) = oRs.Fields("RealValue").Value
      i = i + 1
      Loop
      oRs.Close
    End If
    Private Sub DTPicker1_Chanfe()
    get_wincc_data
End Sub

问题补充:
单改的第十行可以啦但是Dateadd那有报子程序和函数未定义

最佳答案

spro = "Provider=WinCCOLEDBProvider.1;"
 sdsn = "Catalog=CC_upzjg_11_12_15_14_45_14R;"
 sser = "Data Source=.\WinCC"
 scon = spro + sdsn + sser
 ssql = "Tag:R,(''test\testdata''),''2011-12-15 7:27:00'',''2011-12-15 8:27:00''"
   MsgBox "open with:" &vbCr & scon &vbCr &ssql &vbCr
  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
      ocom.CommandText = ssql        
        Set ors=ocm.Execute 

/////////////////////////
你的第十行的指令“Set conn = CreateObiect("ADODB.Command")”应该是  “Set conn = CreateObject("ADODB.Connection")”

提问者对于答案的评价:
谢谢,脚本改好啦!

最佳答案作者回复:
sStart = DataAdd("h", -8, CDate(sStart))
    sStop = DataAdd("h", -8, CDate(sStop))
这两个的data应该是date
http://www.52plc.net/read.php?tid=4268
评论字数太少了,你看看这个,是我做的完整的脚本。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年12月9日 下午11:40
下一篇 2017年12月9日 下午11:40

相关推荐

  • WINCC报警记录中的过程值

    在报警记录中一个消息的消息变量和过程值块都对应一个二进制变量,运行时二进制变量置1,过程值列显示1;变量置0,过程值列还是1(为什么不为0),在置1,过程值列为0(为什么不为1),…

    SIMATIC WinCC 2019年6月11日
  • obdc数据库建立方法

    WINCC  采集的数据写到OBDC数据库,便于以后的查看和1打印 最佳答案 首先纠正楼至一个错误,是“ODBC”,打开“控制面板”–“管理工具”–“数据源…

    SIMATIC WinCC 2019年6月11日
  • wincc中连接的变量更新周期设置为多少最合适

    wincc画面中连接的变量更新周期据说太快会给系统造成压力,慢了又反应迟钝,想知道有没有最佳的更新周期 问题补充:我之前用的就是默认的2秒周期,这两天测试时发现反应太慢了,不知道改…

    SIMATIC WinCC 2019年6月11日
  • 关于WinCC OLE DB和报表开发

    最近在用WinCC OLE DB和DELPHI开发WINCC 6.0的外挂报表,有些问题不明白,盼望高手解答。1、WinCC OLE&nbs…

    SIMATIC WinCC 2019年6月11日
  • wincc脚本C程序不循环

    我在WINCC脚本编辑器里编写了如下一段C 程序,想把数组E[0][0]、E[0][1]、E[0][2]分别赋给a,b,c。然后再界面上显示出来。可是为什么只显示E[0]…

    SIMATIC WinCC 2019年6月11日
  • wincc通过dde与excel2007连接不上

    这可能是个很早的问题了,我用的是wincc6.0 sp3,按照网上说的在“变量管理”中添加windows dde,建立变量,再打开一个名称相同的excel文件如…

    SIMATIC WinCC 2019年6月10日
  • 归档记录

    我的项目在D盘,但是我的归档记录怎么会跑到C盘去了呢? 问题补充:归档设置的地方只有设置 归档到硬盘和内存,还有地方可以设置归档路径的吗?或者说设置成归档到内存就是归档到…

    SIMATIC WinCC 2019年6月11日
  • Wincc变量归档使用问题

    请各位大侠帮忙解决个问题,我想用变量归档记录一些数据,只想周期循环变量置1时记录数据,循环周期变量为0时不记录数据,请问应该怎么样设置谢谢,非常着急 问题补充:请问我想用一个布尔量…

    SIMATIC WinCC 2017年12月2日
  • wincc 画面中如何使弹窗一直显示在wincc OnlineTrendControl控件画面的上面

    之前用wincc7.3运行时,弹出的画面窗口一直显示在控件画面前面的不论鼠标点控件那里(弹出窗口与控件画面位置都是固定不动,弹窗小于控件画面)。现在用wincc7.4运行时(什么都…

    SIMATIC WinCC 2021年7月5日
  • sql2000安装

    在XP系统上安装SQL2000,提示我只能安装客户端,不能安装服务器端。我之后要安装Wincc6.0,有影响吗?我的操作系统是XP(上海大客户版)。请教了,谢谢!!! 最佳答案 你…

    SIMATIC WinCC 2019年6月11日