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
注意事项
- 测试时,注意不要讲Access数据库中的字段设置为中文,最好用英文表示
- 创建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
- 创建数据库时,不要将数据库文件放到中文目录下,尽量放到根目录或者根目录下的英文文件夹,路径不要太长。
- sql语句查询的数据和保证正确。
- wincc脚本定义的变量要和实际使用的保持一样。
资源获取
更多推荐
wincc与Access数据库的数据交互(读取数据)
发布评论