使用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日
下一篇 2017年12月2日

相关推荐

  • 单独安装的wincc有faceplate 功能吗?

    今天装了step7 5.4和WINCC 6.2(不是PCS7里的),但是在WINCC里面看不到faceplate功能?   &nb…

    SIMATIC WinCC 2019年6月11日
  • 触发变量归档的问题

    我现在是要求当一个归档变量发生变化的时候,触发另外一个变量开始归档,请教各位怎么实现?这两个变量都是模拟量,不是数字量的 专家建议 先确认一下您的提问: A(模拟量)变化…

    SIMATIC WinCC 2020年11月1日
  • s7_1200plc与wincc通讯

    我这边有五台配置一样的上位机,六套1200plc,要求每台电脑都可以连接这六套plc查看数据,但是现在其中有三台电脑可以全部链接,另外两台一直有两个plc无法连接,系统也重新装过了…

    SIMATIC WinCC 2021年7月5日
  • WINCC v7.0 sp3 ASIA与ABB IRC5机器人通过OPC通信

    WINCC v7.0 sp3 ASIA与ABB IRC5机器人通过OPC通信,平台组建好后,WINCC能读取ABB的信号,布尔量,但是写不了…

    SIMATIC WinCC 2021年7月5日
  • WINCC报警画面及消息归档

    有几个问题请教大家: 1.WINCC6.0 SP3 ASIA能不能在英文版WINDOW XP操作系统安装使用? 2.我做了六个画面…

    SIMATIC WinCC 2019年6月11日
  • 如何卸载wicc 5.1

    如何卸载wicc 5.1 最佳答案 你可以用360安全卫士的软件管家进行卸载,它可以在卸载的同时删除相应的注册表,干净又彻底! 提问者对于答案的评价:haode 专家置评…

    SIMATIC WinCC 2019年6月11日
  • 归档变量到EXCEL

    现在已经制作好EXCEL报表范本,范本中需要几个监测的变量的值,而且是每过半个小时写入一次一共写入8次,为R22C3至R22C10这几个空写入的是一个变量TAG1;R23C3至R2…

    SIMATIC WinCC 2019年6月11日
  • WINCC动画制作

    如何在WINCC画面中做出水流动的动画。请教高手指导。 最佳答案 可以用两个短线同时闪烁,闪烁颜色刚好相反就可以。 提问者对于答案的评价:非常GOOD谢谢。

    SIMATIC WinCC 2019年6月11日
  • WINCC以前以前做300的上位机,现在作1500上位机变量处理

    WINCC以前以前做300的上位机,现在作1500上位机变量处理,变量可以直接新建连接后复制过来吗?但是名字不能相同怎么处理最方便! 问题补充:300的项目不需要保留,新建的150…

    SIMATIC WinCC 2021年7月5日
  • 建全局动作是tag1的值每隔1秒自动加1

    创建了一个全局动作是每隔1秒名为tag1的变量值自加1.代码编译好后存为counter.pas,设触发器为标准周期,触发器名称为counter,周期1秒。组态输入输出域显示tag1…

    SIMATIC WinCC 2019年6月11日