wincc的数据存储目前主要是存储到数据库,而目前主流的数据库,主要由SQL Server和Access数据库,此文主要是关于wincc如何与Access数据库之间的数据读取。

条目描述
运行环境wincc7.5 SP1
Access数据库2010版

运行画面

操作流程

创建Access数据库表

1.创建Access数据库文件,文件名:Wincc_Access_Data.accdb
2.创建数据库表,表名:Machineinfo,表内字段为:ID、Pressure、Temperature、Flow。如图:

3.将创建的Access数据库文件放到磁盘根目录下。

组态画面

1.wincc创建画面,画面名称为DataRead.Pdl
2.画面增加控件对象。

对象名称
按钮默认
Microsoft Hierarchical FlexGrid Control,Version6.0(OLEDB) 控件Grid

3.编写脚本,在按钮的事件中,单击鼠标添加VB脚本

Sub OnClick(Byval Item)    
Dim conn,ors
Dim Grid
Set conn = CreateObject("ADODB.Connection")'创建对象
conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Persist Security Info=False;Data Source=C:\Wincc_Access_Data.accdb"'创建链接字符串,Data Source后面为数据库文件的路径和名称
conn.open '打开对象
Set ors = CreateObject("ADODB.RecordSet") '创建记录对象
ors.open "select ID,Pressure,Temperature,Flow from Machineinfo",conn,3,3 '创建sql语句,其中ID等为字段名,machineinfo为数据库表名
Set Grid = ScreenItems("Grid")
Set Grid.DataSource = ors  '将读取到的数据写入到MSHFGrid控件表格中
Grid.Refresh               '刷新表格
'关闭数据链接
Set ors = Nothing
conn.close
Set conn = Nothing

End Sub

注意事项

  1. 测试时,注意不要讲Access数据库中的字段设置为中文,最好用英文表示
  2. 创建Access数据库文件时,会出现两种文件后缀,mdb和accdb,其实这两个都是Access数据库的文件格式,只不过代表不同版本的Access数据库,mdb为07版以前(不包括07版)。accdb为07版以后。因此对于不同的文件后缀,Provider链接字符串也有所区别。
'mdb:
Provider=Microsoft.Jet.OleDb.4.0
'accdb:
Provider=Microsoft.ACE.OLEDB.12.0
  1. 创建数据库时,不要将数据库文件放到中文目录下,尽量放到根目录或者根目录下的英文文件夹,路径不要太长。
  2. sql语句查询的数据和保证正确。
  3. wincc脚本定义的变量要和实际使用的保持一样。

资源获取

更多推荐

wincc与Access数据库的数据交互(读取数据)