wincc与Access数据库的数据交互(写入数据)

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

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

运行画面

在这里插入图片描述
在这里插入图片描述

操作流程

在这里插入图片描述

创建Access数据库表

1.创建Access数据库文件,文件名:Wincc_Access_Data.accdb
2.创建数据库表,表名:DataTest,表内字段为:Data1、Data2、、Data3、Data4、Data5、Data6、Data7、Data8。数据类型为数字。如图:
在这里插入图片描述

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

组态画面

1.wincc创建画面,画面名称为DataWrite.Pdl
2.创建数据变量,在变量列表中创建8个数据的变量
在这里插入图片描述

3.画面新增控件对象。
在这里插入图片描述

对象名称
静态文本默认
按钮默认
输入输出域默认

数据生成

测试的数据是通过随机函数生成的,具体生成方法请参考《wincc随机数据生成

数据写入

通过编写按钮事件的脚本,实现数据写入功能,脚本如下:

Sub OnClick(Byval Item)                            
'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
'3.创建数据库时,不要将数据库文件放到中文目录下,尽量放到根目录或者根目录下的英文文件夹,路径不要太长。
'4.sql语句查询的数据和保证正确。
'5.wincc脚本定义的变量要和实际使用的保持一样。 
Dim conn,comd
Dim strConnectionString,strSQL
Dim Data1,Data2,Data3,Data4,Data5,Data6,Data7,Data8
Data1= HMIRuntime.Tags("Data1").Read 
Data2= HMIRuntime.Tags("Data2").Read 
Data3= HMIRuntime.Tags("Data3").Read 
Data4= HMIRuntime.Tags("Data4").Read 
Data5= HMIRuntime.Tags("Data5").Read 
Data6= HMIRuntime.Tags("Data6").Read 
Data7= HMIRuntime.Tags("Data7").Read 
Data8= HMIRuntime.Tags("Data8").Read 
strConnectionString = "Provider=MSDASQL;DSN=wincc_DB;UID=;PWD=;" '//wincc_DB为ODBC数据源
strSQL = "INSERT INTO DataTest(Data1,Data2,Data3,Data4,Data5,Data6,Data7,Data8)VALUES("&Data1&","&Data2&","&Data3&","&Data4&","&Data5&","&Data6&","&Data7&","&Data8&")" '创建sql语句,其中ID等为字段名,machineinfo为数据库表名
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = strConnectionString
conn.Open
Set comd = CreateObject("ADODB.Command")

With comd

.ActiveConnection = conn

.CommandText = strSQL

End With

comd.Execute

Set comd = Nothing

conn.Close

Set conn = Nothing

End Sub

注意事项

  1. 创建链接字符串时,需要先创建ODBC数据源,具体创建方法,请参考《windows系统的ODBC数据源创建
  2. 创建数据库时,不要将数据库文件放到中文目录下,尽量放到根目录或者根目录下的英文文件夹,路径不要太长。
  3. sql语句查询的数据和保证正确。
  4. wincc脚本定义的变量要和实际使用的保持一样。

资源获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yue008

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值