用datediff求时间段

我想求一个时间段的秒数,改了很久,就是不成功,恳请各位大侠指点下,代码如下

Dim tz,sj,zero,jl

zero=HMIRuntime.Tags ("zero_tag").Read 
jl=HMIRuntime.Tags ("jl_tag").Read 

If zero=1 Then
HMIRuntime.Tags ("zero_tag").write 0
HMIRuntime.Tags ("qs_time").Write CStr(Now)
qs=CStr(Now)
End If

If jl=1 And zero=0 Then 
HMIRuntime.Tags ("tz_time").Write CStr(Now)
tz=CStr(Now)
HMIRuntime.tags("sj").write  CStr(DateDiff("s",qs,tz))
End If
我就求很短的一段时间,为什么所用时间那么大呀,我的输出格式都是字符串,附图,各位高手指点下吧

图片说明:

用datediff求时间段   

最佳答案

问题出在变量qs,当jl=1时,qs没有被赋值,DateDiff函数里的qs应该用读取变量qs_time的值来代替。

提问者对于答案的评价:
谢谢了大侠,我调试成功了,只是不明白我在前一个if 语句中不是对它赋值了呀,为什么在后一个if中没作用呀?

最佳答案作者回复:
因为实现这个过程你这段脚本会执行许多次,当你某一次满足第一个条件时,qs被赋值,但下一次再执行这段脚本qs的值不会被保持,当满足第二个条件时的那一次,第一个条件肯定不满足,所以qs不会被赋值,即使此时赋值也是不正确的时间,因为VBS脚本里没法定义静态变量,所以就是这个状况。

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

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

相关推荐

  • wincc7.4无法新建单用户项目

    刚装的wincc7.4,打开后无法新建单用户项目 问题补充:新建完有这个提示 图片说明:    钻石用户推荐最佳答案 WINCC 7.4还是7.4&n…

    2021年7月5日
  • 请问OS启动停止不前的问题

    前几天备份了一下数据,重启电脑后,OS自动启动到83%就没反应了,等待了半天也不动。用另外一台一模一样的机器的备份恢复后,启动提示“本计算机不在服务器项目的客户端列表中”,无法启动…

    SIMATIC WinCC 2019年6月11日
  • wincc制作进度条

    我想用矩形关联一个变量,通过变量数值的变化,让矩形的背景颜色从左到右动态填充,直到变量为100,矩形颜色都填充 最佳答案 不是用矩形,用的是控件里的棒图控件。看视频 &n…

    SIMATIC WinCC 2021年7月5日
  • wincc控制s7-300如何实现

    如图,请问wincc是如何控制功能块实现自动与手动运行的,求大侠指点 问题补充:图中手自动引脚auto及开引脚open关引脚close均为设定变量,应该在wincc中怎样控制。 图…

    2021年7月5日
  • WinCC与S7-300以太网通讯问题

    这几天做项目,现场发现一个奇怪的现象,硬件配置是315-2PN通过以太网和上位WinCC6.0通讯,每次启动WinCC后5秒时间后就什么都点不动了,那位高手遇到过这种情况啊,谢谢指…

    SIMATIC WinCC 2017年7月25日
  • 我想在wincc画面中做一个退出系统的按钮,但是怕别人误操作所以想在按钮中添加退出时需要密码的提示

    同上,密码正确时退出系统,错误则没任何操作 问题补充:如果是加权限请问是加那种权限 最佳答案 如果加权限的话,在用户管理器中插入一个新授权(表格-插入授权):退出系统,添加一个用户…

    SIMATIC WinCC 2019年6月11日
  • wincc v7.3如何读连续地址的报文

    wincc v7.3和s7-1500通信用的是simatic s7-1200/s7-1500 chanel这个驱动,但是不支持原始数据类型,如何读取&…

    2021年7月5日
  • wincc管道内液体流动的动态画面如何制作

    初学者,有很多不懂的地方,请教大家: 最简单的那种右键属性里动态连接的那种方法是会的,但是一般只能改改颜色和形状?导师要求画面动态看起来非常逼真,一种物料管道上料时要有液…

    SIMATIC WinCC 2019年6月11日
  • 0信号如何触发报警信息?

    wincc中通常使用1信号触发报警,如果一个变量:1表示正常,0表示报警,如何编程? 问题补充:纯粹探讨技术问题,在PLC中编程很容易实现,如果不考虑PLC,如何在Wincc中实现…

    SIMATIC WinCC 2019年6月11日
  • vb脚本请教

    选择连续模式对变量AAA赋1选择自动模式对变量AAA赋2的VB脚本怎么写啊~wincc小白 跪求大神指点 最佳答案 If HMIRuntime.Tags(&qu…

    SIMATIC WinCC 2021年7月5日