如何从资料库中读取资料并在WinCC的画面中显示

请教各位专家,我需要从SQL的PW_USER 的Table 中根据NAME栏的数值取出GRPID的数值,并根据GRPID的值给一个内部变量赋值:具体一点就是,在PW_USER Table中,有一栏的信息是Name对应的数值时“a”,GRPID对应的数值是 1000,当我在WinCC中用用户名“a”登陆时,可以取得GRPID 的值,这个值可以通过一个内部变量在WinCC中显示出来,不知道该如何下手,谢谢!

最佳答案

GRPID仅仅是用户所在组代表的ID,意义不是很大,一般去用户组比较有意义。
 这是我以前用的VBS脚本,稍微改了一下。
 Dim oConn,oRs,strConn
 '********************创建COM对象************************
 Set oConn=CreateObject("ADODB.Connection")
 Set oRs=CreateObject("ADODB.RecordSet")
 '*********************读取DSN并连接数据库************************
 Dim DSN
 DSN = HMIRuntime.Tags("@DatasourceNameRT").Read
 If Len(DSN)<0 Then Exit Sub
 DSN = Mid(DSN,1,Len(DSN)-1)
 'HMIRuntime.Trace "DSN : " & DSN & vbCrLf
 strConn="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Data Source=.\WINCC;Initial Catalog='" & DSN & "';"
 HMIRuntime.Trace strConn & vbCrLf
 oConn.Open strConn
 '*********************获取用户所在用户组名************************
 Dim strSQL
 strSQL="SELECT NAME FROM PW_USER WHERE ID IN (SELECT GRPID FROM PW_USER WHERE NAME = '" & HMIRuntime.Tags("@CurrentUser").Read  &"')"
 HMIRuntime.Trace "strSQL : " & strSQL & vbCrLf
 oRs.Open strSQL,oConn,1,1
 If Not oRs.eof Then
  MsgBox oRs("NAME")
   'HMIRuntime.Tags("GRPNAME").Write  oRs("NAME").Value
 End If
 '*********************卸载COM对象************************
 oRs.Close
 Set oRs = Nothing
 oConn.Close
 Set oRs = Nothing

提问者对于答案的评价:
非常感谢!你太强了!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc274472.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午10:47
下一篇 2019年6月11日 上午10:47

相关推荐

  • PLC和上位机通信问题求证

    http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=194633&cid=1032这个链接是我原来提问的,…

    SIMATIC WinCC 2021年7月5日
  • 博图V14如何打开V13的项目

    博图V14如何打开V13的项目,提示更新需要项目,如何更新?打开帮助里面文字是乱码。详见图片 图片说明:       最佳答案 1、博途V1…

    2017年6月8日
  • 如何才能采集到模拟量的变化

    请教高人WINCC画面要显示PLC中的模拟量的变化是不是应该在安装时必须安装变量模拟器否则画面中不能显示模拟量的变化。 最佳答案 变量模拟器与你所问的“如何才能采集到模拟量的变化”…

    SIMATIC WinCC 2019年6月11日
  • 调节阀给定

    我们有多个调节阀要控制(4-20ma输出),现在想只做一个给定画面,然后多次调用这个给定画面,想请教一下如何实现? 问题补充:用内部变量和全局脚本可以实现吗? 最佳答案 这个比较好…

    SIMATIC WinCC 2018年12月2日
  • 博图V14软件里面的可视化选项

    博图V14软件里面的可视化是不是可以对西门子人机(触摸屏)进行组态编辑啊(就是编写人机画面)?博图功能太强大了好多不知道怎么用 最佳答案 可以你可以在这里学习一下http://ww…

    SIMATIC WinCC 2017年5月28日
  • 200smart与wincc通讯问题

    今早刚安装的wincc。想与200smart通讯一下,看网上的教程做不下去了。1.首先图1中没有simatic net.1,看网上的答案需要安装这两个软件,是俩个都要安装…

    2021年7月5日
  • 我安装的WINCC运行系统不运行

    我安装的是WINCC5,1S7安装的是5,4自己作了个画面WINCC不能工作在运行系统。 最佳答案 楼主的Step7 V5.4和WinCC V5.1不兼容,Wi…

    SIMATIC WinCC 2019年6月11日
  • WinCC趋势量程问题

    WinCC项目中建立了趋势画面后,添加了大概二十几条趋势,激活后,所有的趋势都显示在趋势画面中,因为趋势的标签量程基本都是不同的,但是显示在画面中的Y轴只有一个,查看起来很不方便,…

    2017年10月29日
  • vb访问wincc报警数据归档请教?

    用vb写个程序查询wincc6的趋势和报警归档,趋势已经搞定了,但是查询报警归档时候发现一个问题,我是按照时间来查询的,如果选择的时间段内没有报警记录,vb会返回一个错误”在此范围…

    SIMATIC WinCC 2019年6月11日
  • 关于wincc?flexible文本列表和符号IO使用求教

    在wincc?flexible中,利用?符号IO域的下拉菜单功能实现选择控制功能,功能如下:下拉菜单有三个选项,A、B、C,如果下拉选A,则将M0.0置1,选B则M0.1置1,选择…

    SIMATIC WinCC 2021年7月5日