天天看点

WINCC读写SQL数据库的例子【附wincc项目文件】

实现过程

一、在数据库中建立数据库文件,文件名为“读写数据库”,在数据库中建立新的表,命名为“个人信息”分别建立编号、姓名、年龄。

二、数据库中建立表后,在wincc中建立与数据库中类型相同的变量。在图形编辑器中新建画面,并在画面中增加四个输入输出域,并连接变量。

三、添加两个按钮控件,分别命名为写入数据库、读取数据库。

1、数据库截图

WINCC读写SQL数据库的例子【附wincc项目文件】

2、wincc截图

WINCC读写SQL数据库的例子【附wincc项目文件】

3、wincc新建变量交叉索引截图

WINCC读写SQL数据库的例子【附wincc项目文件】

脚本

  1. 在【写入数据库】按钮中写入如下VBS脚本
Sub OnClick(Byval Item) 
Dim sSql
Dim sCom
Dim oRs
Dim conn
Dim oCom
Dim Con
Dim data1,data2,data3
'读取WINCC变量
data1=HMIRuntime.Tags ("number").Read 
data2=HMIRuntime.Tags ("name").Read 
data3=HMIRuntime.Tags ("age").Read 
'连接数据库,此处为数据库连接的标准语法结构。
Con="Provider=SQLOLEDB.1; Integrated Security =SSPI;Persist Security Info=False; Initial Catalog=读写数据库;Data Source=.\WINCC"
Set conn=CreateObject("ADODB.Connection")
conn.ConnectionString= Con
conn.CursorLocation=3
conn.Open
Msgbox "。。。。。"
'写入数据库,将number/name/age变量的值写到建好的数据库的列中,注意,数据的格式一定要统一。
'在HMI中组态完成后,运行写入几组数据。打开建好的数据库-->数据表-->右击-->选择前1000行即可看到所输入的数据,此时已经储存。
sSql="insert into 个人信息 VALUES ('"&data1&"','"&data2&"','"&data3&"');"
'下面的部分语句,也是数据库的标准语法,对数据库进行操作时,所需要的属性和方法。
'Initial Catalog= 后面为数据库名称,insert into 后面为数据表名称,
Set oRs=CreateObject("ADODB.Recordset")
Set oCom=CreateObject("ADODB.Command")
Set oCom.ActiveConnection=conn
oCom.CommandType=1
oCom.CommandText=sSql
Set oRs=oCom.Execute
Set oRs=Nothing
conn.Close
Set conn=Nothing
ScreenItems("静态文本4").text = data1  '静态文本4 在 编号 文本下方
ScreenItems("静态文本5").text = data2  '静态文本5 在 姓名 文本下方
ScreenItems("静态文本6").text = data3  '静态文本6 在 年龄 文本下方
End Sub
           
  1. 【读取数据库】按钮下的VBS脚本
Sub OnClick(ByVal Item)     
Dim sSql
Dim sCom
Dim oRs
Dim conn
Dim oCom
Dim Con
Dim data1,data2,data3
Dim data4,data5,data6,data7
'下面的data7变量为在HMI所输入的编号查询变量,结合下面的SELECT语法,将输入与表中编号比较,等于则取出该行值。
data7=HMIRuntime.Tags ("r_data").Read

'连接数据库
Con="Provider=SQLOLEDB.1; Integrated Security =SSPI;Persist Security Info=False; Initial Catalog=读写数据库;Data Source=.\WINCC"
Set conn=CreateObject("ADODB.Connection")
conn.ConnectionString= Con
conn.CursorLocation=3
conn.Open
Msgbox "。。。。。"
'读取数据库
'下面语句为查询数据库SELECT语句
sSql="SELECT * FROM 个人信息 WHERE 编号 = '"&data7&"';"
'标准的数据库操作属性和方法
Set oRs=CreateObject("ADODB.Recordset")
Set oCom=CreateObject("ADODB.Command")
Set oCom.ActiveConnection=conn
oCom.CommandType=1
oCom.CommandText=sSql
Set oRs=oCom.Execute
'此处为赋表中的列0-2值到变量data4-6
data4=oRs.Fields(0).Value
data5=oRs.Fields(1).Value
data6=oRs.Fields(2).Value
Set data1=HMIRuntime.Tags ("rnumber")
Set data2=HMIRuntime.Tags ("rname")
Set data3=HMIRuntime.Tags ("rage")
'下面为将data4-6值写入data1-3中。
data1.read
data1.write data4
data2.read
data2.write data5
data3.read
data3.write data6
ScreenItems("静态文本4").text = data1.read '读取数据在静态文本中输出
ScreenItems("静态文本5").text = data2.read
ScreenItems("静态文本6").text = data3.read
'数据库操作完的结束语句,为标准格式语句。
Set oRs=Nothing
conn.Close
Set conn=Nothing
End Sub
           

wincc项目文件地址

https://download.csdn.net/download/lnsy8866/10798535