小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

淺談ST 語言編程

 PLC發(fā)燒友 2021-01-22

梯形圖語言編程是PLC編程首選語言之一,其圖形化的形象結(jié)構(gòu)完全符合電工繼電器控制電路當(dāng)中的思路模式,備受工程師青睞!

而很多實(shí)際應(yīng)用場合當(dāng)中,需要用到很多復(fù)雜的算法來分析工藝要求,計(jì)算實(shí)際數(shù)據(jù)。如果采用梯形圖指令編程,那么需要使用各種四則運(yùn)算指令,根據(jù)公式求解,程序編寫繁多,指令繁多。

ST 語言類似于PACSAL語法,是一種計(jì)算機(jī)編程高級(jí)語言,簡單高效的編程方式能表達(dá)任何復(fù)雜的運(yùn)算公式,簡化復(fù)雜的數(shù)學(xué)工程。

如:var_5:= (var_1-var_2+var_3)*var_4;

ST 語言使用了傳統(tǒng)的很多高級(jí)語言的特性,包括:變量,操作符和控制流程語句,還可以和PLC 梯形圖語言一起工作,相互協(xié)調(diào),發(fā)揮各自其優(yōu)勢(shì)。ST語言結(jié)構(gòu)中,“表達(dá)式”代表了整個(gè)語法的共通性,表達(dá)式由操作符和操作數(shù)組成,操作數(shù)可以是常量或者變量,可以任意建立符合規(guī)則的變量,制作流程表達(dá)式,所以看程序的讀者看懂了表達(dá)式即看懂了程序,這是梯形圖不能所及的。

如:IF temp THEN

FOR temp_循環(huán) :=0 TO 9 DO

temp_總和:= temp_總和+SUM_累計(jì)[ temp_循環(huán) ];

END_FOR;

END_IF;

在編寫程序的時(shí)候,我們要養(yǎng)成編寫程序注釋的習(xí)慣。雖然注釋經(jīng)常被刪掉,但它們是源代碼中非常重要的一部分。它們解釋了一部分代碼,使程序更易讀懂。注釋幫助你或其他人讀你的程序,即使過去了很長時(shí)間。注釋不被編譯,因此不會(huì)影響程序的執(zhí)行。

一個(gè)優(yōu)秀的工程師編寫的程序,不但是能完成工藝要求,程序簡潔明了,可移植性!更重要的是能夠讓更多的人能夠通過你編寫的程序來了解工藝和了解你!

在ST結(jié)構(gòu)當(dāng)中,一個(gè)表達(dá)式中常用多個(gè)操作符,很多時(shí)候忽略了操作符優(yōu)先級(jí)順序,造成在調(diào)試程序時(shí),明明程序代碼沒問題,卻怎么也達(dá)不到理想狀態(tài)。所以操作符的優(yōu)先級(jí)順序處理是整個(gè)語法的關(guān)鍵。

在任何一個(gè)表達(dá)式中,首先執(zhí)行最高級(jí)別的操作符,接著執(zhí)行低一級(jí)的操作符,直到執(zhí)行完所有的操作符。具有相同級(jí)別的操作符按照書寫順序從左至右依次執(zhí)行。

如:var_5:= var_1-var_2*var_4; (*先執(zhí)行乘法,再執(zhí)行減)

在PLC 梯形圖編程當(dāng)中,如果沒有跳轉(zhuǎn),或者調(diào)用子程序的情況下,所有的程序都是按照從上到下,從左到右依次掃,所有的指令都是依次執(zhí)行,完全沒有優(yōu)先級(jí)之分,這就是梯形圖編程與ST語法編程最大區(qū)別之一。

之前我調(diào)試過一段程序,就是因?yàn)楹雎缘膬?yōu)先級(jí),造成程序的不穩(wěn)定,經(jīng)過無數(shù)次的查找原因之后,才找到問題的關(guān)鍵是由“邏輯與”“邏輯或”的優(yōu)先級(jí)順序引起的。

原始程序如:

IF

Real_weight>SV_weight_low OR Real_weight=SV_weight_low  AND Real_weight <SV_weight_high THEN

output:= TRUE;

ELSE

output:= FALSE;

END_IF;

修改后程序:

IF

(Real_weight>SV_weight_low OR Real_weight=SV_weight_low)

AND Real_weight <SV_weight_high THEN

output:= TRUE;

ELSE

output:= FALSE;

END_IF;

在ST語法當(dāng)中,有5種命令組,需要我們加強(qiáng)學(xué)習(xí),對(duì)這5種命令組掌握程度的與否,決定著你對(duì)ST語言編程的熟悉度。

1:布爾邏輯操作

2:算數(shù)操作

3:比較操作

4:判斷

5:C ase語句

例:

ST 編寫如下:KM1:=( SB1 OR KM1) AND  NOT  SB2 ;大家應(yīng)該注意的是,在這個(gè)表達(dá)式當(dāng)中,命令組采用的是布爾邏輯操作,而“與”的優(yōu)先級(jí)高,執(zhí)行“或”邏輯時(shí),要使用括號(hào)增加優(yōu)先級(jí)。

來源:技成培訓(xùn)網(wǎng)(唐倩)

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多