在行業(yè),傳統(tǒng)的編程語(yǔ)言一般都使用梯形圖。但是隨著自動(dòng)化程度的提高,在很多場(chǎng)合復(fù)雜的數(shù)據(jù)處理顯得愈發(fā)的重要,然而梯形圖在處理大量數(shù)據(jù)時(shí)無(wú)法實(shí)現(xiàn)循環(huán)和數(shù)組的應(yīng)用,而指令表等在可讀性、可移植性上無(wú)法與高級(jí)語(yǔ)言相比擬。而且st語(yǔ)言是符合國(guó)際標(biāo)準(zhǔn)-iec 61131-3的5種編程語(yǔ)言之一,在各大自動(dòng)化廠商的編程軟件中的應(yīng)用越來(lái)越廣,我們有必要學(xué)習(xí)并應(yīng)用在自己的平時(shí)工作中。
st語(yǔ)言的語(yǔ)句主要有下面7個(gè):
1.if
只有當(dāng)if后的條件1成立,才能執(zhí)行語(yǔ)句1,之后結(jié)束該段程序;當(dāng)條件1不成立時(shí),程序依次掃描elsif后面的條件從2依次到n,直到有條件成立為止,執(zhí)行后面的語(yǔ)句;如果沒(méi)有任何條件成立,程序就執(zhí)行else后面的語(yǔ)句,然后結(jié)束該段程序。

2.case
當(dāng)if語(yǔ)句有過(guò)多的條件判斷時(shí),使用case使程序變的簡(jiǎn)單易懂。尤其是在case中plc只做一次運(yùn)算,能夠提高程序的執(zhí)行效率。

3.for
如果能事先知道程序所需循環(huán)的次數(shù),則可以使用for語(yǔ)句。在程序執(zhí)行前先判斷變量的值是否在條件值1和條件值2之間,只有當(dāng)條件成立后才執(zhí)行后面的語(yǔ)句,同時(shí)變量增加條件值3的值作為下次循環(huán)前的判斷值。

4.while、repeat、return、exit
另外,在st語(yǔ)言中還有兩個(gè)無(wú)限制的循環(huán)語(yǔ)句:

和

while執(zhí)行之前先判斷條件是否成立,如果不成立就不執(zhí)行它后面的語(yǔ)句。repeat與while不同,它是執(zhí)行完語(yǔ)句后再判斷條件是否成立,所以無(wú)論如何,repeat至少要執(zhí)行一次。
exit跟return語(yǔ)句,用于退出和返回程序。
運(yùn)用st語(yǔ)言的這7個(gè)語(yǔ)句,我們可以根據(jù)不同的控制要求編寫出各種功能的程序。雖然在剛開(kāi)始學(xué)習(xí)的時(shí)候很難摒棄梯形圖編程的習(xí)慣,但是st語(yǔ)言編寫出的程序結(jié)構(gòu)清晰、數(shù)據(jù)處理方便,對(duì)于編程人員今后的發(fā)展是相當(dāng)有益的。










