QQ登录

只需一步,快速开始

WINCC6.2,归挡控件(WinCC User Archive-Tab)中,时间显示问题

[ 复制链接 ]
WINCC6.2,归挡控件(WinCC User Archive-Tab)中,时间显示问题各位好:
WINCC6.2,请教一个问题,想在归挡控件(WinCC User Archive-Tab)中,显示时间,但是显示的时间是
格林尼治时间,比北京时间相差8小时,不习惯。请问,怎样写C脚本,才能让归挡控件显示的时间为北京时间,最好有实例,谢谢


-------如果使用的是系统自带的那个最后修改的时间戳, 控件自己是可以适应时区差的。
如果是你单独增加的文本域, 那只能是你在写入的时候就先调整好时区。


--------谢谢你
WINCC7.0是可以做到的,但这是以前旧项目,是用WINCC6.2写的,相差8小时,我想用C或VBS脚本写读取系统时间给变量,不知各位有做过吗?最好有这部分程序,谢谢

-------你最好不要开口闭口要程序,否则就不会有人理你了


-------------西门子数据库查询
Sub OnClick(Byval Item)                                                                     
'定义变量
Dim spro,sdsn,sser,scon,conn,ssql,ors,ocom
Dim tagdnsname
Dim m,i
Dim local_begin_time,local_end_time,utc_begin_time,utc_end_time
Dim count_data'数据记录的个数
Dim sum_data'数据记录的累积
Dim aver'平均值
   item.Enabled=False
On Error Resume Next
'查询条件,utc开始时间,utc结束时间,时间间隔,catalog
Set tagdnsname=HMIRuntime.Tags("@DatasourceNameRT")
    tagdnsname.Read
Set local_begin_time=HMIRuntime.Tags("timebegin")
    local_begin_time.read
Set local_end_time=HMIRuntime.Tags("timeend")
    local_end_time.Read
    utc_begin_time=DateAdd("h",-8,local_begin_time.value)
    utc_end_time=DateAdd("h",-8,local_end_time.value)
    utc_begin_time=Year(utc_begin_time) & "-" & Month(utc_begin_time) & "-" & Day(utc_begin_time) & " " & Hour(utc_begin_time) & ":" & Minute(utc_begin_time) & ":" & Second(utc_begin_time)
    utc_end_time=Year(utc_end_time) & "-" & Month(utc_end_time) & "-" & Day(utc_end_time) & " " & Hour(utc_end_time) & ":" & Minute(utc_end_time) & ":" & Second(utc_end_time)

'创建到数据库的链接
    spro = "Provider=WinCCOLEDBProvider.1;"
    sdsn = "Catalog=CC_upzjg_11_12_15_14_45_14R;"
    sser = "Data Source=.\WinCC"
    scon = spro + sdsn + sser
    ssql = "Tag:R,('test\testdata'),'2011-12-15 7:27:00','2011-12-15 8:27:00'"
      MsgBox "open with:" &vbCr & scon &vbCr &ssql &vbCr
        Set conn = CreateObject("ADODB.Connection")
            conn.ConnectionString = scon
            conn.CursorLocation = 3
            conn.Open
        Set ors = CreateObject("ADODB.Recordset")
        Set ocom = CreateObject("ADODB.Command")
            ocom.CommandType = 1
        Set ocom.ActiveConnection = conn
            ocom.CommandText = ssql        
        Set ors=ocm.Execute
'读取数据
     m=ors.RecordCount
     count_data=0.0
     sum_data=0.0
     If(m>0)Then
        Do While Not ors.eof'查看是否到记录结束
          sum=sum+ors.fields(0).value
          count_data=count_data+1.0
          ors.movenext
        Loop
     Else MsgBox "没有查询到数据............."
     item.Enabled=True
     Set ors=Nothing
         conn.close
     Set conn=Nothing
    End If
     Set ors=Nothing
         conn.close
     Set conn=Nothing
'写数据到wincc运行系统
         aver=sum_data/count_data
         HMIRuntime.Tags("average").Write aver
         HMIRuntime.Tags("sumdata").Write sum_data
         HMIRuntime.Tags("countdata").Write count_data
End Sub
回复

使用道具 举报

快速回复 返回列表 客服中心 搜索