永发信息网

利用WINCC的VB脚本写入变量到自定义的数据库方法?

答案:3  悬赏:10  手机版
解决时间 2021-11-14 05:05
利用WINCC的VB脚本写入变量到自定义的数据库方法?
最佳答案
WinCC的VBS虽可以声明Public变量,但作用域仅限于本画面,如下:

如果WinCC版本>=V6.0 SP3,则可以使用Dataset对象,该对象可以在不同的VBS脚本中进行访问,下面是个简单的例子:
1、连接
Dim objConnection,strConnectionString
strConnectionString ="Driver={SQL Server};Server=.WINCC;uid=;pass=;database=guowincc" 
Set objConnection = CreateObject("ADODB.Connection") 
objConnection.ConnectionString = strConnectionString 
objConnection.open 
HMIRuntime.DataSet.Add "objConnection",objConnection


2、全局动作中引用
Dim objConnection
objConnection= HMIRuntime.DataSet("objConnection").Value
with objCommand 
.ActiveConnection = objConnection 
xxxxxxxx


3、关闭连接:
Dim objConnection
objConnection= HMIRuntime.DataSet("objConnection").Value
objConnection.Close 
Set objConnection = Nothing
全部回答
要明白,Wincc中是使用VBS并非VB,如果你指望你按照VB的思路去写VBS,那么恐怕你移植到VBS中的话,要晕过去。如果你一定要在VB中做,那么在VB中编译为EXE文档后,然后在Wincc作为外部程序来引用。

对于VBS来说,只有变体类型,并无所谓的INT,String等类型。

ngValue = HMIRuntime.Tags("NewTag1_inter").Read 'NewTag1_inter是我自定义的归档变量

只能读取Wincc变量管理器中建立的变量,如果你不是在那里建立,那么是不正确的。
1、如果你不知道怎么用SQL语法创建数据库,那就手动创建好了,数据类型对应如下:
变量名 --- nchar
归档时间 ---- datetime
归档值 ----- real
PrimaryID ----- int(如想自动编号,请将其Identify Specfication设置为True)
2、可以直接使用Now,而不必Format为那种格式,否则可能会引起查询问题。你可以读出来后再进行转化。
3、tagTime = Now() 没问题
4、INSERT的语法为:
INSERT mytable (first_column,second_column,third_column)
VALUES (‘some data’,’some more data’,’yet more data’)
你那句有问题,自己琢磨琢磨,是最基本的字符串连接语法。

小错误,大问题:ADOB.Connection >> ADODB.Connection
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
路灯的高度是多少呢?
坟墓上张树好不好
翟麦和生地麦冬一起用
小男孩赤脚电影
为什么天天向上老欺负钱枫?
带有“尔”的组词有哪些?
神州租车(加州花园服务点)地址在什么地方,想
砂河到义兴寨几公里
网恋是不是只是年轻人的事儿?
介绍挪威的导游词
大王超级会员能退订吗
海鸥电视机55寸价钱是多少
手机游戏生存战争梯子怎么合成
ac德科机油滤清器怎么鉴别真假
求解答方程式: 4×+3×+5=2×-5 解:4×+3
推荐资讯
英语演讲稿,怎么在大学中解决压力
300英雄专用名词有什么?
盆栽石斛什么时候能采花和剪枝
555牌香烟多少钱一盒?
五总小学地址在什么地方,我要处理点事!
李零的介绍
三星c5好还是三星 note4好
胆囊大小正常,壁粗厚.与胆囊腔内可见大小19*
89×410790×41的简便运算
梅石小学地址有知道的么?有点事想过去!
,我想集中家乡妇女、做纯手工千层底布鞋,真
云南省农村信用社ATM(新华路)地址在哪,我要
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?