WINCC VBS变量写入数据库问题

电脑安装两套SQL,分别为一套WINCC 自带2005,另安装2008自用数据库
脚本读取EXCEL数据,内容name和变量点名。读取后保存内部地址。然后写入数据库2008.
烦请个位大咖帮我找一下问题。

Option Explicit
Function action
Dim DM(100)
Dim dm1(100)
Dim name(100)

Dim ss1(100)
Dim ss2(100)
Dim ss3(100)
Dim yl1(100)
Dim yl2(100)
Dim yl3(100)
Dim lj1(100)
Dim lj2(100)
Dim lj3(100)

Dim i
Dim database,server,uid,pwd
Dim stren,cn,is_sql
 


database="outdate"
server="SCADA1"
uid="sa"
pwd="sa"
 
stren="provider = SQLOLEDB.1;DRIVER = SQL SERVER;SERVER="&SERVER&";DATABASE="&DATABASE&";UID="&uid&";pwd="&pwd&""
'访问数据库、数据表、权限
Set cn = CreateObject("ADODB.Connection")
cn.Connectionstring = stren
cn.open
'执行打开数据库指令
 
 'field1="T1_" 
Dim Date 
Date= Now
 '取变量及变量名从execl文件里取变量名
Dim  objExcelApp
Set  objExcelApp  =  CreateObject("Excel.Application")

objExcelApp.Visible  = False '不可见
objExcelApp.DisplayAlerts = False '不提示
objExcelApp.WorkBooks.Open "d:\Demo.xls"

Dim n
n=0
For i=0 To 18
n=n+1
name(i) = objExcelApp.worksheets("Sheet1").Cells(n,  1).Value
ss1(i) = objExcelApp.worksheets("Sheet1").Cells(n,  2).Value
yl1(i) = objExcelApp.worksheets("Sheet1").Cells(n,  3).Value
lj1(i) = objExcelApp.worksheets("Sheet1").Cells(n,  4).Value
Next


For i=0 To 18
Set DM(i)=HMIRuntime.Tags(CStr(name(i)))
dm1(i) = DM(i).READ 
Set ss2(i)=HMIRuntime.Tags(CStr(ss1(i)))
ss3(i) = ss2(i).READ 
Set yl2(i)=HMIRuntime.Tags(CStr(yl1(i)))
yl3(i) = yl2(i).READ 
Set lj2(i)=HMIRuntime.Tags(CStr(lj1(i)))
lj3(i) = lj2(i).READ 
Next
 

For i=0 To 18

is_sql="insert into Table_1(name,ss,yl,lj,date) values ('"&name(i)&"','"&ss3(i)&"','"&yl3(i)&"','"&lj3(i)&"','"&Date&"')"
cn.execute is_sql

Next


objExcelApp.Workbooks.Close
objExcelApp.Quit
Set  objExcelApp  = Nothing

cn.close
End Function


EXCEL 表数据 
站点1 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QB_1
站点2 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QM_1
站点3 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QB_1
站点4 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QM_1
站点5 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QB_1
站点6 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QM_1
站点7  JW_F1_TT_1 
站点8 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QM_1
站点9 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QB_1
站点10 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QM_1
站点11 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QB_1
站点12 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QM_1
站点13 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QB_1
站点14 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QM_1
站点15 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QB_1
站点16 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QM_1
站点17 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QB_1
站点18 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QM_1
站点19 JW_F1_PT_1 JW_F1_TT_1 JW_F1_QB_1

最佳答案

呃,不知道for循环执行sql语句行不行,没这么使用过
您可以先不用for循环,测试sql语句成功之后,再分部分加入for循环测试

提问者对于答案的评价:
打读取EXCEL和FOR删除可以写入数据库。EXCEL读取还没有找到问题呢!

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

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

相关推荐

  • 急求大家指点

    请问怎么将康奈视的视觉系统与西门子hmi设备(cognex7050与mp277)进行通讯从而实现自动分拣设备的实时显示呢 最佳答案 西门子hmi设备mp277的功能:https:/…

    SIMATIC WinCC 2017年6月3日
  • 画面模板里的变量触发VBS脚本读写数据库

    WinCC上用结构变量建立了1个画面模板,模板里有200多个变量,需要变量发生变化时读写数据库。现场30台设备的监控画面都是调用这个模板来呈现,问题是怎么保证每台设备的参数发生变化…

    SIMATIC WinCC 2021年7月5日
  • wincc多屏显示问题

    wincc画面太多,怎么能做双屏显示或者多屏显示,屏幕都能操作,方便监控? 最佳答案 显示器设置能扩展,比如水平扩展,然后画面分辨率设置的大一些,比如一个显示器分辨率是1920*1…

    SIMATIC WinCC 2021年7月5日
  • 求高人指点项目函数

    变量:TIME,用户归档:TEMP,内部变量名:ID:@UA_TEMP_ID;指令:@UA_ TEMP_Job;域:@UA_ TEMP_Field;数值:@UA…

    SIMATIC WinCC 2017年11月12日
  • wincc7.5和S7-1200PLC通讯 设置连接参数时访问点搜不到

    wincc7.5和S7-1200PLC通讯1,打开变量管理2,右击添加新的驱动程序(SIMATIC S7-1200,S7-1500 channel3,右击OMS…

    2020年11月1日
  • wincc flexible 2008 sp5打开SP1创建的程序,部分打开失败

    wincc flexible 2008 sp5打开SP1创建的程序,部分打开失败,部分可以升级转换打开,电脑安装SP1都可以打开正常,请问如何使用SP…

    2021年7月5日
  • 关于wincc中定义全局变量的问题

    用wincc做一个用户控制的界面,之前在VB中做过相同的功能,我想问下VB里设置的全局变量在wincc中应该在哪里定义,是一个一个设置内部变量吗,还是说在全局脚本里定义 最佳答案 …

    SIMATIC WinCC 2020年11月1日
  • SQL2005安装包

    请问一下,哪位大师有SQL2005的安装包??可以发一份给我吗?谢谢大师不吝赐教还有安装wincc flexible 2008 sp4之前必须装SQL…

    SIMATIC WinCC 2021年7月5日
  • wincc死机重启后会将一些变量置0吗

    比如wincc运行时,我点击一个按钮发送一个变量为1的命令,过一段时间wincc电脑或程序死机,重启后这个变量会被置成0吗 最佳答案 不会,只要已经写进PLC,WINCC死机时PL…

    SIMATIC WinCC 2017年6月9日
  • wincc日报表制作

    wincc通过归档将变量1个小时存入Excel一次,然后调用Excel在wincc显示怎么做???请求高手指点?给个手册或工程实例都行……… 问题补充:最好有详细的操作…

    SIMATIC WinCC 2020年11月1日

发表回复

登录后才能评论