WINCC7.5SP2报表练习1续-VBS脚本自动向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写入一条记录。
posted @   来自金沙江的小鱼  阅读(252)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2022-10-13 ABB AC900F学习笔记151:本地消息处理1
2022-10-13 ABB AC900F学习笔记 150:全局消息确认
2022-10-13 ABB AC900F学习笔记149:操作员站消息3
2022-10-13 ABB AC900F学习笔记147:操作员站消息
2022-10-13 ABB AC900F学习笔记146:web访问
2021-10-13 ABB AC800M学习笔记1:Compact Control Builder界面汉化
点击右上角即可分享
微信分享提示