使用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

相关推荐

  • HMI内部变量如何在PLC中使用

    在一个项目中见到HMI定义的内部变量,可以传送给PLC,两者进行数据交换。格式为DB[内部变量].DBw[内部变量]。请问这是如何实现的,需要做哪些设置呢,谢谢! 最佳答案 1、通…

    SIMATIC WinCC 2021年7月5日
  • WinCC与西门子OP270、s7300和200的通信

    我现在做一个系统,之前是西门子OP270与一个S7-300和两个S7-200通过MPI通信,OP270读取S7-300和两个S7-200的值。我现在想用工控机,用WINCC通过MP…

    SIMATIC WinCC 2019年6月10日
  • 求一个脚本

    我现在用wincc做一个电表数据的读取,然后这边需要设置一个每年自动清除数据库一次,这个如果用全局脚本怎么来写?希望大神给一个详细的讲解,鄙人实在不擅长这个,谢谢了。 问题补充:我…

    2021年7月5日
  • 两台电脑怎么同时运行WINCC控制一个1500?

    两台电脑怎么同时运行WINCC控制一个1500?装机是需要选择什么吗? 问题补充:请问如果要用服务器+客户机架构该怎么做呢? 最佳答案 两套单机WINCC控制一套PLC,不需要特别…

    SIMATIC WinCC 2020年11月1日
  • wincc 授权 删除

    wincc 授权 怎么删除呀? 在Automation License Manager将wincc的授权传送到其它盘也删不掉,弹出…

    SIMATIC WinCC 2019年6月11日
  • 如何WINCC画面中增加系统的诊断信息

    我希望在WINCC画面中增加系统的诊断信息,例如网络线是否正常,PLC及其扩展模块是否正常,PROFIBUS是否正常等 问题补充:我是说在WINCC中如何实现 不是PCS…

    SIMATIC WinCC 2019年6月11日
  • MP277的HMI的DP总线总是和PLC通讯

    怪呀~~请高手们总结一下MP277的屏通过DP总线连接不上的问题?HMI地址98,PLC地址2,速率187.5~~连接不上有什么方法可以解决吗??郁闷中~~ 最佳答案 1,winc…

    SIMATIC WinCC 2019年6月11日
  • wincc7.3变量管理的使用

    s7300 step7 V5.5软件里开关量输出变量咋添加,添加完在wincc7.3里变量管理咋添加 最佳答案 我是从基础s7-200开始学的,这是我的学习资料…

    SIMATIC WinCC 2021年7月5日
  • 博途V13 SP1做触摸屏画面,怎么画一个三角形,并且可以给三角形填充颜色

    工具箱没有三角形,用三条线画组合一起又不能填充颜色,请问怎么做一个可以填充颜色的三角形 最佳答案 如果是精智面板,那么可以使用基本对象中的“多边形”,如果不是精智面板,那么做起来就…

    SIMATIC WinCC 2017年5月29日
  • 关于WINCC中加载WORD和画面的问题

    两个问题:1、怎么在WINCC的画面上直接能阅读WORD,是不是用那个WEB控件,怎么设定属性和链接;2、WINCC使用的菜单和工具栏,我在其中一个画面中插入了一个报警的弹出确认文…

    SIMATIC WinCC 2019年6月10日

发表回复

登录后才能评论