这个不需要通过OPC,可以直接使用Wincc里的脚本功能,向Access数据库里直接写变量值。
1,建立Access数据库,比如Wincc_DATA,建立数据表:Wincc_Table,表中有一个字段比如“Tag”
2.建立ODBC数据源,名称可定义为Sample,连接指向“Wincc_DATA"
3.在Wincc里编写一个脚本如下:
dim objconnection
dim strconnectionstring
dim lngvalue
dim strsql
dim objcommand
strconnectionstring="Provider=MSDASQL;DSN=Sample;UID=;PWD=;"
lngvalue=HMIRuntime.Tags("Tag1").Read
strsql="insert into WINCC_DATA(Tag) values("&lngvalue&");"
set objconnection=createobject("ADODB.Connection")
objconnection.connectionString=strconnectionstring
objconnection.Open
set objCommand=CreateObject("ADODB.Command")
with objcommand
.ActiveConnection=objconnection
.CommandText=strsql
end with
objcommand.Execute
set objcommand=nothing
objconnection.Close
set objconnection=nothing
你可以在一个画面里,添加一个按钮,将这个按钮的按钮属性设为执行这段脚本。
这段脚本只向Tag这一个域里写Tag1数据。如果要写别的域的数据可以修改Sql语句,按照你的需要了........
脚本中Tag1是你在Wincc中定义的一个变量。