ST語言是指結構化文本語言(STURCTTEXT),是IEC61131-3標準中制定的標準PLC編程語言之一。在闡述這個問題之前,需要先明確幾個概念。
ST語言和西門子的STL語言完全不是一回事,有些人認為西門子的STL語言就是STLanuage的縮寫,是極其錯誤的認知。ST和STL的關系,就好比計算機高級語言和匯編語言的關系,西門子博途中的SCL語言,才是IEC標準中的ST語言,不過是西門子改了個名字。
所以,ST語言和SCL語言是一回事,當然細節上可能略有不同。
梯形圖是PLC中最常用的語言,它專門用來處理各種邏輯,以直觀易懂,便于入門而廣泛應用,那么,ST語言是如何替代梯形圖實現復雜處理的?
首先,在梯形圖中,邏輯分為三種與或非。無論多么復雜的邏輯,都是由這三種基本的邏輯組合而來。
1與邏輯
與邏輯,就是梯形圖中的串聯,顧名思義,與就是一起的意思,比如小明與小紅。
如圖中所示的梯形圖,這句梯形圖的意思是,當輸入X0和X1都為TRUE,也就是都導通,Y0才有輸出,這就是與邏輯,在ST中用AND表示。
Y0:=X0ANDX1;
2或邏輯
或邏輯,就是梯形圖中的串聯,顧名思義,或就是或者的意思,滿足任何一個條件,都能成立。
如圖所示,這句梯形圖的意思,當輸入X0X1有一個為TRUE,也就是導通,Y0就會輸出。也就是說,X0或者X1導通,Y0就會有輸出。在ST中用OR表示
Y0:=X0ORX1;
3非邏輯
非,就是反的意思,比如是非,是是非非,它和“是”是反義詞,也就是梯形圖中的常閉
如圖所示,這里X0就是非邏輯。當然,這段梯形圖整體來說還是與邏輯,非是指其中的一個條件為非。非在ST中用NOT表示
Y0:=NOTX0ANDX1;
注意,這里和與邏輯的區別,就是一個條件變為了NOT。
這就是ST語言中邏輯關系和梯形圖的對應關系!無論多么復雜的梯形圖邏輯,都是這些邏輯的組合。
這就是ST語言替代梯形圖進行邏輯處理的基本原理。