一、結構化文字(st 語言)
結構化文字(structured text)簡稱 st 語言,是 iec61131-3 所規定的 plc 程式語言之一,
用於工業控制的高階語言。由於其編寫方式與一般計算機語言相似,多用於較為複雜的控制
場合和複雜的控制演算法中。
1、特點:
程式語言採用高度簡化的表達形式,使得程式緊湊,結構清晰;
帶有多種控制語句,便於實現複雜的控制邏輯,如if、 case條件語句和for、while、 repeat迴圈語句;
程式結構清晰,便於閱讀。
2、st程式結構
st語言的程式由語句組成,語句由表示式和關鍵字組成,表示式由運算元和操作符組成。
st結構
二、語法基礎
1、表示式
表示式的構成
st語言的程式中,表示式由運算元和操作符組成。
乙個表示式可包含乙個或多個操作符、變數和函式
語法1運算元
運算元可以是表示資料的資料文字、字串文字、時間文字、變數元素、函式呼叫和其他表示式;
例如: 15、 true、 t#20s、 array1[1]、 sin(a)、(a>b) &(c=d)。
操作符在乙個表示式中使用多個操作符時,按優先順序從高到低依次執行。 相同優先順序的操作符按照書寫順序從左向右依次執行。
操作符2、語句
賦值語句
賦值語句用於將賦值符號(:=)右側的表示式計算的值賦給左側的變數。
格式賦值語句的一般形式如下, 其中「:=」為賦值操作符, 且要用分號「;」結尾。
格式 變數 := 表示式 ;
例子變數1 := 100 ; //對變數1賦值100
變數2 := true; //對變數2賦值true
變數3 := 變數1 *2 ; //將變數1乘以2後得到結果賦值給變數3
變數4 := sin(變數3); //將變數3做正弦運算後的結果賦給變數4
陣列a[1] := 1.5; //對陣列a下標為1的元素賦值1.5
變數5 := 1; 變數6 := 1.5; 變數7 := false; //一行中可以同時存在多條賦值語句
函式呼叫
u 函式(fc)呼叫後將其返回值作為表示式的值賦值給其他變數,其一般格式如下:
變數 := 函式名(參數列) ;
參數列有兩種書寫方式:
方式1: 變數 := 函式名 ( 函式輸入引數1 := 輸入變數1 ,函式輸入引數2 := 輸入變數2 , … );
方式2: 變數 := 函式名 (輸入變數1 , 輸入變數2 , … );
例如:通過函式max(取最大值)選取變數1和變數2中的最大值,並將該最大值賦值給變數3,兩種呼叫方式如下:
方式1:變數3: =max(in1:=變數1, in2:=變數2);
方式2: 變數3: =max(變數1,變數2);
注意:通過方式2呼叫時,參數列中的變數從左往右依次與函式的輸入引數對應,所以不能空缺;
某些二元操作符不能作為函式名進行函式呼叫,如mod、 and,not等:
注意變數: =mod(變數1,變數2); ×
變數: =變數1 mod 變數2; √
例子函式呼叫
功能塊呼叫
功能塊(fb)呼叫需要將其進行例項化,通過例項名稱實現呼叫,其一般格式如下:
格式功能塊例項名(參數列) ;
參數列有兩種書寫方式:
方式1: 功能塊例項名( 功能塊輸入引數1 := 輸入變數1 ,
功能塊輸入引數2 := 輸入變數2 ,
功能塊輸出引數1=> 輸出變數1 ,
功能塊輸出引數2=> 輸出變數2,
方式2: 功能塊例項名(輸入變數1 , 輸入變數2 , …,輸出變數 1,輸出變數2, ….);
例如:通過功能塊ton的例項名timer1對ton進行呼叫:
方式1:
timer1( en:= 變數1 , in:= 變數2 , pt:= t#1s,
eno =>變數4, q =>變數5, et=>變數6 );
或方式2:
timer1(變數1 , 變數2 , t#1s, 變數4, 變數5, 變數6 );
直接賦值與間接賦值
直接賦值
通過功能塊ton的例項名timer1對ton進行呼叫:
timer1( en:= 變數1 ,
in:= 變數2 ,
pt:= t#1s,
eno =>變數4,
q =>變數5,
et=>變數6 );
間接賦值
timer1 .en:= 變數1; //對ton的輸入引數en進行賦值
timer1 . in:= 變數2; //對ton的輸入引數in進行賦值
timer1 . pt:= t#1s; //對ton的輸入引數pt進行賦值
timer1 ( );//呼叫ton功能塊執行
變數4 := timer1 .eno; //將ton功能塊輸出引數eno的狀態輸出到變數4
變數5 := timer1 .q; //將ton功能塊輸出引數q的狀態輸出到變數5
變數6 := timer1 .et; //將ton功能塊輸出引數et的狀態輸出到變數6
st語言 陣列的常用方法 ST語言
st 語言學習心得 一 工程的簡介和建立工程 1.工程檔案的結 工程檔案的字尾名為 pro,在新工程中建立的第乙個程式結構單元 program organization unit 將被自動命名為 plc prg 這個程式結構單元就類似於 c語言中的主程式。在 plc prg 中可以呼叫各種函式及功能...
plcst語言程式設計教程 st語言程式設計例項講解
首先在早期的的程式設計中,並不支援st語言,之後的gx iec developer中雖然支援,但是鑑於gx iec developer只面向歐洲市場,這裡也不做討論。這裡主要討論的是gx developer中以及面對全球市場的gx works2,當然,gx works3因為使用方法和gx works...
三菱st語言程式設計例項 C語言程式設計例項39
素數又稱質數。所謂素數是指除了 1 和它本身以外,不能被任何整數整除的數,例如17就是素數,因為它不能被 2 16 的任一整數整除。思路1 因此判斷乙個整數m是否是素數,只需把 m 被 2 m 1 之間的每乙個整數去除,如果都不能被整除,那麼 m 就是乙個素數。思路2 另外判斷方法還可以簡化。m 不...