WINCC读写SQL数据库的示例

一、在数据库中建立数据库文件,文件名为“读写数据库”,在数据库中建立新的表,命名为“个人信息”分别建立编号、姓名、年龄。
二、数据库中建立表后,在wincc中建立与数据库中类型相同的变量,变量类型相同在读写数据时很重要。在图形编辑器中新建画面,并在画面中增加三个输入输出域,并连接变量。
三、添加两个按钮控件,分别命名为写数据、读数据。

1.在写数据中写入如下脚本

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=testdata;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&"’);"
'下面的部分语句,也是数据库的标准语法,对数据库进行操作时,所需要的属性和方法。
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

‘’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’

2.读取按钮的脚本

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=testdata;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
'数据库操作完的结束语句,为标准格式语句。
Set oRs=Nothing
conn.Close
Set conn=Nothing


总结:

存在如下不足:

1.数据库的知识不足,具体的操作语句用法不熟悉。

2.VB的语句能看懂并理解,但是细节的更深层次的理解没有。

顺利的完成了该程序的测试,在以后的工作中,如果进行一些数据库数据的分析,掌握了数据库的查询语法知识,可以在WINCC内

实现一些数据的展示。而且数据库的连接也操作语法也可以进行套用到别的工程项目中。原理大致类似。

附测试结果:
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WinCC是一款功能强大的自动控制系统软件,可以用于监视、控制和管理工业过程。WinCC可以连接不同的数据库并进行读写操作,其中包括SQL数据库。下面是一个WinCC读写SQL数据库示例。 首先,需要在WinCC中创建一个SQL Server数据源,并且配置好连接字符串。然后在WinCC中创建一个图形界面,包括输入框和查询按钮。在按钮的代码中,访问SQL数据库并执行查询语句。 例如,当用户在输入框中输入一个订单号时,查询按钮会将订单号发送到SQL数据库中,并根据查询结果返回相关的信息。接着,将查询结果显示在WinCC图形界面上。 要实现这个功能,需要使用VBScript语言编写WinCC脚本,并将脚本链接到相应的控件事件中。在脚本中,可以使用ADO对象访问SQL数据库。例如: Dim conn, rs Set conn = CreateObject("ADODB.Connection") conn.Open "Provider=SQLOLEDB;Data Source=SQLServerName;User ID=UserName;Password=Password;Initial Catalog=DatabaseName" Set rs = CreateObject("ADODB.Recordset") rs.Open "SELECT * FROM Orders WHERE OrderNumber = " & InputBox("Enter Order Number"), conn If rs.EOF Then MsgBox "Order not found" Else MsgBox "Order Details:" & vbNewLine & "Order Number: " & rs("OrderNumber") & vbNewLine & "Customer Name: " & rs("CustomerName") & vbNewLine & "Order Date: " & rs("OrderDate") End If rs.Close conn.Close 这个例子展示了如何使用WinCC读写SQL数据库,并且将查询结果反馈给用户。当然,实际的应用场景可能更加复杂,需要结合具体的生产过程进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值