wincc6.2使用VBS脚本写入SQL数据库不执行问题

我在使用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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月10日 下午8:41
下一篇 2019年6月10日 下午8:41

相关推荐

  • 多个AI调用同一个趋势控件

    一个项目里面有多个AI变量,如里每一个AI ,做一个趋势的话,就太多的了,现在想做一个趋势控制,通过在画面上点击AI变量,调用该变量的趋势图, 最佳答案 用脚本,举例:W…

    SIMATIC WinCC 2020年11月1日
  • WINCC可以读不可以写

    WINCC可以读出变量状态也可以用按钮控制启停,但是不能通过输入输出域写入数据。例如可以读出频率,不能写入频率,如图不知道是哪里出了问题 图片说明:    最佳…

    2020年11月1日
  • Wincc 播放声音报警

    我网上弄了一个嵌入按钮中的播放声音的C脚本。但我想关联到一个IO域输出显示变量上:大于等于设定值时播放,低于该设定值时停播。请问怎么实现呢? 问题补充:安照昵称ISIEMENSID…

    2021年7月5日
  • Industrial?Ethernet与TCP/IP之间的区别

    请教-WINCC变量管理器上INDUSTRIAL?ETHERNET与TCP/IP之间的区别?现在WINCC工作站单站4台,点数比较多PLC314+CP卡,TCP/IP通信方式,WI…

    2019年6月11日
  • 如何在上位机中显示出CPU的diagnostic buffer中的信息

    在wincc中显示出cpu的诊断信息, 最佳答案 《在操作站上运行 S7-400 CPUs 诊断》http://support.automation.…

    SIMATIC WinCC 2019年6月11日
  • wincc6.0有变量替换功能吗?

    比如需要做多个小窗口,那么做好了一个,其他是否可以用变量替换的方法对其需要连接的变量进行替换呢,是否有替换工具,可以说具体一点吗?谢谢 问题补充:就像EXCEL表格里的查找替换功能…

    SIMATIC WinCC 2019年6月11日
  • wincc7.3无法创建连续的结构变量

    我创建一个结构类型,和其下的3个外部元素,我选择MW30开始地址,系统没自动分配三个从MW30开始的连续地址,为什么 ? 图片说明:    &nbsp…

    2017年6月19日
  • wincc7.4怎么对一个整形数据的每一位取反

    我要做一个报警使能的按钮,点一下可以报警,在点一下不让他报警,按钮变量就是一个无符号16位数据的某一位,VC脚本应该怎么写? 问题补充:我不需要循环,一个按钮对应一个整形的一个位,…

    SIMATIC WinCC 2021年7月5日
  • Web客户端OCX控制显示不出来

    我在WINCC7.0SP3上发布了远程Web画面,在客户端所有画面都可以显示出来,就是画面中的动态控件显示不出来,控件是OCX类型的,不知道是什么原因,请各位大侠指导!! 最佳答案…

    SIMATIC WinCC 2017年6月18日
  • wincc v6.2 sp2升级为sp3的补丁哪里有下载?

    wincc v6.2 sp2升级为sp3的补丁哪里有下载啊?我下了一个winccpatch_3的补丁,为什么安装时提示For this pr…

    SIMATIC WinCC 2019年6月11日