用WINCC的C脚本访问他的SQL数据库并不合适!因为本来vc++ 和VB对比,vb访问数据库比VC要方便,容易掌握,快捷
最好的方法:采用VB编写SQL访问数据,外挂于WINCC。
访问WINCC SQL,用常规的方法是访问不到的,因为SQL FOR WINCC有独特的访问方式。
WinCC的VBS虽可以声明Public变量,但作用域仅限于本画面,如下:
如果WinCC版本>=V60 SP3,则可以使用Dataset对象,该对象可以在不同的VBS脚本中进行访问,下面是个简单的例子:
1、连接
Dim objConnection,strConnectionString
strConnectionString ="Driver={SQL Server};Server=\WINCC;uid=;pass=;database=guowincc"
Set objConnection = CreateObject("ADODBConnection")
objConnectionConnectionString = strConnectionString
objConnectionopen
HMIRuntimeDataSetAdd "objConnection",objConnection
2、全局动作中引用
Dim objConnection
objConnection= HMIRuntimeDataSet("objConnection")Value
with objCommand
ActiveConnection = objConnection
xxxxxxxx
3、关闭连接:
Dim objConnection
objConnection= HMIRuntimeDataSet("objConnection")Value
objConnectionClose
Set objConnection = Nothing
WInCC 本身就不是用来开发数据库,他本身带有SQL server的数据库,如果你是想把WinCC的归档数据导出到别的数据库,可以使用连通性选件包或工业数据桥,给你两个链接参考:
>
1、建立存储:
CREATE PROCedure[owner]procedurename[;number]
[[(]@parameter_name datatype[=default][OUTput]
[,@parameter_name datatype[=default][OUTput]][)]]
[WITH RECOMPILE]
AS SQL_statements
2、存储规则:
[EXECute][@return-status=]
[[[server]database]owner]procedurename[;number]
[[@parameter_name=]value|[@parameter_name=]@varialbe[OUTput]
[,[@parameter_name=]value|[@parameter_name=]@variable[OUTput]]]
[WITH RECOMPILE]
具体 *** 作修改一下连接字符串和sSql里的命令就可以了
Dim sCon
Dim sSql
Dim oRs
Dim conn
Dim oCom
Dim Con
Dim Data1, Data2, Data3
‘读取wincc变量
Data1=HMIRuntimetags("编号")read
Data2=HMIRuntimetags("姓名")read
Data3=HMIRuntimetags("年龄")read
‘连接数据库
Con="Provider=SQLOLEDB1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=读写数据库;Data Source=\WINCC"
Set conn = CreateObject("ADODBConnection")
connConnectionString = Con
connCursorLocation = 3
connOpen
‘写入数据库
sSql="insert into个人信息VALUES('" & Data1 & "','" & Data2&"','"&Data3&"');"
Set oRs = CreateObject("ADODBRecordset")
Set oCom = CreateObject("ADODBCommand")
Set oComActiveConnection = conn
oComCommandType = 1
oComCommandText = sSql
Set oRs = oComExecute
Set oRs = Nothing
connClose
Set conn = Nothing
安装时是带选项的,请注意选择。
Connectivity Pack提供用来解析WinCC数据库压缩归档的WinCC OLE DB驱动,不用它很难直接从WinCC的数据库中读取归档数据(SQL Server OLE DB无此功能)。
可以使用Dat@Monitor,它可以在Excel和Internet Explorer中以表格和图形的方式显示WinCC的数据库中的数据。
也可以使用Industrial Data Bridge(工业数据桥),它可以将WinCC的数据读写到第三方的数据库(SQL Server 2000/MS Access 2003/Oracle 9i),而后可以用VB/VC/net来访问。
以上就是关于如何访问wincc sqlserver数据库全部的内容,包括:如何访问wincc sqlserver数据库、如何用WINCC里的脚本语言连接微软的数据库、利用WinCC 怎么开发实时数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)