WinCC 日期时间差值

想实现以下功能:
首先定义三个 变量,TAG1--BOLL
                                      TAG2-文本16位字符集
                                      TAG3-文本16位字符集
                                      TAG4-文本16位字符集
TAG1为“1”时,读取当前系统日期时间,送到TAG2里,TAG1为“0”时,再次读取当前系统日期时间,送到TAG3里,同时用TAG3减去TAG2,算出日期时间差值,送到TAG4里。

最佳答案

TAG4为两时间的差值,就不应该是文本变量,应该改成有符号16位变量,使用VB脚本:
dim tag1
set tag1=hmiruntime.tags("TAG1")
       tag1.read
dim tag2
set tag2=hmiruntime.tags("TAG2")
       tag2.read
dim tag3
set tag3=hmiruntime.tags("TAG3")
       tag3.read
dim tag4
set tag4=hmiruntime.tags("TAG4")
       tag4.read
if tag1.value=1 then
       tag2.write now
else 
       tag2.read       
       tag3.write now
       temp =DateDiff("n", now, tag2.value) ''n为求两时间秒差值,分钟,小时差值分别用m ,h,天差值用d
       tag4.write temp
end if
set tag1=nothing
set tag2=nothing
set tag3=nothing
set tag4=nothing

提问者对于答案的评价:
答案很好,缺少了一个语句,DIM TEMP,加上之后,没问题
还有 datediff 的使用,n代表分钟,s代表秒,h代表小时,d代表天,有点出入。
总之很感谢!

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

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

相关推荐

  • wincc中怎么保存文本变量到内部变量

    VALVE_STATUS = "0"保存到8位文本形式的内部变量中为什么读出来时一片空白,难道wincc里只能VALVE_STATUS&nb…

    SIMATIC WinCC 2020年11月1日
  • vb脚本改变输入输出域连接变量

    wincc 如何用VB脚本动态改变其绑定的变量 最佳答案 C脚本提供SetLink等函数可以直接改变I/O绑定变量,VBS没有提供这样的功能。不过可以利用间接变量来实现,…

    SIMATIC WinCC 2020年11月1日
  • 添加历史趋势

    请问添加历史趋势时,为什么我用归档变量添加好后,运行画面就提示数据服务器没连接,而用在线变量添加的话,就可以了.谢谢请高手指点 最佳答案 在项目中 计算机属性必须将变量归…

    SIMATIC WinCC 2019年6月11日
  • 画面模板中一定要用结构变量吗

    我知道画面模板中要用结构变量,我的问题是全部都是结构变量吗,如果有有少数几个普通变量能用在画面模板中吗?我试了一下,在模板中用了一个普通变量,结果不好用,不知道这个结论是否准确? …

    SIMATIC WinCC 2019年6月11日
  • VBS动作实现用户归档写操作

    VBS动作实现用户归档写操作全局脚本—-VBS动作编写操作如何实现用一变量的上升沿或下降沿动作实现该触发?变量/触发器—-变量—-如何选择? 最佳答案 使用ENVENT…

    SIMATIC WinCC 2019年6月11日
  • 界面打印功能

    我想请教下,在运用wincc组态时,能不能在画面上编辑打印机按钮,按下该按钮后就能直接打印所见页面?望有高人指点。 问题补充:不满屏打印这项您能不能介绍的详细点?谢谢 最佳答案 你…

    SIMATIC WinCC 2019年6月11日
  • WINCC向EXCEL写字符串

    在WINCC上建立一个I/O域,输入字符串格式  怎么样用VBS脚本写入EXCLE,求教各位大大们了 最佳答案 Dim objExcelApp,oWo…

    SIMATIC WinCC 2019年6月10日
  • 怎样对画面显示值取绝对值显示

    现在我有两个压力测点,测点一a和测点二b,画面显示的差压我是用变量直接连接:a-b。有时候差压会变成负值,所以想取绝对值显示,为什么abs不好用了?还有,相求教下C脚本写的话是怎么…

    SIMATIC WinCC 2017年11月12日
  • WINCC 6.2安装问题,在安装SQL SERVER2005时出现NO SSF file found是什么意思?怎么办

    1.IE浏览器 2.消息队列 前两步都安装好了,在安装SQL SERVER2005时,一开始就出现NO SSF file&nbsp…

    SIMATIC WinCC 2019年6月11日
  • 滑块和棒图怎么实现关联操作

    想使用滑块控制棒图的显示,但是设置完棒图关联DW200后,想再用DW200关联滑块就不可以,想请教一下如何操作,让滑块负责显示和控制,让棒图跟随滑块显示 问题补充:有这方面的教程视…

    2021年7月5日