vb全局动作脚本死机

我通过VB动作脚本定时(1分钟)将WINCC界面上的数据传送至ACCESS数据库(access数据库的数据表链接至远程SQL服务器)。
但现在发现该动作脚本经常会死,不再传送数据至ACCESS,但wincc还是在正常运行。
当退出WINCC时,进度条往往卡在全局脚本。
当重启系统时,又能正常传送数据了。
这种问题一直困扰着我,不知道如何解决。
附VB脚本如下。
另外,各位高手如有直接连接远程SQL服务器的脚本,请不吝赐教!
Option Explicit
Function action
Dim objConnection
Dim strConnectionString

Dim raTankPv

Dim raReflux
Dim raCurrent
Dim raSpeed
Dim raFlow
Dim raWeight

Dim raWaterPv
Dim raWaterSp
Dim raWaterLmn

Dim raTank101Sp
Dim raTank101Lmn

Dim raTank103Sp


Dim strSQL
Dim objCommand

strConnectionString = "Provider=MSDASQL;DSN=SampleDSN;UID=;PWD=;" 

raTankPv = HMIRuntime.Tags("TIC258/101.PV_IN").Read

raReflux = HMIRuntime.Tags("TT_meas/R258_TI_103.U").Read
raCurrent = HMIRuntime.Tags("AT_meas/R258_AI_101.U").Read
raSpeed = HMIRuntime.Tags("ST_meas/R258_SI_101.U").Read
raFlow = HMIRuntime.Tags("FT_meas/R258_FI_101.U").Read
raWeight = HMIRuntime.Tags("WT_meas/R258_WI_101.U").Read

raWaterPv = HMIRuntime.Tags("TIC258/102.PV_IN").Read
raWaterSp = HMIRuntime.Tags("TIC258/102.SP").Read
raWaterLmn = HMIRuntime.Tags("TIC258/102.LMN").Read

raTank101Sp = HMIRuntime.Tags("TIC258/101.SP").Read
raTank101Lmn = HMIRuntime.Tags("TIC258/101.LMN").Read

raTank103Sp = HMIRuntime.Tags("TIC258/103.SP").Read


strSQL = "INSERT INTO R258 (tankPv,REFLUX,CURRENT,SPEED,FLOW,WEIGHT,tank101Sp,tank101Lmn,tank103Sp,waterPv,waterSp,waterLmn) VALUES (" & raTankPv & "," & raReFlux & "," & raCurrent & "," & raSpeed & "," & raFlow & "," & raWeight & "," & raTank101Sp & "," & raTank101Lmn & "," & raTank103Sp & "," & raWaterPv & "," & raWaterSp & "," & raWaterLmn & ");"  

Set objConnection = CreateObject("ADODB.Connection")

objConnection.ConnectionString = strConnectionString

objConnection.Open

Set objCommand = CreateObject("ADODB.Command")

With objCommand

    .ActiveConnection = objConnection

    .CommandText = strSQL

End With

objCommand.Execute

Set objCommand = Nothing

objConnection.Close

Set objConnection = Nothing
End Functi 

问题补充:
我就是要每隔一分钟记录一次数据,那VBS如何释放呢?

最佳答案

1、如果VBS脚本经调试后可正确无误的访问MS_ACCESS数据库,则就可确认VBS脚本代码是正确无疑了!
2、需要提醒的是MS_ACCESS是小型单机数据库,数据库文件在大于20MB后,打开后读/写访问的速度将明显降低,甚至进入死机状态。这我可有亲身使用经历。
3、当MS_ACCESS数据库文件随读/写访问容量的增加而达到一定极限后,就应将该数据库文件中数据做备份保存,然后在删除该文件中的数据,以减轻数据库文件的容量,从而才能加快读/写访问该数据库的速度。
4、所以,需要仔细查看一下MS_ACCESS数据库文件的容量是否超载!

提问者对于答案的评价:
只能给你了

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

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

相关推荐

  • WINCC C/S结构中的客户机如何禁止客户机修改服务器wincc程序

    如图:client1是其中一台客户机,权限如果取消“远程组态”,客户机是无法运行wincc的,所以客户机是需要将“远程组态选中的”。 问题补充:补充一下:只选择远程激活,客户机是无…

    2021年7月5日
  • wincc 用户的登录与退出

    新手求助:WINCC组态差不多要完成了,现仅差一个“用户的登录与退出”,它是为了防止无关人员的胡乱操作。当按下WINCC项目管理器的运行键(向右的箭头)后,弹出登录对话框,上面有用…

    SIMATIC WinCC 2017年11月25日
  • wincc flexible sp4 如何设置其它形状按钮

    wincc flexible sp4如何设置其他形状按钮 最佳答案 在其他图形上添加个透明的按钮的就行了 提问者对于答案的评价:谢谢了

    SIMATIC WinCC 2017年6月10日
  • 关于用户管理

    请问各位大侠,如何在WINCC中作一个用户登录窗口,就是有写按钮或者输入域需要用户权限登录后才能操作,我想做个按钮,点一下,输入用户名和密码,然后进行相应的权限操作 最佳答案 首先…

    SIMATIC WinCC 2019年6月11日
  • 如何判断wincc变量与哪个PLC连接

    假设一台WICC单用户机与3台PLC连接,在WinCC定义变量与PLC连接,地址为DB1.DBW2,我怎么知道到底是和PLC1的DB1.DBW2连接还是和PLC2,PLC3呢?是不…

    SIMATIC WinCC 2019年6月11日
  • wincc vbs脚本改变对象属性后无法保持

    wincc中,用vbs动态更新画面对象的属性后,对象属性值发生变化,但是切换到其它画面后再切换回来本画面,画面对象的属性值又变回到默认值,这个有什么设置可以保存脚本更改的值吗?例如…

    SIMATIC WinCC 2021年7月5日
  • WINCC趋势图的打印权限设置

    我想请问一下:在WINCC作为上位机的趋势图中,如何设置打印权限,他们分别为管理员,操作员等的不同权限。  期待ING 最佳答案 做两套打印功能,一套专门面对管…

    SIMATIC WinCC 2019年6月11日
  • wincc两个项目怎么合并?

    目前有两个单独的wincc项目,需要合并成一个,主要是把定义好的变量合并到一个项目中。 最佳答案 先要看下变量名有没有重复的,要是没有重复的在一个工程里拷贝需要的变量,关闭工程,再…

    SIMATIC WinCC 2019年6月11日
  • 单机版的WINCC能否传送

    单机版的WINCC能否传送数据到另一台电脑 问题补充:这个资料那里找啊 最佳答案 可以!通过OPC服务器来读取另一台PC的数据,最好两PC都安装SIMATIC NET&n…

    SIMATIC WinCC 2019年6月11日
  • wincc6.2修改自定义数据库指定行的数值

    小弟我在网上查的一段代码,用WINCC6.2的按钮事件往SQL自定义数据库里写数据已经能够实现,但我还需要一个修改数据库指定行数据的代码,比如图片1中所示,将data1列里数值为8…

    SIMATIC WinCC 2017年10月24日