如何實現西門子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

解釋如下圖:

如何實現西門子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

很明顯,設定步長之後代碼簡化了很多。代碼解釋如下圖:

如何實現西門子Wincc V14項目鎖定倒計時,VB腳本循環語句來幫忙

設定步長程序解釋

將腳本與畫面的載入事件關聯後,仿真運行結果如下所示:

如何實現西門子Wincc V14項目鎖定倒計時,VB腳本循環語句來幫忙

實際仿真結果顯示


三:問題拓展及上章問題答案

3.1:上章問題答案(文末附上章連接)

答案:If…Then 適用於:不滿足判斷條件的情況不需要執行操作的情況。

If…Then…Else適用於:不滿足判斷條件的時候,需要對其進行一定操作,比如密碼登錄時提示"密碼錯誤"或者"登錄失敗"等。

3.2:本章問題拓展

1:你能利用循環語句及之前學過的獲取系統時鐘,寫出真正的倒計時嗎?如何寫?

單擊下方,查看上章內容:


分享到:


相關文章: