国产清洁工av剧情精品_欧洲日韩av网站_国产视频手机在线播放_亚洲精品国产va在线观看蜜芽_AV网页在线好看_久久精品国产亚洲精品2023_一级日韩一级欧美_亚洲欧美日韩中文天堂_最近中文字幕mv在线视频_男女啪啪高潮激烈免费版网站

您好,歡迎訪問泰安宏盛自動化科技有限公司!
20年專注工控自動化研發(fā)制造 系統(tǒng)設(shè)計\制作\安裝一條龍服務(wù)
全國咨詢熱線:18605386049
當(dāng)前位置: 首頁 > 技術(shù)資料 > 程序案例

【PLC高級編程語言之ST文本】4.ST語言的運算符介紹

作者:小編 時間:2022-12-11 17:14:04 點擊:

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.比較運算符的基本用法

102640cijeboezd1nv1oyd.png

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ù)位運算符的用法

樣例如下

等效于:


QQ在線咨詢
聯(lián)系電話
17658151177
售后服務(wù)
17658151177