歡迎來(lái)到海藍智能科技有限公司!
CMP指令,數據比較指令,英文compare,功能號為,功能是比較兩個(gè)源操作數S1和S2的大小,比較的結果存放在目標操作數D中。若目標操作數為m0,則m1、m2被自動(dòng)占有。
三菱plc指令 cmpk2 m0 解釋
CMP是比較指令,的意思是有四個(gè)點(diǎn)使用二進(jìn)制組成的數,和K2——十進(jìn)制常數2比較,比較結果存放在M0開(kāi)始的M0,M1,M2三個(gè)位上
>2時(shí)M0=1;
=2時(shí)M1=1;
<2時(shí)M2=1;
比如Y0=0,Y1=1,Y2=0,Y3=0組成二進(jìn)制為,轉換為十進(jìn)制是2,等于2,所以M1=1
Y0=1,Y1=1,Y2=0,Y3=0組成二進(jìn)制為,轉換為十進(jìn)制是3,大于2,所以M0=1
手冊上講的很詳細比較指令,舉例:CMPY0當十進(jìn)制常數10>中的值,Y0=1;當十進(jìn)制常數10=中的值,Y1=1;當十進(jìn)制常數10
三菱PLC命令CMP是什么意思?
CMP是比較指令,用于16位數據比較,比較的數據范圍是-到+,比較數據類(lèi)型可以是常熟K,H等,可以是數據寄存器D,也可以是計數器C,可以是時(shí)間繼電器T,還可以是連續的位址(如,,,等)。
指令用法如下:
該指令為比較指令,將比較的結果<,=,>三種結果分別告知給M0,M1,M2。
如果D0>D2,M0=1
如果D0=D2,M1=1
如果D0<D2,M2=1
所以使用這個(gè)指令會(huì )連續占用以M0為首的三個(gè)連續的位地址。
另外,若比較數據范圍大于,請使用DCMP,這個(gè)是雙字比較指令,用法和CMP一樣,只不過(guò)比較的數據都是雙字32位數據,所以使用時(shí)不要出現
三菱plc 中 CMP的用法
該指令為比較道指令,將比較的結果回<,=,>三種結果分別告知給M0,M1,M2。
如果D0>D2,M0=1,如果D0=D2,M1=1,如果D0<D2,M2=1,所以使用這個(gè)指令會(huì )連續占用以M0為首的三個(gè)連續的位地址。
CMP用于16位數據比較,比較的數據范知圍是-到+,比較數據類(lèi)型可以是常熟K,H等,可以是數據寄存器D,也可以是計數器C,可以是時(shí)間繼電器T,還可以是連續的位址(如,,,等)。
CF=1則說(shuō)明了有進(jìn)位或借位,cmp是進(jìn)行的減操作,故可以看出為借位,所以,此時(shí)oprd1<oprd2
CF=0則說(shuō)明了無(wú)借位,但此時(shí)要注意ZF是否為0,若為0,則說(shuō)明結果不為0,故此時(shí)oprd1>oprd2
當有符號時(shí):若SF=0,OF=0則說(shuō)明了此時(shí)的值為正數,沒(méi)有溢出,可以直觀(guān)的看出,oprd1>oprd2;若SF=1,OF=0則說(shuō)明了此時(shí)的值為負數,沒(méi)有溢出,則為oprd1<oprd2
若SF=0,OF=1則說(shuō)明了此時(shí)的值為正數,有溢出,可以看出oprd1<oprd2;若SF=1,OF=1則說(shuō)明了此時(shí)的值為負數,有溢出,可以看出oprd1>oprd2
最后兩個(gè)可以作出這種判斷的原因是,溢出的本質(zhì)問(wèn)題:兩數同為正,相加,值為負,則說(shuō)明溢出;兩數同為負,相加,值為正,則說(shuō)明溢出;故有,正正得負則溢出,負負得正則溢出
以上就是關(guān)于三菱PLC中CMP指令應用,希望對讀者朋友有所幫助。如果你還有疑問(wèn),歡迎咨詢(xún)海藍在線(xiàn)客服,我們有專(zhuān)業(yè)的技術(shù)人員幫你解答。或者查看我們三菱PLC行業(yè)資訊中相關(guān)文章獲取知識,深圳海藍智能專(zhuān)注三菱工控。