使用WinCC ConnectivityPack 查询本地过程值归档

如题,在深入浅出WinCC 中有讲到用WinCC OLE DB读取过程值归档的方法,具体方法可见图片1,代码如下,但是运行VB应用程序,总是提示:
ConnectionOpen (ParseConnectParams())无效的连接,不知问题出在哪?代码按书上例子只对连接字符串做了相应修改,或者问题在于WinCC ConnectivityPack 的安装上,ConnectivityPack Server 装不上,只装得上Client   

Private Sub Command1_Click()
Dim sPro As String
Dim sDsn As String
Dim sSer As String
Dim sCon As String
Dim sSql As String
Dim conn As Object
Dim oRs As Object
Dim oCom As Object
Dim oItem As ListItem

Dim m, n, s
'#为ADODB创建connection string'
sPro = "Provider = WinCCOLEDBProvider.1;"
sDsn = "Catalog = CC_Archive_13_10_28_16_21_21R;"

'sSer = "Data Source = .\WinCC" '

sSer = "Data Source = QINJIWEN:\WinCC"
sCon = sPro + sDsn + sSer

'#在sSql定义命名文本(相对时间)'
sSql = "TAG:R,'3','0000 - 00 - 00 00:10:00.000','0000 - 00 - 00 00:00:00.000'"
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 = oCom.Execute
m = oRs.Fields.Count

'#用记录集填充标准listview对象'
ListView1.ColumnHeaders.Clear
ListView1.ColumnHeaders.Add , , CStr(oRs.Fields(1).Name), 140
ListView1.ColumnHeaders.Add , , CStr(oRs.Fields(2).Name), 70
ListView1.ColumnHeaders.Add , , CStr(oRs.Fields(3).Name), 70

If (m > 0) Then
oRs.MoveFirst
n = 0
Do While Not oRs.EOF
n = n + 1
s = Left(CStr(oRs.Fields(1).Value), 23)
Set oItem = ListView1.ListItems.Add()
oItem.Text = Left(CStr(oRs.Fields(1).Value), 23)
oItem.SubItems(1) = FormatNumber(oRs.Fields(2).Value, 4)
oItem.SubItems(2) = Hex(oRs.Fields(3).Value)

If (n > 1000) Then Exit Do
oRs.MoveNext
Loop

oRs.Close
Else

End If

Set oRs = Nothing
conn.Close

Set conn = Nothing
End Sub

图片说明:

使用WinCC ConnectivityPack 查询本地过程值归档   

最佳答案

可以参考一下:《使用 WinCC OLE DB Provider 导出 WinCC / CAS 归档数》
http://blog.sina.com.cn/s/blog_669692a60100quuc.html

提问者对于答案的评价:
very   good!

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

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

相关推荐

  • wincc归档

    我现在要做一个月报表,其要求如下: 月报表  分别要求统计一个月实际值 平均值 最大值 最小值 累积值&nbs…

    SIMATIC WinCC 2019年6月11日
  • wincc flexible 2008安装时,显示错误1605,不能继续安装,求解,系统是WIN7

    之前已经成功安装了这个版本,为了装Scout,就把它卸载了重装的,却遇到了这个问题,求解 最佳答案 在WIN7系统下,只能安装wincc flexible 20…

    SIMATIC WinCC 2017年6月19日
  • 组态列表框

    请问用VB怎样动态的更改智能对象中列表框的内容! 最佳答案 你是要动态修改列表框中条目的文本吗?如果是:1.VBS,将画面NewPdl0.Pdl的listbox1中的第二行的文本改…

    SIMATIC WinCC 2017年12月8日
  • WINCC亚洲版的Audit

    请问有没有适用于WinCC V7.0或WinCC V7.2亚洲版的Audit?需要电子签名功能是否必须安装Audit? 最佳答案 7.2也有亚洲版和欧洲版本,安…

    SIMATIC WinCC 2017年11月25日
  • 以太网通讯速度超慢

    现在有上位wincc6.2和s7-315-2DP的CP443-1通讯,通讯成功,但通讯速度超慢,另外还有台mp377屏,通过DP通讯连接PLC wincc变量3000多个…

    SIMATIC WinCC 2019年6月11日
  • 麻烦帮我看看这个关于WINCC的问题

    如图所示,是WINCC中过程变量的属性窗口,我自己建立的变量,画红色框内的属性是可以修改的。为什么我拷贝了一个别人的项目打开看他的变量的时候,所有的属性都不能修改啊?就是如图所示的…

    2017年11月19日
  • wincc旋钮开关

    wincc里的这个on_off_2这个旋钮开关 怎么吧ON和OFF 改为汉字呢? 最佳答案 可以用普通按钮,然后上面的字可以自己组态动作,想显示什么字都可以的;…

    SIMATIC WinCC 2017年11月1日
  • 请教大家WINCC远程访问的方案?

    工厂打算做WINCC系统通过手机APP远程访问画面,请问西门子有成熟的方案吗?还是请第三方提供?非常感谢! 最佳答案 WinCCV7.3 WebUX入门指南http://…

    SIMATIC WinCC 2021年7月5日
  • wicc flexible samrt v3安装不了

    wicc flexible samrt v3安装解压出来后,出现如图的提示,不能安装 图片说明:    最佳答案 “开始”-“运行…

    2017年6月5日
  • wincc多用户项目,实现不同客户端各自报警

    wincc多用户项目,实现不同客户端各自报警 问题补充:我这边是一个服务器,服务器创建多用户系统,下端多个客户端,客户端不组态,直接访问服务器生成的文件包。下端的多个客户端有不同的…

    SIMATIC WinCC 2020年11月1日