wincc 可以显示wincc数据库sql访问数据的控件有哪些

【&WinCC&】V7.0&支持.NET控件的编程入门
1. 开发.NET控件的示例程序
WinCC V7.0支持的自定义.NET控件,需要使用Visual Studio
2005编写。下面以C#编程语言为例,开发一个简单的.NET控件,这个控件仅提供一个方法Add, 实现两数相加的功能。
在VS2005中新建一个工程CalculateControl,工程类型为 Visual C# 中的Windows Control
Library,在 Solution Explorer 窗口中,将UserControl1.cs重命名为
Calculate.cs,弹出的对话框询问是否改变所有与UserControl1相关的代码,点击[Yes]确认。在Calculate.cs
文件的Calculate类中添加Add函数,用于计算两数之和,如下所示:
public double Add(double dblA, double
return ( dblA + dblB );
在 Calculate.cs
文件的Calculate类之前插入如下代码:
// CalculateControl.Calculate
是该控件的PROGID.
[ProgId("CalculateControl.Calculate")]
// 缺省的是ClassInterfaceType.AutoDispatch,该方式下只生成dispatch接口,
// 只能被使用script、VB等late bingding方式的COM客户使用。
[ClassInterface(ClassInterfaceType.AutoDual)]
然后在 Calculate.cs 文件的上部插入如下代码:
System.Runtime.InteropS
将工具栏中的 Solution Configurations 下拉列表设为
Release,在工程\属性的 Application 页中,点击 [Assembly Information…] 按钮,选中
Make assembly COM-Visible,并点击 [OK] 按钮确认。在 Build 页中,选中 Register for
COM interop
后,保存设置,并编译程序,这样编译后同时会生成CalculateControl.tlb文件,并且自动将其注册(命令行命令regasm有同样的效果),注意到CalculateControl.dll生成到
bin\Release 文件夹中。
2.开发.NET控件的安装程序
如果该控件需要在另一台计算机上使用,需要为该控件设计安装程序。新建一个VS2005工程SetupCalculateControl,工程类型为Setup
and Deployment \ Setup Project。在Solution
Explorer窗口中的工程名(SetupCalculateControl)节点上右键单击,在弹出的快捷菜单中选择Add\Assembly…项,在Browse页中,找到刚才编译的CalculateControl.dll,将其加入到安装程序中,注意到CalculateControl.tlb
也一并被加入进来。选中CalculateControl.dll节点,将其属性中的Register从vsdraDoNotRegister改为vsdraCOM,用于在安装过程中自动注册控件。将工具栏中的
Solution Configurations 下拉列表设为 Release,编译该安装工程,在Release
文件夹中可以找到生成的安装文件(包括setup.exe和SetupCalculatorControl.msi)。
3. 测试.NET控件
使用ActiveX Control Test Container测试该控件的功能,双击tstcon32.exe(位于$\Program
Files\Microsoft Visual Studio 8\Common7\Tools),在Edit菜单中选择 [Insert
New Control…] ,在弹出的 Insert Control 对话框中,点击 [Implemented
Categories…] 按钮,选中 .NET Category 复选框,点击 [OK] 按钮确认。在列表框中选择
CalculateControl.Calculate,如图1所示:
<img TITLE="" BORDER="0" src="http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif" real_src ="http://s7.sinaimg.cn/bmiddle/001StKaGgy6EmzdoIyW56&690" IDX="1"
ALT="【&WinCC&】V7.0&支持.NET控件的编程入门" />
图 1:在ActiveX Control Test Container中插入控件
按钮确认,这时该.NET控件被加入到测试容器中。选中该控件,在Control菜单中选择[Invoke
Methods…]项,在Method Name中选择Add(Method),分别设定两个加数的值,点击 [Invoke] 按钮,在
Return Value 文本框中可以看到两数相加的结果。
4. 在WinCC V7.0中加载和使用该控件的步骤
1.双击该控件的安装文件Setup.exe,安装并注册CalculateControl.dll控件,用户可以修改安装目录,并按照正常的步骤安装(如果想卸载该控件,可以在控制面板的添加/删除程序中移除该控件)。
2.新建一个WinCC
V7.0工程,并新建一个画面。按照如下步骤加载和使用该控件:
在Object Palette(对象面板)的Controls页中的.NET
Control上右键单击,选择 [Add/Remove…] 快捷菜单项。
在弹出的对话框中点击[Add…]按钮,在打开的对话框中找到安装路径下的CalculateControl.dll控件(例如:C:\Program
Files\Default Company Name\SetupCalculateControl\
CalculateControl.dll),双击该控件或者选中它并按[Open]按钮。
<img TITLE="" BORDER="0" src="http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif" real_src ="http://s1.sinaimg.cn/bmiddle/001StKaGgy6EmzfoMRaf0&690" IDX="2"
ALT="【&WinCC&】V7.0&支持.NET控件的编程入门" />
图 2:在Select .NET Object对话框中插入自定义.NET控件
如图2所示,在Available
Controls列表中高亮显示Calculate项,选中它前面的Check
Box,点击最下面的[OK]按钮,即可将控件加入到WinCC V7.0中。
将.NET Control节点展开,找到”
CalculateControl.Calculate”并将其拖拽到窗体上的合适的位置。
在窗体上加入一个静态文本控件,将其对象名称改为
CalculateResult。
在窗体上加入一个按钮,将其文本改为Add,在按钮的鼠标左键单击(Button\Mouse\Press
left)事件中加入VBS脚本,创建.NET控件并调用它的Add方法,源程序如下所示:
Dim objCalculateControl
Dim objCalculateResult
Set objCalculateControl =
CreateObject("CalculateControl.Calculate")
Set objCalculateResult = ScreenItems("CalculateResult")
objCalculateResult.Text = objCalculateControl.Add ( 6, 12 )
注意,WinCC
V6.2使用ScreenItems(”控件对象名”)引用加入窗体的ActiveX控件。但WinCC
V7.0不能使用这种方法,建议使用CreateObject(“.NET控件的PROGID”) 来创建和引用加入的.NET控件。
保存并运行该程序,点击[Add]按钮,静态文本中将显示结果18。
注意:本文提供了 WinCC V7.0
支持.NET控件的基本编程方法和测试程序,所有的源程序及测试过程仅供参考。
WinCC V7.0、.NET 控件、Visual Studio 2005、C#、ActiveX 控件测试容器
===========================================
工控老鬼技术Blog:
自动化技术培训&&&&
报名电话:2&
================================================&&
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。每日登录:+1西币&+1积分
&下次自动登录
绑定第三方账号登录 & & &
扫描二维码登录支持中心移动端
获取动态密码
售前文档售后文档热门视频系列热门版区售后服务概述自助服务帮助信息
You are here:
WINCC ADO 连接字符绑定...
热点活动:
置评已完成,谢谢!
您现在可以为该问题添加标签。
WINCC ADO 连接字符绑定数据库显示控件的问题
- 已解决问题
用ADO&&字符串连接,程序如下,就是不能和DATAGRID或MSFGRID连接,帮忙看看问题在哪里?当然用ADODC控件和DATAGRID两个控件来做是可以的.Sub&&OnClick(Byval&&Item)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Dim&&database,&&server,&&uid,&&pwdDim&&strcn,&&cnDim&&is_sqlDim&&rs,&&datagridSet&&datagrid=ScreenItems(&DBGRID&)Database&&=&&&DXW&&&&&'在WINCC&&SQL2005的数据库中增加一个名称为DXW的数据库,并增加一个名为DXWTWO的表server&&=&&&dxw\wincc&&&'此处为电脑名称DXW,改为你的电脑名称uid&&=&&&&pwd&&=&&&&strcn&&=&&&Provider=SQLOLEDB.1;Integrated&&Security=SSPI;Persist&&Security&&Info=FInitial&&Catalog=Data&&Source=.\WINCC&Set&&cn&&=&&CreateObject(&ADODB.Connection&)Set&&rs&&=&&CreateObject(&ADODB.Recordset&)cn.ConnectionString&&=&&strcncn.Open&&is_sql&&=&&&select&&*&&from&&DXWTWO&&&'rs&&=cn.Execute&&(is_sql)&&&&'执行SQL语句&&&&rs.CursorLocation&&=&&3&&'adUseClient&&&&rs.Open&&is_sql,&&cn,1,3&&&&'adOpenKeyset,&&adLockOptimisticSet&&&&datagrid.DataSource&&=&&rs&&&&'此句无法绑定数据显示控件,但没有报错不知该如何做?此句在VB6.O的环境中可行。&&&&&&&&datagrid.Refresh&&&&MsgBox&&rs(&名字&)'MsgBox&&(rs.fields.count)rs.closecn.CloseMsgBox&&&OK&End&&Sub
问题补充:1我的源代码有问题吗?我的为什么不能,在VBS的环境中,你能贴出你的源代码吗?
产品版区:
悬赏分:5 | 解决时间: 21:29:08 | 提问者:& - 新生&nbsp&nbsp第1级
问题ID:64582
看了这个问题的网友还看了
弄个GSC控件,调试&出错等信息很明确,再调试
资深学长&nbsp&nbsp第3级&
以下网友赞了您的问题:
填写您的评论...
提问者对于答案的评价:虽然没有什么实质性的,但是还是提出了解决问题的一种途径,&如果用两个&ADO控件,和DATAGRID控件,这是很容易可以解决的,但是我是不想调用ADO控件,因为这样不方便,速度也有影响.用这样的代码,我在SIEMENS的英文网站上看过,跟我的差不多,他的好象可以运行,我的代码在WINCC6.2的环境中也可以运行,代码无错,用MSGBOX也可以显示,只是不能绑定数据显示控件而已.但我想是肯定是可以绑定,只是没有找到窍门,楼上的也不愿意贴出代码来看看,总之谢谢了,希望我能解决后再贴上来吧!
需要苦斗兄的指点啊,怎么联系啊,跪求
5/12/:32 AM
等您来回答
本版相关问题
作者/最新回复
最后回复时间
可以的&我刚刚完成这样的报表工作!
- 助理工程师&nbsp&nbsp第8级
& 20:41:10
上一页1下一页&
扫描打开手机版
支持中心新发布“关注”功能了!实时查看彼此动态,更方便地进行技术交流。
不管是“关注”与“被关注”,相信都是一个美好的开始!
还有多重奖励派送,快快行动起来吧!
20秒帮我们优化支持中心!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
西门子支持中心网站恭祝您新年快乐,万事如意!
诚邀您参加“蓄势待发·相约开启2018新纪元”新年活动!
签到赢大奖,中奖率100%!发帖、回帖,提问、回答,更有惊喜大礼等您拿!
欢迎您来到找答案
在“找答案”,已有超过7万个被解决的技术问题供您参考!
西门子技术专家亲自把关!常规的,简单的问题,在这里您都可以找到答案!
遇到了问题,就来“找答案”提问。
点击搜索框右侧的提问按钮,只需2步就能成功提交问题!分分钟就有无数大侠前来帮你。
在“找答案”每天都有大量的新问题。
别犹豫,只需要点击问题下方的“我要回答”就能参与。答题不光有积分相送,也会给您积攒大侠人气。
“找答案”定期开展各种有奖活动期待您的参与。
更有机会参加西门子高端用户峰会。领略西门子的博大精深!WinCC V6.2 报警控件_在线趋势_表格控件数据查询_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
WinCC V6.2 报警控件_在线趋势_表格控件数据查询
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩6页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢哪位高手大哥 能告诉下小弟 如何在WINCC里对用户归档数据进行 简单的条件查询 可以在函数趋势控件中显示查_百度知道
哪位高手大哥 能告诉下小弟 如何在WINCC里对用户归档数据进行 简单的条件查询 可以在函数趋势控件中显示查
提供一些关键函数也行。 将符合条件的数据显示在函数趋势控件里
我有更好的答案
使用strcmp()函数可以实现 ,详细代码发给你
为您推荐:
其他类似问题
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。WinCC V6.2 报警控件、在线趋势/表格控件数据查询
查看: 2343|
摘要: 1.报警控件数据查询在WinCC报警记录组态时,我们可以给报警消息定义不同的类别、类型、用户文本块等(图1),有了以上的组态,我们就可以自定义过滤条件,在报警控件中查询或显示分类的报警信息。 图 1 1.1 报警控 ...
1.报警控件数据查询在WinCC报警记录组态时,我们可以给报警消息定义不同的类别、类型、用户文本块等(图1),有了以上的组态,我们就可以自定义过滤条件,在报警控件中查询或显示分类的报警信息。
1.1 报警控件手动查询在组态报警控件时,可直接设置报警控件过滤条件。双击报警控件,在“WinCC报警控制属性”对话框中选择“消息列表”,然后单击“数据准备”区域中的“选择”按钮,在“指定选择”对话框中,通过对左边列表中复选框的选择,可以任意组合过滤条件(图2)。图例中给出了查询错误点“设备A”的“停机故障”类报警的组态。保存组态后,此报警控件在运行时直接显示过滤后的查询结果。点击“删除选择”按钮,可删除已组态的过滤条件,然后重新设置。
报警控件在系统运行过程中,也可使用工具栏来设置过滤条件。在组态报警控件时双击控件,在“WinCC报警控制属性”对话框中选择“工具栏”,把“选择对话框”勾选上(图3),保存设置。
系统运行时在报警控件工具栏上,点击“打开选择对话框”按钮, 在“指定选择”对话框中,通过对左边列表中复选框的选择,也可以任意组合过滤条件(图4)。
图中区域A中参数选项的含义请参考(表1)
下次切换画面时,所做组态将丢失。
“在CS和RT中保持”
即使关闭和重启系统,所做的组态仍然保持。
“在RT中保持”
所作组态一直保持到系统终止运行。
1.2 使用脚本对报警控件做查询在WinCC所提供的VBS、C脚本中,可以把相对应的SQL查询语句,赋值给报警控件的“MsgFilterSQL”属性来设置消息的过滤。有一个简单方法可以获得查询SQL语句。在控件中手动设置查询条件,在“删除选择”按钮左边(图4)的输出框内,就是此查询条件的SQL语句,可以直接把此语句拷贝到脚本中使用。图5、图6给出了查询错误点“设备A”的“停机故障”类报警消息的脚本例程“Control1”:报警控件的对象名称“CLASS IN(2)”:“停机故障”的消息类别编号2“TEXT2 LILE ‘设备A’”:错误点(文本块编号2)中文本匹配‘设备A’
图5 -- C脚本
图6 -- VBS脚本
关于使用查询SQL语句的更多详细信息请参考:WinCC 信息系统 & 使用WinCC & 建立消息系统 & 在运行系统中显示消息 & 用于过滤报警控件的消息的SQL语句
2.在线趋势/表格控件数据查询在线趋势/表格控件可用来显示归档数据,用户可自定义开始时间/结束时间,做时间范围内的归档数据查询。
2.1 在线趋势/表格控件手动查询
1)趋势控件手动查询在组态画面中双击在线趋势控件,在“WinCC在线趋势控件的属性”对话框中选择“工具栏”,把“选择时间范围”勾选上,保存设置(图7)。
系统运行后,在趋势控件工具栏上点击“开始/停止”按钮停止数据更新。然后点击“选择时间范围”按钮,在弹出对话框中先取消“时间范围”复选框,然后填写开始时间/结束时间(图8),最后点击确定。
2)在线表格控件手动查询在组态画面中双击在线表格控件,在“WinCC在线表格控件的属性”对话框中选择“工具栏”,把“选择时间范围”勾选上,保存设置(图9)。
系统运行后,在表格控件工具栏上点击“开始/停止”按钮停止数据更新。然后点击“选择时间范围”按钮,在弹出对话框中先取消“时间范围”复选框,然后填写开始时间/结束时间(图10),最后点击确定。
图9、图10区域A中参数选项的含义请参考章节1中的表1。
2.2 使用脚本对在线趋势/表格控件做查询在WinCC所提供的VBS、C脚本中,可以通过C脚本内部函数“SetPropXXX()”或者是VBS脚本中使用控件对象的属性,来做归档数据的时间范围查询。图11、图12给出了归档数据时间范围查询所使用的C、VBS脚本图例(以下脚本趋势/表格控件都可以使用)“Control1”:报警控件的对象名称“Index”:选择控件中的归档时间轴,此例中我们使用了公共时间轴,所以将使用第一个归档的时间范围。归档计数从“0”开始。“Online”:将控件切换为离线模式“TimeRange”:禁止时间范围“BeginTime”:开始时间“EndTime”:结束时间
图11 –- C脚本
图12 – VBS脚本
此例中,开始时间/结束时间是使用了2个文本变量来做赋值。关于日期时间的格式需要特别注意,这个时间格式不是以控件上所显示的时间格式为准,而是以项目所运行操作系统的时间格式为准。具体查看时间格式的方法,打开操作系统的“控制面板”,点击“区域和语言选项”,在“区域选项”中点击“自定义”按钮,在“自定义区域选项”中查看“时间格式”(图13)以及“日期格式”(图14)。所赋值的开始时间/结束时间必须按照此格式拼写,请注意小时H/h的大小写(24小时制),以及分隔符的选择。
上一篇:下一篇:
看过《WinCC V6.2 报警控件、在线趋势/表格控件数据查询》的人还看了以下文章:
Powered by &
这里是—这里可以学习 —这里是。
栏目导航:

我要回帖

更多关于 wincc连接sql数据库 的文章

 

随机推荐