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