前一篇文章我们介绍了如何使用VBScript访问WinCC的变量,理论上接下来应该介绍VBScript的语法,比如选择语句、循环语句这些内容。但考虑到网络上有很多相关教程,而本系列教程专注于如何在WinCC下使用VBScript编程,因此我打算跳过其基本语法内容。如果你对VBScript的基本语法还不太熟悉,请自行补习。今天这篇文章,我们来写一个延时子程序。
说明:封面图片由Gerd Altmann在Pixabay上发布,稍作修改用为本文封面
VBScript本身支持两种子程序:
①使用Sub和EndSub定义的子程序。这种子程序在VB/VBScript中被称为"过程",它是一段没有返回值的代码;
②使用Function和EndFunction定义的子程序。这种子程序在VB/VBScript中被称为"函数",它是一段带有返回值的代码;
在西门子WinCC环境下,VBScript编程只支持第①种方式。
注:之前描述有误,西门子WinCC环境下,VBScript编程支持Sub和Function两种方式。
接下来我们使用VBScript编写一个延时子程序,它没有返回值,属于第①类子程序,即"过程",其代码如下图所示:
上图的代码的关键部分是使用了VBScript的系统函数——Timer,它可返回午夜12点(凌晨零点)开始到目前为止已经过去的秒数。我们首先获取该秒数值作为计时的起始时间,然后将该时间+要延时的秒数作为停止时间。
如果停止时间大于86400(1天=86400秒),则进行溢出处理。溢出处理过程等待Timer的值小于等于1秒;
启动循环,直到Timer的时间值大于等于停止时间(第24/25行);
好了,关于VBScript编写延时子程序先介绍到这里。我的微信视频号以视频的方式分享一些工控小知识,欢迎扫描下面的二维码观看视频:
发表评论