北岛夜话
原创工业智能控制领域(PLC、单片机/嵌入式、机器人、通信、机器视觉)的技术及经验分享。
文章528 浏览8041445

西门子触摸屏VBScript编程系列教程(4)——编写延时子程序

前一篇文章我们介绍了如何使用VBScript访问WinCC的变量,理论上接下来应该介绍VBScript的语法,比如选择语句、循环语句这些内容。但考虑到网络上有很多相关教程,而本系列教程专注于如何在WinCC下使用VBScript编程,因此我打算跳过其基本语法内容。如果你对VBScript的基本语法还不太熟悉,请自行补习。今天这篇文章,我们来写一个延时子程序。

cover.png

说明:封面图片由Gerd Altmann在Pixabay上发布,稍作修改用为本文封面

VBScript本身支持两种子程序:

①使用Sub和EndSub定义的子程序。这种子程序在VB/VBScript中被称为"过程",它是一段没有返回值的代码;

②使用Function和EndFunction定义的子程序。这种子程序在VB/VBScript中被称为"函数",它是一段带有返回值的代码;

在西门子WinCC环境下,VBScript编程只支持第①种方式。

注:之前描述有误,西门子WinCC环境下,VBScript编程支持Sub和Function两种方式。

接下来我们使用VBScript编写一个延时子程序,它没有返回值,属于第①类子程序,即"过程",其代码如下图所示:

code.png

上图的代码的关键部分是使用了VBScript的系统函数——Timer,它可返回午夜12点(凌晨零点)开始到目前为止已经过去的秒数。我们首先获取该秒数值作为计时的起始时间,然后将该时间+要延时的秒数作为停止时间。

如果停止时间大于86400(1天=86400秒),则进行溢出处理。溢出处理过程等待Timer的值小于等于1秒;

启动循环,直到Timer的时间值大于等于停止时间(第24/25行);

好了,关于VBScript编写延时子程序先介绍到这里。我的微信视频号以视频的方式分享一些工控小知识,欢迎扫描下面的二维码观看视频:

founderchip.png

取消

感谢您的支持,欢迎常来看看!

扫码支持
一点动力,多少随意

打开支付宝扫一扫,即可进行扫码打赏哦

发表评论