全文約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
解釋如下圖:
利用設定步長的語句,代碼如下:
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
很明顯,設定步長之後代碼簡化了很多。代碼解釋如下圖:
將腳本與畫面的載入事件關聯後,仿真運行結果如下所示:
三:問題拓展及上章問題答案
3.1:上章問題答案(文末附上章連接)
答案:If…Then 適用於:不滿足判斷條件的情況不需要執行操作的情況。
If…Then…Else適用於:不滿足判斷條件的時候,需要對其進行一定操作,比如密碼登錄時提示"密碼錯誤"或者"登錄失敗"等。
3.2:本章問題拓展
1:你能利用循環語句及之前學過的獲取系統時鐘,寫出真正的倒計時嗎?如何寫?
單擊下方,查看上章內容:
閱讀更多 自動化學習筆記 的文章