探花视频在线版免费播放,国产成人久久综合区,国产乱xxxxxx伦,老和尚趴在小嫩尼身上小说

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

【PLC高級(jí)編程語(yǔ)言之ST文本】4.ST語(yǔ)言的運(yùn)算符介紹

作者:小編 時(shí)間:2022-12-11 17:14:04 點(diǎn)擊:

1.介紹ST文本中的賦值運(yùn)算符和算術(shù)運(yùn)算符
2.介紹比較運(yùn)算符的基本用法
3.介紹AND和OR 邏輯運(yùn)算符的基本
4.介紹置位和復(fù)位運(yùn)算符的用法

1.ST文本中的賦值運(yùn)算符和算術(shù)運(yùn)算符

1.1 賦值運(yùn)算符

1.1.1賦值運(yùn)算符的講解


本小結(jié)為大家講解ST語(yǔ)法中的賦值語(yǔ)句。什么是賦值語(yǔ)句呢,就是指把一個(gè)“數(shù)值”或者“變量中的內(nèi)容”轉(zhuǎn)移給另一個(gè)變量。

以下是3種編程語(yǔ)言的賦值語(yǔ)句,放在下面給大家做個(gè)對(duì)比

ST語(yǔ)言梯形圖C語(yǔ)言
:=MOV\DMOV\DEMOV=

ST文本中使用的“:=”作為賦值運(yùn)算符,注意所有符號(hào) 都是英文狀態(tài)下的(半角符號(hào))

1.1.2賦值運(yùn)算符的應(yīng)用

ST語(yǔ)言的賦值語(yǔ)句 使用的是“:=”.下面我們來(lái)看看使用案例

vi_NumOfPeople := 100;
vi_人數(shù) := 100;

上面兩句話的意思,其實(shí)就是將 100這個(gè)數(shù)值賦值給我們 變量中。程序運(yùn)行之后,“vi_NumOfPeople”這個(gè)變量中的數(shù)值為 100,而這個(gè)變量“vi_人數(shù)”中的數(shù)值也是100.

vb_StopButton := TRUE;
vb_啟動(dòng)按鈕 := FALSE;

賦值語(yǔ)句順序是 "從后向前",也就是把后面變量里的 值,賦值給前面的變量。這個(gè)和數(shù)學(xué)上的等于是不一樣的哈,大家注意。

再?gòu)?qiáng)調(diào)一遍,ST語(yǔ)言中“:=”賦值語(yǔ)句,是將 后面變量里的值,賦值給前面的變量的。順序是“從后向前”。

1.1.3 不同數(shù)據(jù)類型賦值需要進(jìn)行強(qiáng)制類型轉(zhuǎn)換

如果不強(qiáng)制類型轉(zhuǎn)換,提示效果如下

使用強(qiáng)制類型轉(zhuǎn)換后:

強(qiáng)制類型轉(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);//把 浮點(diǎn)型變量B 強(qiáng)制轉(zhuǎn)換成 DINT型
DINT_TO_REAL(變量C);//把 32位整型數(shù)據(jù) 強(qiáng)制轉(zhuǎn)換成 REAL浮點(diǎn)型
INT_TO_DINT(變量D);//把16位整型數(shù)據(jù)強(qiáng)制轉(zhuǎn)換成32位整型數(shù)據(jù)
INT_TO_REAL(變量E);//把16位整型變量強(qiáng)制轉(zhuǎn)換成浮點(diǎn)型

1.2 算術(shù)運(yùn)算符

算術(shù)運(yùn)算符就是我們數(shù)學(xué)上的加減乘除,這里呢拿出來(lái)簡(jiǎn)單講一下。會(huì)小學(xué)數(shù)學(xué),就肯定會(huì)PLC編程中的加減乘除!

1.2.1加法 +

在ST語(yǔ)法中,加法就是"+"數(shù)學(xué)上的加法符號(hào)。假如已知變量:
vi_VarA := 10;
vi_VarB := 90;
則:vi_Num := vi_VarA + vi_VarB;
經(jīng)過運(yùn)算,vi_Num輸出值為 100;

1.2.2減法 -

在ST語(yǔ)法中,減法就是“-”數(shù)學(xué)上的減號(hào)。假如已知變量:
vi_VarA := 10;
vi_VarB := 90;
則:vi_Num := vi_VarA - vi_VarB;
經(jīng)過運(yùn)算,vi_Num輸出值為 -80;

1.2.3 乘法 *

在ST語(yǔ)法中,乘法就是“”星號(hào)。假如已知變量:
//-----乘法的運(yùn)用----------------------------
vf_圓周率        := 3.1415926;
vi_半徑        := 8;        //----8mm
vf_圓面積        := vf_圓周率 
INT_TO_REAL(vi_半徑 * vi_半徑);
運(yùn)算結(jié)果就是半徑為8mm的圓面積。

1.2.4 除法 /

ST語(yǔ)法中的除法就是"/"
//-----已知 vf_圓周長(zhǎng) := 15mm,求直徑.--------
vf_圓周長(zhǎng)        := 15;
vf_直徑        := vf_圓周長(zhǎng) / 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_圓周長(zhǎng)        : REAL; //mm
vf_直徑: REAL;
END_VAR

1.2.6 程序段代碼:

vi_VarA        := 10;
vi_VarB        := 90;

//-----加法指令的運(yùn)用,運(yùn)算結(jié)果100-----------
vi_Var1        := vi_VarA + vi_VarB;

//-----減法指令的運(yùn)用,運(yùn)算結(jié)果-80-----------
vi_Var2        := vi_VarA - vi_VarB;

//-----乘法的運(yùn)用----------------------------
vf_圓周率        := 3.1415926;
vi_半徑        := 8;        //----8mm

vf_圓面積        := vf_圓周率 * INT_TO_REAL(vi_半徑 * vi_半徑);

//-----除法的應(yīng)用----------------------------
//-----已知 vf_圓周長(zhǎng) := 15mm,求直徑.--------
vf_圓周長(zhǎng)        := 15;
vf_直徑        := vf_圓周長(zhǎng) / vf_圓周率;

程序運(yùn)行結(jié)果

好了,大家應(yīng)該會(huì)ST語(yǔ)法中的加減乘除了吧,自己練練哈!

請(qǐng)用程序?qū)懗鱿旅娴木毩?xí)題:
1.科幻書每套有3本,每套12元,漫畫書每本8元。買一本科幻書和一本漫畫書共要多少元???
2.面包:每個(gè)3元,餅干:每包4元,飲料:每瓶6元;小剛:買4個(gè)面包和1瓶飲料,應(yīng)付多少元?小強(qiáng)有50元,買5包餅干,找回多少元?

2.比較運(yùn)算符的基本用法

102640cijeboezd1nv1oyd.png

ST中關(guān)系運(yùn)算符實(shí)際上就是我們數(shù)學(xué)中常用的“大于”、“等于”、“小于”、“不等于”。關(guān)系運(yùn)算符常一般有2種常用用法:
用法1:配合IF語(yǔ)句,作為IF語(yǔ)句的判斷條件使用
用法2:在賦值語(yǔ)句的右側(cè),作為一個(gè)表達(dá)式,返回TRUE or FALSE給賦值語(yǔ)句的左側(cè)。

(咱們大家在自己以后項(xiàng)目中,變量命名盡量不要太相似,不然不容易辨認(rèn)。這里因?yàn)槭菧y(cè)試程序,我為了方便就起相似的名字了)

2.1大于 >

請(qǐng)看以下代碼:
vi_Num1 := 200;
vi_Num2 := 1000;
則運(yùn)行:vb_Test1 := (vi_Num1 > vi_Num2);
輸出結(jié)果:vb_Test實(shí)際為 false,因?yàn)関i_Num1(200)并不大于vi_Num2(1000);運(yùn)行結(jié)果為假。
繼續(xù)看下一段代碼:
vi_Num3 := 888;
vi_Num4 := 666;
則運(yùn)行:vb_Test2 := (vi_Num3 > vi_Num4);
運(yùn)行結(jié)果:vb_Test實(shí)際輸出結(jié)果為true,因?yàn)?88確實(shí)是大于666。所以運(yùn)行結(jié)果為真!

2.2小于 <

vi_Num5 := 888;
vi_Num6 := 666;
則運(yùn)行:vb_Test3 := (vi_Num5 < vi_Num6);
則vb_Test3運(yùn)算結(jié)果為false,因?yàn)?88不小于666.所以運(yùn)算結(jié)果為假
vi_Num7 := 233;
vi_Num8 := 2333;
則運(yùn)行vb_Test4 := (vi_Num7 < vi_Num8);
則vb_Test4運(yùn)行結(jié)果為true,因?yàn)?33<2333,所以運(yùn)算結(jié)果為真。

2.3 等于 =

同樣的道理,當(dāng)比較的兩個(gè)變量相等的時(shí)候,運(yùn)行結(jié)果就為true,否則運(yùn)行結(jié)果就為false。
vi_Num9 := 233;
vi_Num10 := 233;
vb_Test5 := (vi_Num9 = vi_Num10);
vb_Test5的運(yùn)行結(jié)果為true。當(dāng)兩個(gè)變量?jī)?nèi)的值不相等的時(shí)候,運(yùn)行結(jié)果就為false了。。

3.4 不等于 <>

這個(gè)符號(hào)是不等于的意思,如果兩個(gè)值相等,則輸出結(jié)果為false為假。如果兩個(gè)數(shù)值不相等,則輸出結(jié)果為true,運(yùn)行結(jié)果為真。
vi_Num11 := 233;
vi_Num12 := 233;
vb_Test6 := (vi_Num11 <> vi_Num12);
vb_Test6運(yùn)行結(jié)果為false,因?yàn)関i_Num11和vi_Num12這兩個(gè)變量存儲(chǔ)的數(shù)值相等,所以vb_Test6運(yùn)行結(jié)果為假。

3.5 大于等于 >=

C := (A >= B);
當(dāng)A中保存的數(shù)值大于等于B數(shù)值的時(shí)候,則C輸出TRUE;否則C輸出FALSE.

2.6 小于等于 < =

C := (A < = B);
當(dāng)A數(shù)值小于等于B數(shù)值的時(shí)候,則C輸出結(jié)果為true,否則輸出結(jié)果為false。

3.AND和OR邏輯運(yùn)算符的基本用法

邏輯運(yùn)算符主要有兩種使用方式:
1.與IF語(yǔ)句配合使用
2.作為賦值語(yǔ)句的 右邊部分表達(dá)式的連接符如:
變量A := (變量B > 10) AND (變量C < 0)
變量A的結(jié)果就是賦值語(yǔ)句右側(cè)的表達(dá)值。

4.置位和復(fù)位運(yùn)算符的用法

樣例如下

等效于:


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