天天看点

marquee 循环显示变量_如何实现西门子Wincc V14项目锁定倒计时,VB脚本循环语句来帮忙...

全文约800字,通读约4分钟

看完本章,你将掌握以下内容:

(1):两种循环语句及其用法

(2):跟我编程试一试

(3):问题拓展及上章问题答案

准备阶段:

打开Wincc V14→ 创建项目 → 添加设备 → 创建"画面_1"→创建"文本域_1"

如果上述步骤不会,请查看本头条号其他内容。

一:两种VB循环语句及用法

循环语句适用于什么情况?当程序中有重复的工作要做时,我们就可以用循环语句来实现。下面,介绍For…Next循环语句的两种形式。

1.1:For…To…Step…Next

当循环次数确定的时候,且每次循环的 "步长"不为1的时候使用。

语法格式如下:

For 循环变量 = 初值 To 终值 Step步长

需要循环的语句

Next

含义如下:

循环变量:用来存储参与循环次数计算的变量

初值:第一次循环时循环变量的值

终值:最后一次循环时循环变量的值

步长:每次循环循环变量的变化值

需要循环的语句:我们想要重复执行的语句

那么我们如何确定初值和终值?

循环次数-1=(终值-初值)/步长

1.2:For…To…Next

此语句与1.1相比,不设定步长,此时步长默认为1 。

结合1.1,假设循环变量为A,初值为0,终值为10,则

语法格式如下:

Dim A

For A = 0 To 10

需要循环的语句

Next

因为此时没有设定步长,因此默认步长为1,所以

当第一次循环的时候,A=0

当第二次循环的时候,A=1

当第十一次循环的时候,A=10

二:跟我编程试一试

分别利用For…Next的两种循环语句,编写程序实现如下功能:

在 "画面_1"的"文本域_1"中,输出10秒倒计时"几秒后项目锁定"。

利用不设定步长的语句,代码如下:

Sub VBFunction_1()

Dim A,B,C

C=11

For B=0 To 10

C=C-1

A=HmiRuntime.Screens("画面_1").ScreenItems("文本域_2").Text

HmiRuntime.Screens("画面_1").ScreenItems("文本域_2").Text= A & Chr(13)& C & "秒后项目锁定"

Next

End Sub

解释如下图:

marquee 循环显示变量_如何实现西门子Wincc V14项目锁定倒计时,VB脚本循环语句来帮忙...

默认步长程序解释

利用设定步长的语句,代码如下:

Sub VBFunction_2()

Dim A,B,C

For B=10 To 0 Step -1

A=HmiRuntime.Screens("画面_1").ScreenItems("文本域_2").Text

HmiRuntime.Screens("画面_1").ScreenItems("文本域_2").Text= A & Chr(13)& B & "秒后项目锁定"

Next

End Sub

很明显,设定步长之后代码简化了很多。代码解释如下图:

marquee 循环显示变量_如何实现西门子Wincc V14项目锁定倒计时,VB脚本循环语句来帮忙...

设定步长程序解释

将脚本与画面的载入事件关联后,仿真运行结果如下所示:

marquee 循环显示变量_如何实现西门子Wincc V14项目锁定倒计时,VB脚本循环语句来帮忙...

实际仿真结果显示

三:问题拓展及上章问题答案

3.1:上章问题答案(文末附上章连接)

答案:If…Then 适用于:不满足判断条件的情况不需要执行操作的情况。

If…Then…Else适用于:不满足判断条件的时候,需要对其进行一定操作,比如密码登录时提示"密码错误"或者"登录失败"等。

3.2:本章问题拓展

1:你能利用循环语句及之前学过的获取系统时钟,写出真正的倒计时吗?如何写?

单击下方,查看上章内容:

西门子Wincc V14 脚本编程,如何两个VB判断语句闯天下