VBS创建数据库及数据库数据写入

Option Explicit
Function action

Dim BS201
Dim BS202
Dim BS200

Dim RM_MASTER    '判断是否执行全局脚本

Set RM_MASTER = HMIRuntime.Tags("A33")
RM_MASTER.Read
If RM_MASTER.Value = 1 Then 


Set BS201 = HMIRuntime.Tags("ChannelOut1")
BS201.Read()

Set BS202 = HMIRuntime.Tags("ChannelOut4")
BS202.Read()

BS200 = BS201.Value + BS202.Value

'//DATABASE
Dim objAdoConn
Dim objRecordset
Dim objCommand
Dim strAdoConn
Dim strSQL
Dim retVal
Dim FrontstrSQL
Dim BackstrSQL
Dim BSstrSQL

Set objAdoConn= CreateObject("ADODB.Connection")
Set objRecordset = CreateObject("ADODB.Recordset")
Set objCommand = CreateObject("ADODB.Command")

Set strAdoConn = HMIRuntime.Tags("ADOConnectStr")
strAdoConn.Read()


objAdoConn.CommandTimeout=5
objAdoConn.connectionstring = strAdoConn.Value 
objAdoConn.CursorLocation = 3'//important

objAdoConn.open

BSstrSQL ="insert into BSData(RecordTime,BS201,BS202,BS200,TimePointStr"&_
             ")values"&_
             "('"&Now()&"','"&BS201.value&"','"&BS202.value&"','"&BS200&"',0,'00:00')"           

  
      objAdoConn.Execute FrontstrSQL
      objAdoConn.Execute BackstrSQL        
      objAdoConn.Execute BSstrSQL  
      If Err.Number<>0 Then
             MsgBox Err.Description       
             Err.Clear

         End If

objRecordset.close
Set objRecordset = Nothing
Set objCommand = Nothing
objAdoConn.close
Set objConnection = Nothing

'RM_MASTER.Value = 0

Set M_MASTER.Value = HMIRuntime.Tags("A33")


    '1#通道报警处理
    '(LLA)
'If objtag2.Value < objtag60.Read Then
 tag1.Value = 0
 tag1.Write 'statements


End If 


我用的是SQL2008R2,因是初次使用VBS脚本配合wincc,上面是我写的数据写入数据库脚本,可是SQL内部没有我写的数据,是不是缺少创建数据库脚本,有没有详细一点的操作步骤,SQL需不需要设置?

最佳答案

SQL本身不需要设置,但是做这个第一步是建立一个数据库并且建立数据库表,这个一般是手动在SQL里建立的,其次,你的脚本的SQL语句字符串必须要与相关的表一致,尤其是检查字段名,先确定是否连接成功,然后在数据库里测试好语句,最后两者结合,成功率就是100了。2606352062欢迎交流

提问者对于答案的评价:

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午10:37
下一篇 2021年7月5日 上午10:37

相关推荐

  • CPU224和触摸屏TP177B通讯

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

    SIMATIC WinCC 2019年6月11日
  • wincc变量中“质量”的含义

    用鼠标指向wincc变量表中某个变量,会显示“质量:8”或“质量:4c”等字符,在帮助文件中好像没找到它们含义,请问哪里能找到? 最佳答案 关于变量的质量代码,在帮助文件中有详细解…

    SIMATIC WinCC 2019年6月11日
  • 在wincc的c脚本动作里读取wincc定义的外部变量值

    在wincc的c脚本动作里读取wincc定义的外部变量值并传送给内部变量,通讯正常,外部变量对应plc地址DB3.DW41.0,内部变量对应输入输出域,显示的数值却是0,此时外部变…

    SIMATIC WinCC 2018年12月2日
  • plc wincc问题

    如何通过C脚本修改对象属性。可见性之类的 最佳答案 SetPropBool(“picture1”,”customizedobject1”,”visible”,false);pict…

    SIMATIC WinCC 2017年11月6日
  • 请教高人WINCC的问题

    在设置视图库里面的meter属性的时候最大值最小值,怎么在画面运行后表盘上面没有显示?有什么办法能解决这个问题吗?谢谢!!!!!! 我设置的范围是0-35但是量程上面的数…

    SIMATIC WinCC 2019年6月11日
  • wincc与step7怎么做SOE

    上位机用wincc,PLC用s7-414-5H要采集高压柜上保护仪表的SOE事件。具体应该怎么来实现 问题补充:是高压保护仪表通过PLC的DI开关量输入模块直接采集做SOE,上位软…

    SIMATIC WinCC 2021年7月5日
  • 转接头需要驱动程序吗

    我想用AB PLC 1762-L40BWAR与西门子屏tp177B通讯,是否需要加RS422-RS232的转接头?使用这转接头需要另外加驱动吗?谢谢! 问题补充…

    SIMATIC WinCC 2019年6月11日
  • 如何在wincc画面上做点击操作按钮的时候弹出需要确认的对话框

    厂方要求我做wincc的时候所有画面上的操作按钮,在点击的时候不是直接操作,而是弹出对话框提示操作人员确实要这样做吗,如果这样做点击是,这种确认对话框 问题补充:可以弹出对话框,但…

    SIMATIC WinCC 2019年6月11日
  • WINCC 报警

    请问各位大哥,在一个WINCC项目里面可以做两个报警画?就是有两个ALARM的PDL画面 最佳答案 可以的,报警都是通过报警控件显示的.你在一个画面里面组态两个报警控件就是. 提问…

    SIMATIC WinCC 2019年6月11日
  • WinCC flexible SMART V3 软件打开数据库的服务器问题

    用上述软件做了个屏幕程序,发给客户他那边用的同样的软件显示打不开,急求大腿们帮忙看看。也不清楚这个指的什么服务器 问题补充:这是客户发来的图 图片说明:    …

    2021年7月5日

发表回复

登录后才能评论