用户归档和变量记录的区别,用户归档怎样做报表呢

看过用用户归档做报表的例子,使用VB和SQL语言将用户归档的数据库导出到EXCEL,但由于我比较菜,那些代码都看不懂的,希望前辈们给我指点!给我说下详细的思路!
最好能给我解释下每段代码的功能!不胜感激!


在用户归档中加入如下2个表:
 创建2个归档,归档类型:无限制;通讯:无;控制变量:无;标记:上一次修改。
 gdblm:别名:归档变量名
   字段名      数据类型     长度   别名
   BLWB         字符串      30    变量文本
   DW           字符串      10    单位
   Tag_name     字符串      30    变量名
 
 ZDGD:整点归档
   字段名      数据类型     长度   别名
   BM          字符串      30     别名
   RQ          日期/时间          日期
   SJ          日期/时间          时间
   Tag_name    字符串      30     变量名
   ZHI         数(浮点)           值
 
 WINCC动作,触发器按每小时的00:00触发。
 Option Explicit
 Function action
 
  Dim gzd,RM_MASTER,tagstr,tag_name,table_name
  Dim tag_N,tag_T,tag_U,i,tag_W
  Dim Atag_N,Atag_T,Atag_U,max,Atag_W,idd,sql1,db_time
  
 ‘ On Error Resume Next
  RM_MASTER=GetTag("@RM_MASTER")
  ‘RM_MASTER=1
  ‘If RM_MASTER=1 Then
   table_name="UA#ZDGD"
   db_open
   sql="SELECT * FROM " & table_name & " ORDER BY ID DESC"
   Set rs = CreateObject("ADODB.Recordset")
   rs.Open sql, conn, 1, 1
   If Not rs.eof And Not rs.bof Then
    idd=rs(0)
    db_time=rs("SJ")
   Else
    idd=0
    db_time="00:00"
   End If 
   If Hour(db_time)<>Hour(Now()) Then
  
  
    sql="SELECT * FROM UA#gdblm ORDER BY ID"
    Set rs = CreateObject("ADODB.Recordset")
    rs.Open sql, conn, 1, 1
    If Not rs.eof And Not rs.bof Then
     rs.MoveFirst
     i=0
     Do While Not rs.Eof
      tag_N=tag_N & ";" & rs(1)
      tag_T=tag_T & ";" & rs(2)
      tag_U=tag_U & ";" & rs(3)
      i=i+1
      rs.movenext
     Loop
     tag_N=Right(tag_N,Len(tag_N)-1)
     tag_T=Right(tag_T,Len(tag_T)-1)
     tag_U=Right(tag_U,Len(tag_U)-1)
     Atag_N=Split(tag_N,";")
     Atag_T=Split(tag_T,";")
     Atag_U=Split(tag_U,";")
     max= UBound(Atag_N)
     For i=0 To max
      idd=idd+1
      tagstr=Atag_N(i)
      tag_name=Atag_T(i)
      ‘If RM_MASTER=1 Then
      sql1=zdgd_sql1 (idd,tagstr,tag_name,table_name)
      ‘MsgBox sql
      conn.execute sql1
      ‘End If
     Next
     ‘MsgBox sql
    End If
  
   End If
  ‘End If

最佳答案

用户归档是归档你指定的变量,即存储在你的硬盘中(通过数据库的方式),报表查询是访问你的这个数据库,具体可以到下载中心下载文档。

提问者对于答案的评价:

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

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

相关推荐

  • 哪位大侠有WICC软件

    现在想学习一下WINCC不知哪位大侠有这个软件,有的话可以传一个吗,谢谢! 最佳答案 WINCC7.0亚洲版破解版http://pan.baidu.com/s/1mg3MSJ2mw…

    SIMATIC WinCC 2017年7月30日
  • 程序语句问题

    在程序中遇到语句FormatNumber(Avg,2),是什么意思? 最佳答案 avg这个变量的值保留两位小数数。 提问者对于答案的评价:谢谢各位热心的帮助!

    SIMATIC WinCC 2019年6月11日
  • wincc7.0拷贝过来的项目打不开

    提示如下图、求大神~好像是什么数据库服务没启动。。 图片说明:    钻石用户推荐最佳答案 你得确认wincc版本,最好通过迁移工具把工程拷贝过来,感觉是你的w…

    2020年11月1日
  • winccModbus tcp/ip问题

    winccModbus tcp/ip可以做写数据吗?如果能写,怎么设置。 最佳答案 《WinCC V7.2 Modbus TCP …

    SIMATIC WinCC 2021年7月5日
  • wincc flexible runtime教程

    wincc flexible runtime与200通讯(pc/ppi),如何设置,设置后无法通讯,是原装电缆,软件是winccflexible高级版,切换到运…

    SIMATIC WinCC 2021年7月5日
  • 请问Portal wincc runtime怎么截图

    由于触摸屏比我的显示屏还大,所以用截图软件没法截图,请问HMI runtime有没有自带功能可以截图,或者能否把runtime运行时画面缩小 最佳答案 触摸屏比你的显示屏…

    SIMATIC WinCC 2017年8月18日
  • 获取键盘动作

    按下键盘A切换一个页面,按下键盘S切换到另一个页面!wincc的脚本该怎样写? 最佳答案 先在Wincc里做一个按钮,按钮配置动作“切换画面”,然后打开按钮的属性,找到快捷键属性,…

    SIMATIC WinCC 2019年6月11日
  • wincc出错 sqlserver 不支持打包项目,请提取项目目录

    前些日子做好的工程用wincc6.2打不开,提示wincc sqlserver 不支持打包项目,请提取项目目录。 图片说明:    最佳答案…

    2017年8月24日
  • 在线表格控件如何实时设定数据间隔时间?

    我的变量记录中设定的是每隔0.5秒采集一次数据。但是在通过在线表格控件浏览历史数据时,由于数据量太大,我希望可以让用户自由设定浏览数据的间隔时间,例如每隔3分钟或5分钟显示一条数据…

    SIMATIC WinCC 2021年7月5日
  • 关于全局脚本动作里面调用SetVisible

    功能是想实现只有在特定用户登录以后才显示一些相应按钮,比如管理员登录以后可以看到账户管理的按钮,从而进行账户管理。但是现在是会出现以下错误,如图一:并且在其他监控界面登录管理员账号…

    SIMATIC WinCC 2018年12月3日