找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
直接使用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中定义的一个变量。
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
楼主列举的步骤有一些小问题,可能是引用资料有笔误。可以按照以下的步骤操作,
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。
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
专家置评
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城