Wincc读写SQLServer数据库

已锁定

xixinhui

  • 帖子

    16
  • 精华

    0
  • 被关注

    4

论坛等级:游士

注册时间:2011-05-19

普通 普通 如何晋级?

Wincc读写SQLServer数据库

714

0

2015-06-11 11:35:24

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

Dim Data1, Data2, Data3

‘读取wincc变量
Data1=HMIRuntime.tags("编号").read
Data2=HMIRuntime.tags("姓名").read
Data3=HMIRuntime.tags("年龄").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
‘写入数据库
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
在实际项目中需要修改的只有定义变量时增加或减少数据data的个数,Data1=HMIRuntime.tags("编号").read中的变量名,数据库的名字,以及数据库的表名

2、在读数据按钮中写入一下VBS脚本
读取数据库变量到wincc变量
定义变量
Dim sCon
Dim sSql
Dim oRs
Dim conn
Dim oCom
Dim Con

Dim Data1
Dim Data2
Dim Data3

Dim data4
Dim data5
Dim data6
Dim data7

data7=HMIRuntime.tags("编号").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


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
'Set oRs = Nothing
data4=oRs.Fields(0).Value
data5=oRs.Fields(1).Value
data6=oRs.Fields(2).Value

'data1.write data4
Set data1=HMIRuntime.Tags("编号")
Set data2=HMIRuntime.Tags("姓名")
Set data3=HMIRuntime.Tags("年龄")


data1.Read
data1.Write data4
data2.Read
data2.Write data5
data3.Read
data3.Write data6

Set oRs = Nothing
conn.Close
Set conn = Nothing
读取数据时,按照编号读取数据,在实际中需要修改数据库语言。运行wincc,再编号输入输出域中输入编号,点击读数据按钮,得到需要的数据

我按照上面的介绍演示了一下,可以读取数据库,但是不能写入?不知到为什么,请大家指点下。
Wincc读写SQLServer数据库 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32566条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。