利用VBS脚本将WINCC数据写入MSSQL实践

[复制链接]
查看37911 | 回复0 | 2024-5-6 13:54:56 | 显示全部楼层 |阅读模式
【接上篇】

    上篇文章大致介绍了如何将wincc数据整点记录在指定的文件夹内,其中如何将数据写入MSSQL未给出源文件,今日将原VBS脚本文件提供出来给大家参考用。

     首先我们打开VBS脚本编辑器,建立动作脚本:TOMSSQL.bac

脚本源文件如下:

   

Option Explicit

Function action

Dim Data1, Data2, Data3 , Data4, Data5,Data6, Data7,Data8

'读取wincc变量

         Data1=Now()'获取系统日期时间

         Data2=Round(HMIRuntime.tags("test_data1").read,3)'取3位小数

         Data3=Round(HMIRuntime.tags("test_data2").read,3)' 取3位小数

         Data4=Round(HMIRuntime.tags("test_data3").read,3)'取3位小数

         Data5=Round(HMIRuntime.tags("test_data4").read,3)'取3位小数

         Data6=Round(HMIRuntime.tags("test_data5").read,3)'取3位小数

         Data7=Round(HMIRuntime.tags("test_data6").read,3)'取3位小数

         Data8=Round(HMIRuntime.tags("test_data7").read,3)'取3位小数

Dim adoConn '定义ADO连接对象?

Dim ConnectionStr '定义数据库连接字符串?

Dim sqlStr,adoRst'获取连接数据库字符串

ConnectionStr="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=master;Data Source=DESKTOP-FD6EA86\WINCC"'不同项目此引号里面的数据源要更换

Set adoConn = CreateObject("ADODB.Connection")

adoConn.Open ConnectionStr

If adoConn.State = 0 Then

Msgbox "连接数据库失败!"

Else

'Msgbox "连接数据库成功!"

End If

Dim sSql,oRs,oCom   

'写入数据库

sSql=" insert into tt1(tt,t1,t2,t3,t4,t5,t6,t7)VALUES('"&Data1&"','"&Data2&"','"&Data3&"','" &Data4&"','"&Data5&"','"&Data6&"','"&Data7&"','"&Data8&"')"



Set oRs = CreateObject("ADODB.Recordset")

Set oCom = CreateObject("ADODB.Command")

Set oCom.ActiveConnection = adoConn

oCom.CommandType = 1

oCom.CommandText = sSql

Set oRs = oCom.Execute

oRs.CLOSE

Set oRs = Nothing

adoConn.Close

Set adoConn = Nothing

End Function

目前应用在真实的案例:





增加文件夹记录按钮,可以在wincc运行画面直接打开文件夹:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则