當(dāng)前位置:機(jī)電之家首頁 >> PLC技術(shù)>> PLC基礎(chǔ) >> PLC入門 >> 四則運(yùn)算式的實(shí)現(xiàn)
四則運(yùn)算式的實(shí)現(xiàn)

一、 實(shí)例
某控制程序中要進(jìn)行以下算式的運(yùn)算: 38X/255+2式中“ X ”代表輸入端口 K2X0 送入的二進(jìn)制數(shù),運(yùn)算結(jié)果需送輸出口 K2Y0 ;X020 為起停開關(guān)。
二、 問題的提出
1 、 四則及邏輯運(yùn)算的功能是什么?
四則及邏輯運(yùn)算指令是基本運(yùn)算指令??赏瓿伤膭t運(yùn)算或邏輯運(yùn)算,可通過運(yùn)算實(shí)現(xiàn)數(shù)據(jù)的傳送、變位及其他控制功能。
可編程控制器中兩種四則運(yùn)算,即整數(shù)四則運(yùn)算和實(shí)數(shù)四則運(yùn)算。前者指令較簡單,參加運(yùn)算的數(shù)據(jù)只能是整數(shù)。非整數(shù)參加運(yùn)算需先取整,除法運(yùn)算的結(jié)果分為商和余數(shù)。整數(shù)四則運(yùn)算進(jìn)行較高準(zhǔn)確度要求的計(jì)算時(shí),需將小數(shù)點(diǎn)前后的數(shù)值分別計(jì)算再將數(shù)據(jù)組合起來,除法運(yùn)算時(shí)要對余數(shù)再做多次運(yùn)算才能形成最后的商。這就使程序的設(shè)計(jì)非常繁瑣。而實(shí)數(shù)運(yùn)算是浮點(diǎn)運(yùn)算,是一種高準(zhǔn)確度的運(yùn)算。 FX2 系列可編程控制器僅有整數(shù)運(yùn)算指令。 FX2n 系列可編程控制器具有實(shí)數(shù)運(yùn)算指令。
( 1 )加法指令
該指令的助記符、指令代碼、操作數(shù)、程序步如表 8-1 所示。
表 8-1 加法指令的要素
指令名稱
助記符
指令代碼位數(shù)
操作數(shù)范圍
程序步
S1(.)
S2(.)
D(.)
加法
ADD
ADD(P)
FNC20
(16/32)
K 、 H
KnX 、 KnY 、 KnM 、 KnS
T 、 C 、 D 、 V 、 Z
KnY 、 KnM 、 KnS
T 、 C 、 D 、 V 、 Z
ADD 、 ADDP…7 步
DADD 、 DADDP…13 步
ADD 加法指令是將指定的源元件中的二進(jìn)制數(shù)相加,結(jié)果送到指定的目標(biāo)元件中去。 ADD 加法指令的說明如圖 8-1 表示。
當(dāng)執(zhí)行條件 X0 由 OFF → ON 時(shí), [D10]+[D12] → [D14] 。運(yùn)算是代數(shù)運(yùn)算,如 5+ ( -8 ) =-3 。
ADD 加法指令有 3 個(gè)常用標(biāo)志。 M8020 為零標(biāo)志, M8021 為借位標(biāo)志, M8022 為進(jìn)位標(biāo)志。
如果運(yùn)算結(jié)果為 0 ,則零標(biāo)志 M8020 置 1 ;如果運(yùn)算結(jié)果超過 32767 ( 16 位)或 2147483647 ( 32 位),則進(jìn)位標(biāo)志 M8022 置 1 ;如果運(yùn)算結(jié)果小于 -32767 ( 16 位)或 -2147483647 ( 32 位),則借位標(biāo)志 M8021 置 1 。
在 32 為運(yùn)算中,被指定的字元件是低 16 位元件,而下一個(gè)元件為高 16 位元件。
源和目標(biāo)可以用相同的元件號。若源和目標(biāo)元件號相同而采用連續(xù)執(zhí)行的 ADD 、( D ) ADD 指令時(shí),加法的結(jié)果在每個(gè)掃描周期都會(huì)改變。
( 2 )減法指令
該指令的助記符、指令代碼、操作數(shù)、程序步如表 8-2 所示。
表 8-2 減法指令的要素
指令名稱
助記符
指令代碼位數(shù)
操作數(shù)范圍
程序步
S1(.)
S2(.)
D(.)
減法
SUB
SUB(P)
FNC21
(16/32)
K 、 H
KnX 、 KnY 、 KnM 、 KnS
T 、 C 、 D 、 V 、 Z
KnY 、 KnM 、 KnS
T 、 C 、 D 、 V 、 Z
SUB 、 SUBP…7 步
DSUB 、 DSUBP…13 步
SUB 減法指令是將指定的源元件中的二進(jìn)制數(shù)相減,結(jié)果送到指定的目標(biāo)元件中去。 SUB 減法指令的說明如圖 8-3 表示。
圖 8-3 減法指令使用說明
當(dāng)執(zhí)行條件 X0 由 OFF → ON 時(shí), [D10]-[D12] → [D14] 。運(yùn)算是代數(shù)運(yùn)算,如 5- ( -8 )=13 。
各種標(biāo)志的動(dòng)作、 32 位運(yùn)算中軟元件的指定方法、連續(xù)執(zhí)行型和脈沖執(zhí)行型的差異均與上述加法指令相同。
( 3 )乘法指令
該指令的助記符、指令代碼、操作數(shù)、程序步如表 8-3 所示。
表 8-3 乘法指令的要素
指令名稱
助記符
指令代碼位數(shù)
操作數(shù)范圍
程序步
S1(.)
S2(.)
D(.)
乘法
MUL
MUL(P)
FNC22
(16/32)
K 、 H
KnX 、 KnY 、 KnM 、 KnS
T 、 C 、 D 、 V 、 Z
KnY 、 KnM 、 KnS
T 、 C 、 D 、 V 、 Z
MUL 、 MULP…7 步
DMUL 、 DMULP…13 步
MUL 乘法指令是將指定的源元件中的二進(jìn)制數(shù)相乘,結(jié)果送到指定的目標(biāo)元件中去。 MUL 乘法指令使用說明如圖 8-4 所示。它分 16 位和 32 位兩種情況。
圖 8-4 乘法指令使用說明
當(dāng)為 16 位運(yùn)算,執(zhí)行條件 X0 由 OFF → ON 時(shí), [D0]x[D2] → [D5 , D4] 。源操作數(shù)是 16 位,目標(biāo)操作數(shù)是 32 位。當(dāng) [D0]=8 , [D2]=9 時(shí), [D5 , D4]=72 。最高位為符號位, 0 為正, 1 為負(fù)。
當(dāng)為 32 位運(yùn)算,執(zhí)行條件 X0 由 OFF → ON 時(shí), [D1 、 D0]x[D3 、 D2] → [D7 、 D6 、 D5 、D4] 。源操作數(shù)是 32 位,目標(biāo)操作數(shù)是 64 位。當(dāng) [D1 、 D0]=238 , [D3 、 D2]=189 時(shí), [D7 、 D6 、 D5 、 D4]=44982 ,最高位為符號位, 0 為正, 1 為負(fù)。
如將位組合元件用于目標(biāo)操作數(shù)時(shí),限于 K 的取值,只能得到低位 32 位的結(jié)果,不能得到高位 32 位的結(jié)果。這時(shí),應(yīng)將數(shù)據(jù)移入字元件再進(jìn)行計(jì)算。
用字元件時(shí),也不可能監(jiān)視 64 位數(shù)據(jù),只能通過監(jiān)視高位 32 位和低 32 位。 V 、 Z 不能用于 [D] 目標(biāo)元件。
( 4 )除法指令
該指令的助記符、指令代碼、操作數(shù)、程序步如表 8-4 所示。
表 8-4 除法指令的要素
指令名稱
助記符
指令代碼位數(shù)
操作數(shù)范圍
程序步
S1(.)
S2(.)
D(.)
除法
DIV
DIV(P)
FNC23
(16/32)
K 、 H
KnX 、 KnY 、 KnM 、 KnS
T 、 C 、 D 、 Z
KnY 、 KnM 、 KnS
T 、 C 、 D 、
DIV 、 DIVP…7 步
DDIV 、 DDIVP…13 步
DIV 除法指令是將指定的源元件中的二進(jìn)制數(shù)相除, [S1] 為被除數(shù), [S2] 為除數(shù),商送到指定的目標(biāo)元件 [D] 中去,余數(shù)送到 [D] 的下一個(gè)目標(biāo)元件。 DIV 除法指令使用說明如圖 8-5 表示。它分 16 位和 32 位兩種情況。
圖 8-5 除法指令使用說明
當(dāng)為 16 位運(yùn)算。執(zhí)行條件 X0 由 OFF → ON 時(shí),[D0]/[D2] → [D4] 。當(dāng) [D0]=19 , [D2]=3 時(shí), [D4]=6 ,[D5]=1 。 V 和 Z 不能用于 [D] 中。
當(dāng)為 32 位運(yùn)算。執(zhí)行條件 X0 由 OFF → ON 時(shí),[D1 、 D0]/[D3 、 D2] 。商在 [D5 、 D4] ,余數(shù)在 [D7 、D6] 中。 V 和 Z 不能用于 [D] 中。
商數(shù)為 0 時(shí),有運(yùn)算錯(cuò)誤,不執(zhí)行指令。若 [D] 指定位元件,得不到余數(shù)。商和余數(shù)的最高位是符號位。被除數(shù)或余數(shù)中有一個(gè)為負(fù)數(shù),商為負(fù)數(shù);被除數(shù)為負(fù)數(shù)時(shí),余數(shù)為負(fù)數(shù)。
2 、怎樣用四則運(yùn)算指令來實(shí)現(xiàn)上述功能?
三、 PLC 硬件的實(shí)現(xiàn)
1 、 I/O 的分配
輸入
功能說明
輸出
功能說明
K2X0
X0
二進(jìn)制數(shù)輸入
K2Y0
Y0
二進(jìn)制數(shù)輸出
X1
Y1
X2
Y2
X3
Y3
X4
Y4
X5
Y5
X6
Y6
X7
Y7
 
X20
啟動(dòng)
     
2 、 I/O 的外部接線
四、 PLC 軟件的實(shí)現(xiàn)
用功能指令實(shí)現(xiàn)以下算式的運(yùn)算: 38X/255+2 的梯形圖如圖所示。
五、知識(shí)的拓展
指令名稱
助記符
指令代碼位數(shù)
操作數(shù)范圍
程序步
D ( . )
加 1
INC
INC (P)
FNC24 ◥
(16/32)
KnY 、 KnM 、 KnS
T 、 C 、 D 、 V 、 Z
INC 、 INCP…3 步
DINC 、 DINCP…5 步
減 1
DEC
DEC (P)
FNC25 ◥
(16/32)
KnY 、 KnM 、 KnS
T 、 C 、 D 、 V 、 Z
DEC 、 DECP…3 步
DDEC 、 DDECP…5 步
 
指令名稱
助記符
指令代碼位數(shù)
操作數(shù)范圍
程序步
S1(.)
S2(.)
D(.)
邏輯字與
AND
AND(P)
FNC26
(16/32)
K 、 H
KnX 、 KnY 、 KnM 、 KnS
T 、 C 、 D 、 V 、 Z
KnY 、 KnM 、 KnS
T 、 C 、 D 、 V 、 Z
WAND 、 WANDP…7 步
DANDC 、 DANDP…13 步
邏輯字或
OR
OR(P)
FNC27
(16/32)
K 、 H
KnX 、 KnY 、 KnM 、 KnS
T 、 C 、 D 、 V 、 Z
KnY 、 KnM 、 KnS
T 、 C 、 D 、 V 、 Z
WOR 、 WORP…7 步
DORC 、 DORP…13 步
邏輯字異或
XOR
XOR(P)
FNC28
(16/32)
K 、 H
KnX 、 KnY 、 KnM 、 KnS
T 、 C 、 D 、 V 、 Z
KnY 、 KnM 、 KnS
T 、 C 、 D 、 V 、 Z
WXOR 、 WXORP…7 步
DXORC 、 DXORP…13 步
作者:未知 點(diǎn)擊:1678次 [打印] [關(guān)閉] [返回頂部]
本文標(biāo)簽:四則運(yùn)算式的實(shí)現(xiàn)
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報(bào)酬未能及時(shí)支付,在此深表歉意,請《四則運(yùn)算式的實(shí)現(xiàn)》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
電子樣本

SN系列樣冊
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個(gè)人求購

曾經(jīng)理 【求購】  定制酒店香...  2025-12-12
張瑜 【求購】  防靜電橡膠...  2025-12-12
劉強(qiáng) 【求購】  保溫板  2025-12-12
曹先生 【求購】  鎂合金  2025-12-12
趙經(jīng)理 【求購】  防火密封膠  2025-12-12
A 【求購】  鐵路接觸網(wǎng)...  2025-12-11
 【求購】  西門子ET...  2025-12-11
唐多 【求購】  DCS系統(tǒng)...  2025-12-11
VIP公司推薦