1.介紹ST文本中的賦值運算符和算術(shù)運算符
2.介紹比較運算符的基本用法
3.介紹AND和OR 邏輯運算符的基本
4.介紹置位和復(fù)位運算符的用法
1.ST文本中的賦值運算符和算術(shù)運算符
1.1 賦值運算符
1.1.1賦值運算符的講解
本小結(jié)為大家講解ST語法中的賦值語句。什么是賦值語句呢,就是指把一個“數(shù)值”或者“變量中的內(nèi)容”轉(zhuǎn)移給另一個變量。
以下是3種編程語言的賦值語句,放在下面給大家做個對比
ST語言 | 梯形圖 | C語言 |
---|---|---|
:= | MOV\DMOV\DEMOV | = |
ST文本中使用的“:=”作為賦值運算符,注意所有符號 都是英文狀態(tài)下的(半角符號)
1.1.2賦值運算符的應(yīng)用
ST語言的賦值語句 使用的是“:=”.下面我們來看看使用案例
vi_NumOfPeople := 100;
vi_人數(shù) := 100;
上面兩句話的意思,其實就是將 100這個數(shù)值賦值給我們 變量中。程序運行之后,“vi_NumOfPeople”這個變量中的數(shù)值為 100,而這個變量“vi_人數(shù)”中的數(shù)值也是100.
vb_StopButton := TRUE;
vb_啟動按鈕 := FALSE;
賦值語句順序是 "從后向前",也就是把后面變量里的 值,賦值給前面的變量。這個和數(shù)學(xué)上的等于是不一樣的哈,大家注意。
再強調(diào)一遍,ST語言中“:=”賦值語句,是將 后面變量里的值,賦值給前面的變量的。順序是“從后向前”。
1.1.3 不同數(shù)據(jù)類型賦值需要進行強制類型轉(zhuǎn)換
如果不強制類型轉(zhuǎn)換,提示效果如下
使用強制類型轉(zhuǎn)換后:
強制類型轉(zhuǎn)換的含義就是,將等式右邊的數(shù)據(jù)類型和左邊的數(shù)據(jù)類型統(tǒng)一。
常用的數(shù)據(jù)類型轉(zhuǎn)換格式:當(dāng)前數(shù)據(jù)類型_TO_目標(biāo)數(shù)據(jù)類型(變量);
REAL_TO_DINT(變量B);//把 浮點型變量B 強制轉(zhuǎn)換成 DINT型
DINT_TO_REAL(變量C);//把 32位整型數(shù)據(jù) 強制轉(zhuǎn)換成 REAL浮點型
INT_TO_DINT(變量D);//把16位整型數(shù)據(jù)強制轉(zhuǎn)換成32位整型數(shù)據(jù)
INT_TO_REAL(變量E);//把16位整型變量強制轉(zhuǎn)換成浮點型
1.2 算術(shù)運算符
算術(shù)運算符就是我們數(shù)學(xué)上的加減乘除,這里呢拿出來簡單講一下。會小學(xué)數(shù)學(xué),就肯定會PLC編程中的加減乘除!
1.2.1加法 +
在ST語法中,加法就是"+"數(shù)學(xué)上的加法符號。假如已知變量:
vi_VarA := 10;
vi_VarB := 90;
則:vi_Num := vi_VarA + vi_VarB;
經(jīng)過運算,vi_Num輸出值為 100;
1.2.2減法 -
在ST語法中,減法就是“-”數(shù)學(xué)上的減號。假如已知變量:
vi_VarA := 10;
vi_VarB := 90;
則:vi_Num := vi_VarA - vi_VarB;
經(jīng)過運算,vi_Num輸出值為 -80;
1.2.3 乘法 *
在ST語法中,乘法就是“”星號。假如已知變量:
//-----乘法的運用----------------------------
vf_圓周率 := 3.1415926;
vi_半徑 := 8; //----8mm
vf_圓面積 := vf_圓周率 INT_TO_REAL(vi_半徑 * vi_半徑);
運算結(jié)果就是半徑為8mm的圓面積。
1.2.4 除法 /
ST語法中的除法就是"/"
//-----已知 vf_圓周長 := 15mm,求直徑.--------
vf_圓周長 := 15;
vf_直徑 := vf_圓周長 / vf_圓周率;
1.2.5 變量區(qū)代碼:
PROGRAM PLC_PRG VAR vi_VarA : INT; vi_VarB : INT; vi_Var1 : INT; vi_Var2 : INT; vf_圓周率 : REAL; vi_半徑 : INT; //mm vf_圓面積 : REAL; //mm^2 vf_圓周長 : REAL; //mm vf_直徑: REAL; END_VAR
1.2.6 程序段代碼:
vi_VarA := 10; vi_VarB := 90; //-----加法指令的運用,運算結(jié)果100----------- vi_Var1 := vi_VarA + vi_VarB; //-----減法指令的運用,運算結(jié)果-80----------- vi_Var2 := vi_VarA - vi_VarB; //-----乘法的運用---------------------------- vf_圓周率 := 3.1415926; vi_半徑 := 8; //----8mm vf_圓面積 := vf_圓周率 * INT_TO_REAL(vi_半徑 * vi_半徑); //-----除法的應(yīng)用---------------------------- //-----已知 vf_圓周長 := 15mm,求直徑.-------- vf_圓周長 := 15; vf_直徑 := vf_圓周長 / vf_圓周率;
程序運行結(jié)果
好了,大家應(yīng)該會ST語法中的加減乘除了吧,自己練練哈!
請用程序?qū)懗鱿旅娴木毩?xí)題:
1.科幻書每套有3本,每套12元,漫畫書每本8元。買一本科幻書和一本漫畫書共要多少元???
2.面包:每個3元,餅干:每包4元,飲料:每瓶6元;小剛:買4個面包和1瓶飲料,應(yīng)付多少元?小強有50元,買5包餅干,找回多少元?
2.比較運算符的基本用法
ST中關(guān)系運算符實際上就是我們數(shù)學(xué)中常用的“大于”、“等于”、“小于”、“不等于”。關(guān)系運算符常一般有2種常用用法:
用法1:配合IF語句,作為IF語句的判斷條件使用
用法2:在賦值語句的右側(cè),作為一個表達式,返回TRUE or FALSE給賦值語句的左側(cè)。
(咱們大家在自己以后項目中,變量命名盡量不要太相似,不然不容易辨認。這里因為是測試程序,我為了方便就起相似的名字了)
2.1大于 >
請看以下代碼:
vi_Num1 := 200;
vi_Num2 := 1000;
則運行:vb_Test1 := (vi_Num1 > vi_Num2);
輸出結(jié)果:vb_Test實際為 false,因為vi_Num1(200)并不大于vi_Num2(1000);運行結(jié)果為假。
繼續(xù)看下一段代碼:
vi_Num3 := 888;
vi_Num4 := 666;
則運行:vb_Test2 := (vi_Num3 > vi_Num4);
運行結(jié)果:vb_Test實際輸出結(jié)果為true,因為888確實是大于666。所以運行結(jié)果為真!
2.2小于 <
vi_Num5 := 888;
vi_Num6 := 666;
則運行:vb_Test3 := (vi_Num5 < vi_Num6);
則vb_Test3運算結(jié)果為false,因為888不小于666.所以運算結(jié)果為假
vi_Num7 := 233;
vi_Num8 := 2333;
則運行vb_Test4 := (vi_Num7 < vi_Num8);
則vb_Test4運行結(jié)果為true,因為233<2333,所以運算結(jié)果為真。
2.3 等于 =
同樣的道理,當(dāng)比較的兩個變量相等的時候,運行結(jié)果就為true,否則運行結(jié)果就為false。
vi_Num9 := 233;
vi_Num10 := 233;
vb_Test5 := (vi_Num9 = vi_Num10);
vb_Test5的運行結(jié)果為true。當(dāng)兩個變量內(nèi)的值不相等的時候,運行結(jié)果就為false了。。
3.4 不等于 <>
這個符號是不等于的意思,如果兩個值相等,則輸出結(jié)果為false為假。如果兩個數(shù)值不相等,則輸出結(jié)果為true,運行結(jié)果為真。
vi_Num11 := 233;
vi_Num12 := 233;
vb_Test6 := (vi_Num11 <> vi_Num12);
vb_Test6運行結(jié)果為false,因為vi_Num11和vi_Num12這兩個變量存儲的數(shù)值相等,所以vb_Test6運行結(jié)果為假。
3.5 大于等于 >=
C := (A >= B);
當(dāng)A中保存的數(shù)值大于等于B數(shù)值的時候,則C輸出TRUE;否則C輸出FALSE.
2.6 小于等于 < =
C := (A < = B);
當(dāng)A數(shù)值小于等于B數(shù)值的時候,則C輸出結(jié)果為true,否則輸出結(jié)果為false。
3.AND和OR邏輯運算符的基本用法
邏輯運算符主要有兩種使用方式:
1.與IF語句配合使用
2.作為賦值語句的 右邊部分表達式的連接符如:
變量A := (變量B > 10) AND (變量C < 0)
變量A的結(jié)果就是賦值語句右側(cè)的表達值。
4.置位和復(fù)位運算符的用法
樣例如下
等效于: