使用Excel通过OPC访问WinCC的实时数据

使用Excel通过OPC访问WinCC的实时数据时,数据时间和OPC时间不致,差8小时。但OPC时间与电脑时间一致。WINCC设置为本机时区

图片说明:

使用Excel通过OPC访问WinCC的实时数据   

最佳答案

''此为全局脚本中的时间转换代码
Function GetLocalDate(vtDate) ''得到当地时间,从格林尼治时间转换过来的
Dim DoY
Dim dso
Dim dwi
Dim strComputer, objWMIService, colItems, objItem
Dim TimeZone
Dim vtDateLocalDate
''---------------------------
''get time zone bias
''---------------------------
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_TimeZone")
For Each objItem In colItems
    TimeZone = objItem.Bias / 60    ''offset TimeZone In hours
Next
''---------------------------
''check parameter vtDate
''---------------------------
If IsDate(vtDate) <> True Then
  IS_GetLocalDate = False
  Exit Function
End If
''---------------------------
''get day of the year
''---------------------------
DoY = DatePart("y", vtDate)
dso = DatePart("y", "31.03") - DatePart("w", "31.03") + 1
dwi = DatePart("y", "31.10") - DatePart("w", "31.10") + 1
If DoY >= dso And DoY < dwi Then
  ''sommer
  TimeZone = TimeZone + 1  ''additional offset 1h in summer
End If
''---------------------------
''correction of date
''---------------------------
vtDateLocalDate = DateAdd("h", 1 * TimeZone, vtDate)
''---------------------------
''return UTC date and time
''---------------------------
GetLocalDate = vtDateLocalDate
End Function


直接拿去用吧  好使
如果电脑时间为北京时间,读回OPC变量的时间值后直接加8H即可

提问者对于答案的评价:
搞定

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午12:04
下一篇 2021年7月5日 下午12:04

相关推荐

  • wincc登陆如何判断登陆成功

    #pragma code ("UseAdmin.DLL") #include "pwrt_api.h&quot…

    SIMATIC WinCC 2019年6月11日
  • Wincc 7.4 sp1 报警问题

    wincc 7.4 sp1在写入报警消息时,直接通过报警编辑器输入变量、位号及消息即可正常显示消息文本。但通过excel导入时则不会显示报警消息文本。有遇到类似…

    2020年11月1日
  • 关于正版Wincc7.4 sp1安装和授权教程

    关于正版Wincc7.4 sp1安装和授权教程一个RC512另一个是RC512->2048这两个授权如何使用。第一次使用正版Wincc,还请大神不吝赐教! 图片说明…

    2020年11月1日
  • 这个对话框的C脚本的意思是什么?

    请大家帮我一条一条分析一下吧:#include 问题补充:#include "apdefap.h"void OnLButtonDown(ch…

    SIMATIC WinCC 2019年6月11日
  • wincc运行一段时间后死机

    我安装的是XP系统,研华工控机,wincc大约运行半个月到一个月左右就会死机一次,电脑重启后就OK了,这个故障在我两套设备上都经常出现,不知道是怎么回事?请高人指点!wincc授权…

    SIMATIC WinCC 2019年6月11日
  • WINCC7.0标尺数据跟踪

    小弟使用WINCC不久,不知道7.0的怎么实现趋势标尺的数据跟踪,我看都6.0的wincc点趋势中的标示下方就会出现标尺跟踪的数据,但是到7.0怎么就没有了啊? 最佳答案 1、Wi…

    SIMATIC WinCC 2019年6月10日
  • WINCC中在线趋势控件开始和结束时间的设置问题

    请问: 我想在线趋势控件中显示一个特定时间段的曲线。 我写的代码如下: char *str_a; char *str_b…

    SIMATIC WinCC 2019年6月11日
  • wincc服务器选型

    有个项目,需要两台电脑做服务器,并且做冗余,我看了选型样本,wincc的选件包,是否需要选择两个授权,一个服务器授权包?一个冗余包?另外,服务器授权包可以支持多少台客户机访问?如果…

    2021年7月5日
  • wincc 画面连接变量

    wincc中画面的属性,都是和变量名直接连接的。能不能改成和地址连接(和step7中的对应),而不和变量名连接。 最佳答案 不能得,你可以建立一个外部变量,将这个外部变量的地址设置…

    SIMATIC WinCC 2019年6月11日
  • web navigator 一个奇怪的问题

    我自己编的的程序用web navigator发布的时候部分画面发布不成功,在客户端能访问,但访问的时候弹出对话框说c脚本错误:error(003f)undefined&n…

    SIMATIC WinCC 2019年6月11日

发表回复

登录后才能评论