最近在帮女票做一个WINCC的项目,要使用VBS语言对历史数据查询与导出,表示没学过这东东,压力略大,所幸网上有不少的牛人不吝分享自己的经验与方法,自己终于在不断探索中完成,现将自己做此项目的一些经验与大家分享。
在具体介绍之前,还是先简略地介绍一下项目的背景,这是一个针对某个火炉的温度控制系统,其中,需要对几个关键的工艺参数变量实现查询。主要有DATA,PIHAO,LUCI等。这几个变量在WINCC系统中属于内部变量,在对其查询之前要先建立用户归档,这样WINCC会自动将这些变量按照设定的存储规则存放到SQL数据库中。而对历史数据操作的核心就是对SQL数据库的正确操作以导出我们需要的数据。
通过VBS语言对按钮对象编辑一个脚本程序就可以方便地实现此功能。
下面,我将对查询的具体步骤与注意的地方一一详述。
1、定义连接字符串,我们是可以通过ODBC方便地访问数据库的。使用VBS连接数据库,我们要知道以下信息:数据库名,数据源名。我们打开SQL数据库,这时候看到Databases下有很多的数据库,WINCC建立的数据库名是有规则的,一般是CC_工程名_年_月_日_时_分_秒R。
那么我们就可以这样定义连接字符串:
'定义连接字符串
sPro = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=false;"
sDsn = "Initial Catalog=CC_11_14_07_27_16_11_36R;"
sSer = "Data Source=MY_PC\WIN