哪个能告诉我 下面 的 1和2 具体怎么操作
直接使用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中定义的一个变量。
最佳答案
楼主列举的步骤有一些小问题,可能是引用资料有笔误。可以按照以下的步骤操作,
1. 通过“开始”-- Microsoft Office,打开Microsoft Office Access 2003/2007,新建空白的数据库,定义数据库名称为WinCC_Access。把默认的“表1”或Table1重命名为Wincc_Data,并在表名上右键“设计视图”,切换到设计视图,保留已有的ID字段(系统自动标号),新增加一个字段重命名为Tag,数据类型与要从WinCC中读取的变量一致。存盘退出。
2. 通过“控制面板”--“管理工具”打开“数据源(ODBC)”,在“系统DSN”中添加新的ODBC数据源,驱动程序选择Driver Do Microsoft Access(*.mdb),或Microsoft Access(*.mdb),完成后输入数据源名称Sample,数据库“选择”步骤1中保存的数据库WinCC_Access。
3. 略。
楼主列举的步骤1中的数据表Wincc_Table在步骤3的代码中没有引用,而步骤3中SQL插入语句中的数据表为Wincc_Data,应该是步骤1中的笔误。
楼主最好还是参考WinCC在线帮助中“使用WinCC” -- VBS for Creating Procedures and Actions -- Examples of VBScript -- General Examples -- Example: Configuring a Database Connection with VBS中的Procedure, Example 1。
提问者对于答案的评价:
谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc311771.html