- 零基礎(chǔ)輕松學(xué)會松下PLC
- 王時軍
- 2274字
- 2020-11-27 17:57:55
2.4 比較指令
松下FP1系列的比較指令共有36條。比較指令與基本順序指令ST、AN、OR類似,不同的是基本順序指令的操作數(shù)是各類繼電器,而比較指令的操作數(shù)可以是兩個相互比較的存儲單元。
比較指令分為單字(16位)比較和雙字(32位)比較,兩個操作數(shù)可以是WX、WY、WR、SV、EV、DT、IX、IY和常數(shù)。需要注意的是,F(xiàn)P1系列PLC的C14型和C16型兩種機型不支持這36條比較指令。
1.單字加載比較指令ST=、ST<>、ST>、ST>=、ST<、ST<=
(1)指令功能
ST=:相等時加載,S1等于S2時執(zhí)行后續(xù)指令。
ST<>:不相等時加載,S1不等于S2時執(zhí)行后續(xù)指令。
ST>:大于時加載,S1大于S2時執(zhí)行后續(xù)指令。
ST>=:大于或等于(不小于)時加載,S1大于或等于S2時執(zhí)行后續(xù)指令。
ST<:小于時加載,S1小于S2時執(zhí)行后續(xù)指令。
ST<=:小于或等于(不大于)時加載,S1小于或等于S2時執(zhí)行后續(xù)指令。
【例2-20】 編程實例
該實例的指令如下:
0 ST=
DT 0
K 50
5 OT Y0
實例程序的梯形圖及時序圖如圖2-34所示。
圖2-34 實例程序的梯形圖及時序圖
a)梯形圖 b)時序圖
數(shù)據(jù)寄存器DT0的內(nèi)容與常數(shù)K50比較,如果DT0=K50時,Y0為“ON”。
(2)指令使用說明
1)比較指令直接與左母線相連,相當(dāng)于一個有條件的控制觸點。
2)根據(jù)比較條件,將S1指定的單字?jǐn)?shù)據(jù)和S2指定的單字?jǐn)?shù)據(jù)進行比較,繼電器的通斷取決于比較結(jié)果。比較結(jié)果如圖2-35所示。
2.單字串聯(lián)比較指令A(yù)N=、AN<>、AN>、AN>=、AN<、AN<=
(1)指令功能
AN=:S1等于S2時進行“與”運算。
AN<>:S1不等于S2時進行“與”運算。
AN>:S1大于S2時進行“與”運算。
AN>=:S1大于或等于S2時進行“與”運算。
AN<:S1小于S2時進行“與”運算。
圖2-35 比較運算結(jié)果
AN<=:S1小于或等于S2時進行“與”運算。
【例2-21】 編程實例
實例程序指令如下:
0 ST<
DT 0
K 70
5 AN<>
DT 1
K 50
10 OT Y0
將數(shù)據(jù)寄存器DT0的內(nèi)容和常數(shù)K70比較,數(shù)據(jù)寄存器DT1的內(nèi)容和常數(shù)K50比較,如果DT0<K70,且DT1≠K50,則Y0得電。
梯形圖、時序圖如圖2-36所示。
圖2-36 實例梯形圖及時序圖
a)梯形圖 b)時序圖
(2)指令使用說明
1)在程序中可以連續(xù)使用多個串聯(lián)比較指令。
2)根據(jù)比較條件,將S1指定的單字?jǐn)?shù)據(jù)和S2指定的單字?jǐn)?shù)據(jù)進行比較,比較結(jié)果如圖2-37所示。
圖2-37 比較運算結(jié)果
3.單字并聯(lián)比較指令OR=、OR<>、OR>、OR>=、OR<、OR<=
(1)指令功能
OR=:S1等于S2時進行“或”運算。
OR<>:S1不等于S2時進行“或”運算。
OR>:S1大于S2時進行“或”運算。
OR>=:S1大于或等于S2時進行“或”運算。
OR<:S1小于S2時進行“或”運算。
OR<=:S1小于或等于S2時進行“或”運算。
【例2-22】 編程實例
程序指令如下所示:
0 ST<
DT 0
K 30
5 OR>
DT 1
K 40
10 OT Y0
數(shù)據(jù)寄存器DT0的內(nèi)容和常數(shù)K30比較,數(shù)據(jù)寄存器DT1的內(nèi)容和常數(shù)K40比較,如果DT0<K30或DT1>K40,則Y0得電。
實例梯形圖、時序圖如圖2-38所示。
圖2-38 實例梯形圖及時序圖
a)梯形圖 b)時序圖
(2)指令使用說明
1)在程序中可以連續(xù)使用多個并聯(lián)比較指令。
2)根據(jù)比較條件,將S1指定的單字?jǐn)?shù)據(jù)和S2指定的單字?jǐn)?shù)據(jù)進行比較,比較結(jié)果如圖2-39所示。
圖2-39 比較運算結(jié)果
4.雙字加載比較指令STD=、STD<>、STD>、STD>=、STD<、STD<=
(1)指令功能
STD=:相等時執(zhí)行后續(xù)指令。
STD<>:不相等時執(zhí)行后續(xù)指令。
STD>:大于時執(zhí)行后續(xù)指令。
STD>=:大于或等于時執(zhí)行后續(xù)指令。
STD<:小于時執(zhí)行后續(xù)指令。
STD<=:小于或等于時執(zhí)行后續(xù)指令。
【例2-23】 編程實例
實例程序指令如下:
0 STD=
DT 0
K 30
9 OT Y0
實例梯形圖、時序圖如圖2-40所示。
圖2-40 實例梯形圖及時序圖
a)梯形圖 b)時序圖
將數(shù)據(jù)寄存器(DT1,DT0)的內(nèi)容和常數(shù)K30比較,如果(DT1,DT0)=K30,則Y0得電。
(2)指令使用說明
1)該指令在處理32位數(shù)據(jù)時,如果已指定低16位存儲單元(S1,S2),則高16位存儲單元自動指定為(S1+1,S2+1)。后面類似的情況不再重復(fù)說明。
2)根據(jù)比較條件,將(S1+1,S1)指定的雙字?jǐn)?shù)據(jù)和(S2+1,S2)指定的雙字?jǐn)?shù)據(jù)進行比較,觸點的通斷取決于比較結(jié)果。比較運算結(jié)果如圖2-41所示。
圖2-41 比較運算結(jié)果
5.雙字串聯(lián)比較指令A(yù)ND=、AND<>、AND>、AND>=、AND<、AND<=
(1)指令功能
AND=:相等時進行“與”運算。
AND<>:不相等時進行“與”運算。
AND>:大于時進行“與”運算。
AND>=:大于或等于時進行“與”運算。
AND<:小于時進行“與”運算。
AND<=:小于或等于時進行“與”運算。
【例2-24】 編程實例
實例程序指令表如下所示:
0 ST X0
1 AND>
DT 0
K 30
10 OT Y0
將數(shù)據(jù)寄存器(DT1,DT0)的內(nèi)容和常數(shù)K30比較,如果(DT1,DT0)>K30且X0為“ON”,Y0得電。
實例梯形圖、時序圖如圖2-42所示。
(2)指令使用說明
1)在程序中可以連續(xù)使用多個雙字串聯(lián)比較指令。
2)根據(jù)比較條件,將(S1+1,S1)指定的雙字?jǐn)?shù)據(jù)和(S2+1,S2)指定的雙字?jǐn)?shù)據(jù)進行比較,觸點的通斷取決于比較結(jié)果。比較運算結(jié)果如圖2-43所示。
圖2-42 實例梯形圖及時序圖
a)梯形圖 b)時序圖
圖2-43 比較運算結(jié)果
6.雙字并聯(lián)比較指令ORD=、ORD<>、ORD>、ORD>=、ORD<、ORD<=
(1)指令功能
ORD=:相等時進行“或”運算。
ORD<>:不相等時進行“或”運算。
ORD>:大于時進行“或”運算。
ORD>=:大于等于時進行“或”運算。
ORD<:小于時進行“或”運算。
ORD<=:小于等于時進行“或”運算。
【例2-25】 編程實例
實例程序指令如下所示:
0 ST X0
1 ORD>
DT 0
K 30
10 OT Y0
將數(shù)據(jù)寄存器(DT1,DT0)的內(nèi)容和常數(shù)K30比較,如果(DT1,DT0)>K30
或X0為“ON”時,Y0得電。
梯形圖、時序圖如圖2-44所示。
(2)指令使用說明
圖2-44 實例梯形圖及時序圖
a)梯形圖 b)時序圖
1)在程序中可以連續(xù)使用多個雙字并聯(lián)比較指令。
2)根據(jù)比較條件,將(S1+1,S1)指定的雙字?jǐn)?shù)據(jù)和(S2+1,S2)指定的雙字?jǐn)?shù)據(jù)進行比較,觸點的通斷取決于比較結(jié)果。比較運算結(jié)果如圖2-45所示。
圖2-45 比較運算結(jié)果