WINCC7.5SP2报表练习1-VBS脚本自动向SQL数据表添加记录
(2024-10-13 20:26:17)
标签:
西门子winccvbs全局脚本sql添加记录 |
分类: 西门子软硬件 |
在写第二篇学习笔记之前,先练习一下使用vbs全局脚本定时向sql数据表写入记录。在前面数据库下新建一个数据表table_4,表结构和table_3一样。前面的WINCC项目程序新建两个内部变量nh3_12和nh3_ab,32位浮点数。
新建vbs全局脚本,定时器为5秒运行一次。
Option Explicit
Function action
Dim nh3_12,nh3_ab
Dim strcon
Dim objcon
Dim objcom
Dim objrs
Dim grid
Dim DTPicker
Dim pcname
Dim seldate
Dim sqltype
Dim temp1
Set
nh3_12=HMIRuntime.Tags("nh3_12")
Set
nh3_ab=HMIRuntime.Tags("nh3_ab")
nh3_12.Write 30*Rnd
nh3_ab.Write 30*Rnd
pcname=HMIRuntime.Tags("@LocalMachineName").Read
Set objcon
=Createobject("ADODB.connection")
Set
objrs=Createobject("ADODB.recordset")
Set
objcom=Createobject("ADODB.command")
objcom.commandtype=1
strcon="Provider=SQLOLEDB;password=3390011;user id=sa;Initial
Catalog=report;Data Source=" & pcname & "\WINCC"
objcon.connectionstring=strcon
objcon.Cursorlocation=3
objcon.open
If objcon.state=0 Then
Msgbox "数据库连接失败"
Else
Set
objcom.ActiveConnection=objcon
objcom.commandtype=1
objcom.commandtext="insert into
table_4(dt,nh3_12,nh3_ab,year1,month1,day1,hour1,minute1) values('"
& CStr(Now()) & "'," & CStr(nh3_12.read) & ","
& CStr(nh3_ab.read) & "," & CStr(Year(Now())) & ","
& CStr(Month(Now())) & "," &
CStr(Day(Now())) & "," &
CStr(Hour(Now())) & "," & CStr(Minute(Now())) &
")"
Set objrs=objcom.execute
Set objrs=Nothing
objcon.close
Set objcon=Nothing
End If
End Function
保存脚本,设置项目属性的启动内容,勾选全局脚本。
运行WINCC项目程序,每隔5秒就会向数据表table_4写入一条记录。

加载中…