我在使用wincc进行流量统计时遇到一个问题,使用wincc6.2版本,通过VBS编程写入数据库,采用1s的定时器作为触发条件,每天23:59:58进行一次写入数据库,在离线进行测试时一切正常,但上线后只有第1次执行正常,其它时候无法写入数据库,通过逐条判断,是写入VBS中的objCommand.Execute不执行,因为具有查询功能,因此在打开主画面时就连接数据库,且不关断,请诸位高手能否指点一二,感激不尽!
代码如下:
连接数据库:
Sub objConnection
Dim objConnection,strConnectionString
strConnectionString ="Driver={SQL Server};Server=.\WINCC;uid=;pass=;database=Flow_accumulative"
Set objConnection = CreateObject("ADODB.Connection")
objConnection.ConnectionString = strConnectionString
objConnection.open
HMIRuntime.DataSet.Add "objConnection",objConnection
End Sub
执行写入操作:
Sub WriteFlowACC
Dim objConnection,objCommand,strSQL
objConnection= HMIRuntime.DataSet("objConnection").Value
Dim Objtag1,Objtag2
Dim yy,mm,hh,dd,mn,ss,formatdates
Set Objtag1 = HMIRuntime.Tags("Air_flow_accumulative")
Set Objtag2 = HMIRuntime.Tags("Water_flow_accumulayive")
Objtag1.Read
Objtag2.Read
yy = Year(Now)
mm = Month(Now)
dd = Day(Now)
hh = Hour(Now)
mn = Minute(Now)
ss = Second(Now)
If mm < 10 Then
mm = "0" & mm
End If
If dd <10 Then
dd = "0" & dd
End If
If hh <10 Then
hh = "0" & hh
End If
If mn < 10 Then
mn = "0" & mn
End If
If ss <10 Then
ss = "0" & ss
End If
formatdates =" " & yy & "年" & mm & "月" & dd & "日"
strSQL = "insert into FLOW_ACC (Sequance_NO,Air_flow_accumulative,Water_flow_accumulayive,Insertime) values("
strSQL = strSQL & "'" & formatdates & "',"
strSQL = strSQL & "'" & Objtag1.Value & "',"
strSQL = strSQL & "'" & Objtag2.Value & "',"
strSQL = strSQL & "getdate())"
Set objCommand = CreateObject("ADODB.Command")
With objCommand
.ActiveConnection = objConnection
.CommandText = strSQL
End With
objCommand.Execute
End Sub
问题补充:
谢谢各位,问题已经找到,是数据结构的问题,在建数据表的时候使用了精确数据类型decimal(9,2),将浮点数写入的时候会造成不执行,修改数据表数据内容后恢复正常。
最佳答案
看看以下链接对您有没有帮助:
《巧妙运用WinCC V6.0 VBS 脚本实现对 SQL Server数据库的存储与查寻》
http://www.autooo.net/autooo/ruanjian/jishu/2007-09-19/15040_2.html
《wincc中使用VBS脚本读写SQLServer数据库文件》
http://wenku.baidu.com/view/01105a32a32d7375a4178033.html
《第一次接触WINCC中的数据库,求助。在WINCC中用VBS脚本向SQL数据库循环写数据》
http://www.ad.siemens.com.cn/club/bbs/post.aspx?b_id=5&a_id=496335
《wincc6.2_脚本系统》
http://www.doc88.com/p-987399177911.html
《WinCC V60 VBS 脚本实现对 SQL Server数据库的存储与查寻》
http://www.docin.com/p-282249278.html
提问者对于答案的评价:
谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc255780.html