vb脚本操作WINCC6.2数据库

利用vb脚本操作WINCC V6.2 ASIA自带SQL2005数据库,在SQL2005数据库中新建一个数据表,利用全局脚本向此表中写数据。此表中设一id列,数据类型为int  ,其中Identity Specification中Identity increment 为1,Identity seed设为1。问题是我向数据库中写数据时,写第1条数据时,id值应该为1,写第2条数据时,id值应该写2...而实际上id值不是按设定进行保存,id值保存值是1,2,3,84,85,136...,存在保存无序现象,另外经常存在数据保存不上,十条数据只能保存2-3条不等。请问专家我的数据库操作,保存数据错误问题到底出在哪? 是否是自建数据表通过vb全局脚本操作WINCC SQL2005数据库不可靠,还是操作数据库时与WINCC调用SQL2005有冲突?
请专家给予详细解答!谢谢!

最佳答案

放到Action里面去,时间周期自己定,内容自己修改
Option Explicit
Function action
Dim objConnection
Dim strConnectionString
Dim lngValue
Dim strSQL
Dim objCommand
Dim fdcount
Dim objRecordSet
Dim RecordCount
Dim temp1,temp2,temp3,temp4,temp5,temp6,temp7,temp8,temp9,temp10,temp11,temp12,temp13,temp14,temp15,temp16,temp17
'MsgBox "here" 

If Minute(Now)=0 Then
  Dim Dates
  Dim Hours
  Dim Cn

  Dim F1,F2,F3,F4,F5,F6,F7,F8,F9,F10
  Dim F11,F12,F13,F14,F15,F16,F17,F18,F19,F20
  Dim F21,F22,F23,F24,F25,F26,F27,F28,F29,F30
  Dim F31,F32,F33,F34,F35,F36,F37,F38,F39,F40
  Dim F41,F42,F43,F44,F45,F46,F47,F48,F49,F50,F51,F52

     Dates=Int(Now)
     Hours=Hour(Now)
  Set F1=HMIRuntime.Tags("OT2")
  F1.read
  Set F2=HMIRuntime.Tags("OT3")
  F2.read
  Set F3=HMIRuntime.Tags("OT4")
  F3.read
  Set F4=HMIRuntime.Tags("OT5")
  F4.read
  Set F5=HMIRuntime.Tags("CX201ZGYL01IND")
  F5.read
  Set F6=HMIRuntime.Tags("CX201QTLL04IND")
  F6.read
  Set F7=HMIRuntime.Tags("CX201QTLL03IND")
  F7.read
  Set F8=HMIRuntime.Tags("CX201QTLL02IND")
  F8.read
  Set F9=HMIRuntime.Tags("CX201QTLL01IND")
  F9.read
  Set F10=HMIRuntime.Tags("OT11")
  F10.read
  Set F11=HMIRuntime.Tags("OT12")
  F11.read
  Set F12=HMIRuntime.Tags("OT13")
  F12.read
  Set F13=HMIRuntime.Tags("OT14")
  F13.read
  Set F14=HMIRuntime.Tags("OT15")
  F14.read
  Set F15=HMIRuntime.Tags("OT16")
  F15.read
  Set F16=HMIRuntime.Tags("OT17")
  F16.read
  Set F17=HMIRuntime.Tags("OT19")
  F17.read
  Set F18=HMIRuntime.Tags("OT20")
  F18.read
  Set F19=HMIRuntime.Tags("OT21")
  F19.read
  Set F20=HMIRuntime.Tags("OT22")
  F20.read
  Set F21=HMIRuntime.Tags("OT23")
  F21.read
  Set F22=HMIRuntime.Tags("OT24")
  F22.read
  Set F23=HMIRuntime.Tags("OT25")
  F23.read
  Set F24=HMIRuntime.Tags("OT26")
  F24.read
  Set F25=HMIRuntime.Tags("OT27")
  F25.read
  Set F26=HMIRuntime.Tags("OT28")
  F26.read
  Set F27=HMIRuntime.Tags("OT29")
  F27.read
  Set F28=HMIRuntime.Tags("OT30")
  F28.read
  Set F29=HMIRuntime.Tags("OT31")
  F29.read
  Set F30=HMIRuntime.Tags("OT32")
  F30.read
  Set F31=HMIRuntime.Tags("OT33")
  F31.read
  Set F32=HMIRuntime.Tags("OT34")
  F32.read
  Set F33=HMIRuntime.Tags("CX201GFJ801CUR")
  F33.read
  Set F34=HMIRuntime.Tags("CX201GFJ802CUR")
  F34.read
  Set F35=HMIRuntime.Tags("CX201GFJ803CUR")
  F35.read
  Set F36=HMIRuntime.Tags("CX201GFJ804CUR")
  F36.read
  Set F37=HMIRuntime.Tags("CX201GFJ805CUR")
  F37.read
  Set F38=HMIRuntime.Tags("CX102DQSP01TTOT")
  F38.read
  Set F39=HMIRuntime.Tags("CX102DQSP02TTOT")
  F39.read
  Set F40=HMIRuntime.Tags("CX102DQSP03TTOT")
  F40.read
  Set F41=HMIRuntime.Tags("CX102DQSP04TTOT")
  F41.read
  Set F42=HMIRuntime.Tags("CX102TQSP01TTOT")
  F42.read
  Set F43=HMIRuntime.Tags("OT46")
  F43.read
  Set F44=HMIRuntime.Tags("OT47")
  F44.read
  Set F45=HMIRuntime.Tags("OT48")
  F45.read
  Set F46=HMIRuntime.Tags("OT49")
  F46.read
  Set F47=HMIRuntime.Tags("OT50")
  F47.read
  Set F48=HMIRuntime.Tags("CX301TJWL01IND")
  F49.read
  Set F49=HMIRuntime.Tags("CX301TJWL02IND")
  F50.read
  Set F50=HMIRuntime.Tags("CX301TJWL03IND")
  F51.read
  Set F51=HMIRuntime.Tags("CX301TJWL04IND")
  F52.read  
'MsgBox "here"  
  strSQL="insert into D_data("
  strSQL=strSQL & "Date,Hours,dtime,F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,"
  strSQL=strSQL & "F11,F12,F13,F14,F15,F16,F17,F18,F19,F20,"
  strSQL=strSQL & "F21,F22,F23,F24,F25,F26,F27,F28,F29,F30,"
  strSQL=strSQL & "F31,F32,F33,F34,F35,F36,F37,F38,F39,F40,"
  strSQL=strSQL & "F41,F42,F43,F44,F45,F46,F47,F48,F49,F50,F51,F52"
  strSQL=strSQL & ") values('" & Date & "','" & Time & "','" & Date + Time & "'," & F1.Value & "," & F2.Value & "," & F3.Value & "," & F4.Value & "," & F5.Value & "," & F6.Value & "," & F7.Value & "," & F8.Value & "," & F9.Value & "," & F10.Value & ","
  strSQL=strSQL & F11.Value & "," & F12.Value & "," & F13.Value & "," & F14.Value & "," & F15.Value & "," & F16.Value/10 & "," & F17.Value & "," & F18.Value & "," & F19.Value & "," & F20.Value & ","
  strSQL=strSQL & F21.Value & "," & F22.Value & "," & F23.Value & "," & F24.Value & "," & F25.Value & "," & F26.Value & "," & F27.Value & "," & F28.Value & "," & F29.Value & "," & F30.Value & ","
  strSQL=strSQL & F31.Value & "," & F32.Value & "," & F33.Value & "," & F34.Value & "," & F35.Value & "," & F36.Value & "," & F37.Value & "," & F38.Value & "," & F39.Value & "," & F40.Value & ","
  strSQL=strSQL & F41.Value & "," & F42.Value & "," & F43.Value & "," & F44.Value & "," & F45.Value & "," & F46.Value & "," & F47.Value/10 & "," & 0 & "," & F49.Value & "," & F50.Value & "," & F51.Value & "," & F52.Value & ")"
'  MsgBox "here"
'strConnectionString = "Provider=MSDASQL;DSN=CXWS_DSN;UID=;PWD=;"
'
'Set objConnection = CreateObject("ADODB.Connection")
'
'objConnection.ConnectionString = strConnectionString
'objConnection.Open
'Set objCommand = CreateObject("ADODB.Command")
'With objCommand
'    .ActiveConnection = objConnection
'    .CommandText = strSQL
'End With

  Set Cn=CreateObject("ADODB.Connection")
  Cn.open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=CXWS_DB;Data Source=cxoperator3\wincc"
  Cn.Execute strSQL
  Cn.close
  Set Cn=Nothing 

'objCommand.Execute
'Set objCommand = Nothing
'objConnection.Close
'Set objConnection = Nothing
    End If
End Function

提问者对于答案的评价:
谢谢专家和各位热心的解答,利用VB脚本操作SQL2005数据库确实存在不稳定问题。特别是当脚本较多时,数据存储可能问题更多。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc267912.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午5:38
下一篇 2019年6月11日 上午5:38

相关推荐

  • 求WINCC C脚本资料

    谁有WINCC C脚本方面的资料啊,各脚本语句如何定义,有一点C语言基础。邮箱地址:svrleo@126.com 最佳答案 VB脚本学习资料:《WinCC脚本应用》链接:…

    SIMATIC WinCC 2019年6月11日
  • 关于flexible2007的安装

    在安装fwincc lexible2007时,一直报重新启动,但是重新启动也无法安装,安装盘在其他的电脑中安装成功过,笔记本的系统也是xp 专业版 S…

    SIMATIC WinCC 2019年6月11日
  • CPU224和触摸屏TP177B通讯

    CPU224和触摸屏TP177B的通讯线是怎么做的,脚位怎么连的?我用的DP头但是连不上。一直显示#### 最佳答案 用 DP 头加 DP …

    SIMATIC WinCC 2019年6月11日
  • 我的WinCC授权怎么不起作用

    我的WinCC授权怎么不起作用,大家给看一下,我把相关的图片传到我的博客里了!http://hi.baidu.com/wlq0422/blog/item/0d79e97750865…

    SIMATIC WinCC 2019年6月11日
  • WINCC C脚本中如何获取光标位置?

    WINCC7.0,在鼠标点击一个非按钮对象时,通过什么C函数可以获取光标当前的位置(X和Y坐标)?请大家帮忙解答,谢谢了! 最佳答案 空白处鼠标右击,在属性中!! 提问者对于答案的…

    SIMATIC WinCC 2019年6月11日
  • 用PCS7中的WINCC编辑的界面系统自带的画面没显示

    请问各位大侠,我使用PCS7中的WINCC编辑的界面,运行时系统自带的顶部概况区、底部的按区没有显示,这是什么回事?理论上这两个区的画面应该自动显示的呀。 最佳答案 别乱说!&nb…

    SIMATIC WinCC 2019年6月11日
  • wincc vbs 登陆系统函数

    看了VC心里就烦,感觉VB好用一些,想做一个系统试试,其它的都完成了可是就是不知道怎么做一个登陆和退也登陆,望有哪位大侠可以赐教一下! 最佳答案 1.WinCC中可以热键调用登录对…

    SIMATIC WinCC 2019年6月11日
  • winCC许可证到期

    我厂集控系统有5台客户机和一台服务器,最早的时候用的是盗版的7.3版本。后来与建设方交涉让其全部更换为正版的系统。正常运行一年左右,最近突然提示服务器的许可证到期,但是并未影响操作…

    2021年7月5日
  • wincc与cpu314-2dp的profibus通讯

    s7管理器通过cp5611板可以与cpu通讯,下载和监视程序运行,但是plc与wincc连接不上,如何处理,需要怎样设置? 最佳答案 参见网上课堂:http://www.ad.si…

    SIMATIC WinCC 2019年6月11日
  • wincc7.3 分屏显示操作问题

    CPU315-2DP通过DP 连接到工控机,工控机有一个独立显卡和一个集成显卡,可以连接2个显示屏。原先wincc组态是单个用户在一个显示屏显示,通过点击按钮切换不同页面…

    SIMATIC WinCC 2020年11月1日