迭代語(yǔ)句主要用于重復(fù)執(zhí)行的程序,在 CoDeSys 中,常見(jiàn)的迭代語(yǔ)句有 FOR,REPEAT 及WHILE 語(yǔ)句。
FOR 循環(huán)
FOR 循環(huán)語(yǔ)句用于計(jì)算一個(gè)初始化序列,當(dāng)某個(gè)條件為 TRUE 時(shí),重復(fù)執(zhí)行嵌套語(yǔ)句并計(jì)算一個(gè)迭代表達(dá)式序列,如果為 FALSE,則終止循環(huán),具體格式如下。
FOR <變量> := <初始值> TO <目標(biāo)值> {BY <步長(zhǎng)>} DO
<語(yǔ)句內(nèi)容>
END_FOR;
FOR 循環(huán)的執(zhí)行順序如下:
計(jì)算<變量>是否在<初始值>與<目標(biāo)值>的范圍內(nèi);
當(dāng)<變量>小于<目標(biāo)值>,執(zhí)行<語(yǔ)句內(nèi)容>;
當(dāng)<變量>大于<目標(biāo)值>,則不會(huì)執(zhí)行<語(yǔ)句內(nèi)容>;
當(dāng)每次執(zhí)行<語(yǔ)句內(nèi)容>時(shí),<變量>總是按照指定的步長(zhǎng)增加其值。步長(zhǎng)可以是任意的整數(shù)值。
如果不指定步長(zhǎng),則其缺省值是 1。當(dāng)<變量>大于<目標(biāo)值>時(shí),退出循環(huán)。
示例:使用 FOR 循環(huán)實(shí)現(xiàn) 2 的五次方計(jì)算。

假設(shè) Var1 的初始值是 1,那么循環(huán)結(jié)束后,Var1的值的為 32。
WHILE 循環(huán)
WHILE 循環(huán)與 FOR 循環(huán)使用方法類(lèi)似。二者的不同之處是,WHILE 循環(huán)的結(jié)束條件可以是任意的邏輯表達(dá)式。即可以指定一個(gè)條件,當(dāng)滿(mǎn)足該條件時(shí),執(zhí)行循環(huán),具體格式如下。
WHILE <布爾表達(dá)式>
<語(yǔ)句內(nèi)容> ;
END_WHILE;
WHILE 循環(huán)的執(zhí)行順序如下:
? 計(jì)算<布爾表達(dá)式>的返回值。
? 當(dāng)<布爾表達(dá)式>的值為 TRUE 時(shí),重復(fù)執(zhí)行<語(yǔ)句內(nèi)容>。
? 當(dāng)<布爾表達(dá)式>初始值為 FALSE,那么指令<語(yǔ)句內(nèi)容>不會(huì)被執(zhí)行,跳轉(zhuǎn)至 WHILE 語(yǔ)句的結(jié)尾。

注意:
如果<布爾表達(dá)式>的值始終為 TRUE,那么將會(huì)產(chǎn)生死循環(huán),應(yīng)當(dāng)避免死循環(huán)的產(chǎn)生??梢酝ㄟ^(guò)改變循環(huán)指令的條件來(lái)避免死循環(huán)的產(chǎn)生。例如:利用可增減的計(jì)數(shù)器避免死循環(huán)的產(chǎn)生。
示例:只要計(jì)數(shù)器不為零,則始終執(zhí)行循環(huán)體內(nèi)的程序。

在一定的意義上,WHILE 循環(huán)比 FOR 循環(huán)的功能更加強(qiáng)大,這是因?yàn)樵趫?zhí)行循環(huán)之前,
WHILE 循環(huán)不需要知道循環(huán)的次數(shù)。因此,如果清楚地知道了循環(huán)的次數(shù),那么 FOR 循環(huán)更好,因?yàn)?FOR 循環(huán)可以避免產(chǎn)生死循環(huán)。
-
for
+關(guān)注
關(guān)注
0文章
44瀏覽量
16307 -
CoDeSys
+關(guān)注
關(guān)注
12文章
47瀏覽量
19577
原文標(biāo)題:PLC編程中循環(huán)語(yǔ)句FOR和WHILE該怎么選呢?
文章出處:【微信號(hào):PLC與自控設(shè)備,微信公眾號(hào):PLC與自控設(shè)備】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
SDRAM工業(yè)動(dòng)態(tài)隨機(jī)存儲(chǔ)器在可編程邏輯控制器(PLC)的應(yīng)用
TIA Portal中的WAIT指令如何影響PLC掃描周期
如何實(shí)現(xiàn)對(duì)異地PLC的遠(yuǎn)程編程調(diào)試和上下載程序
線(xiàn)性化編程與結(jié)構(gòu)化編程的不同點(diǎn)
高低溫試驗(yàn)箱試驗(yàn)功能全解析:恒溫 / 循環(huán) / 可編程怎么選?
C語(yǔ)言的編程技巧
控制結(jié)構(gòu)介紹
第4章 C語(yǔ)言基礎(chǔ)以及流水燈的實(shí)現(xiàn)(4.5 4.6)
labview初學(xué),請(qǐng)教一下 循環(huán)嵌套的使用
人工智能行業(yè)如何使用for循環(huán)語(yǔ)句進(jìn)行循環(huán)
基礎(chǔ)篇3:掌握Python中的條件語(yǔ)句與循環(huán)
《ESP32S3 Arduino開(kāi)發(fā)指南》第三章 C/C++語(yǔ)言基礎(chǔ)
詳解TIA Portal SCL編程語(yǔ)言中的IF語(yǔ)句
PLC數(shù)采網(wǎng)關(guān)和PLC通信模塊如何選擇
深入理解C語(yǔ)言:C語(yǔ)言循環(huán)控制
PLC編程中循環(huán)語(yǔ)句FOR和WHILE如何選擇
評(píng)論