sjm213
有小知識,無大學(xué)問。
級別: 論壇版主
|
系列帖子鏈接:http://yaoyaoke.com.cn/read-gktid-1421940.html 即日起開始對三菱FX系列PLC的主要應(yīng)用指令進(jìn)行簡單介紹。 有需要深入探討的請跟帖討論。 四、常用指令-觸點比較 觸點比較指令是指對數(shù)值進(jìn)行比較,條件滿足時使觸點置ON的指令。該系列指令有大于、小于、等于、不等于、大于等于、小于等于等。該指令與CMP指令不同在于它可以直接用在邏輯控制中,不占用其他輔助繼電器。 需注意在循環(huán)移位指令中,若目標(biāo)操作數(shù)采用組合字元件指定,那么它必須設(shè)定為16位或32位(即K4Mn或K8Mn)才有效,否則該指令不能正常運行。 2- 循環(huán)左移【ROL】Rotation Left ROL指令是使不包括進(jìn)位標(biāo)志在內(nèi)的指定位數(shù)部分的位依次左移并可以循環(huán)移動的指令,移動前最左邊的位會移動到右邊。其執(zhí)行效果如下圖所示: 該指令同循環(huán)右移指令一樣,如果目標(biāo)操作數(shù)指定為組合字元件,那么必須設(shè)定為16位或32位。 3- 帶進(jìn)位循環(huán)右移【RCR】Rotation Right With Carry RCR指令是使包括進(jìn)位標(biāo)志在內(nèi)的指定位數(shù)部分的位依次右移并可以循環(huán)移動的指令,移動前最右邊的位會和進(jìn)位標(biāo)志位一起移動到左邊。其執(zhí)行效果如下圖所示: 該指令同循環(huán)移動指令一樣,如果目標(biāo)操作數(shù)指定為組合字元件,那么必須設(shè)定為16位或32位。 4- 帶進(jìn)位循環(huán)左移【RCL】Rotation Left With Carry RCL指令是使包括進(jìn)位標(biāo)志在內(nèi)的指定位數(shù)部分的位依次左移并可以循環(huán)移動的指令,移動前最左邊的位會和進(jìn)位標(biāo)志位一起移動到右邊。其執(zhí)行效果如下圖所示: |
---|---|
|
sjm213
有小知識,無大學(xué)問。
級別: 論壇版主
|
5- 位右移【SFTR】Shift Right SFTR指令是使指定位數(shù)長度的軟元件每次向右移動指定位數(shù)的指令。其執(zhí)行效果如下圖所示: 該指令對于以D開始的n1位數(shù)據(jù)(移位寄存器的長度),往右移動n2位,移位后,原寄存器內(nèi)的低n2位數(shù)據(jù)溢出,高n2位數(shù)據(jù)由S開始的n2位數(shù)據(jù)補(bǔ)充。 如果設(shè)定n2為K1,則每移動一次只移動一位。 6- 位左移【SFTL】Shift Left SFTL指令是使指定位數(shù)長度的軟元件每次向左移動指定位數(shù)的指令。其執(zhí)行效果如下圖所示: 該指令對于以D開始的n1位數(shù)據(jù)(移位寄存器的長度),往左移動n2位,移位后,原寄存器內(nèi)的高n2位數(shù)據(jù)溢出,低n2位數(shù)據(jù)由S開始的n2位數(shù)據(jù)補(bǔ)充。 如果設(shè)定n2為K1,則每移動一次只移動一位。 7- 字右移【W(wǎng)SFR】Word Shift Right WSFR指令是使n1個字長的字軟元件向右移動n2個字的指令。其執(zhí)行效果如下圖所示: 該指令對于以D開始的n1個字軟元件往右移動n2個字,移位后,原最右側(cè)n2個字軟元件的數(shù)據(jù)溢出,左側(cè)n2個字軟元件數(shù)據(jù)由S開始的n2個字軟元件數(shù)據(jù)補(bǔ)充。 如果使用組合字元件作為傳送源和目標(biāo),需要指定相同的位數(shù);若傳送源和目標(biāo)軟元件重復(fù)則會發(fā)生運算錯誤。 8- 字左移【W(wǎng)SFL】Word Shift Left WSFL指令是使n1個字長的字軟元件向左移動n2個字的指令。其執(zhí)行效果如下圖所示: 該指令對于以D開始的n1個字軟元件往左移動n2個字,移位后,原最左側(cè)n2個字軟元件的數(shù)據(jù)溢出,右側(cè)n2個字軟元件數(shù)據(jù)由S開始的n2個字軟元件數(shù)據(jù)補(bǔ)充。 如果使用組合字元件作為傳送源和目標(biāo),需要指定相同的位數(shù);若傳送源和目標(biāo)軟元件重復(fù)則會發(fā)生運算錯誤。 9- 移位寫入【SFWR】Shift Register Write SFWR指令是先入先出控制用的數(shù)據(jù)寫入指令。該指令將源數(shù)據(jù)寫入一個儲存區(qū)域中,等待其他指令調(diào)用。其執(zhí)行效果如下圖所示: 該指令執(zhí)行時,將源數(shù)據(jù)S的數(shù)值寫入到目標(biāo)地址D+1中,同時D的數(shù)據(jù)加一;再次執(zhí)行時將源數(shù)據(jù)S的數(shù)值寫入到目標(biāo)地址D+2中,同時D的數(shù)據(jù)繼續(xù)加一。也就是說D內(nèi)的數(shù)據(jù)記錄了已經(jīng)儲存數(shù)據(jù)的個數(shù),每次執(zhí)行SFWR指令都會把S的數(shù)據(jù)填寫到緊接下來的空區(qū)域中。 當(dāng)D內(nèi)記錄的個數(shù)超過n-1時,不會繼續(xù)執(zhí)行數(shù)據(jù)寫入。 10- 移位讀出【SFRD】Shift Register Read SFRD指令是先入先出控制用的數(shù)據(jù)讀出指令。該指令將SFWR指令儲存好的數(shù)據(jù)一次讀出。其執(zhí)行效果如下圖所示: 該指令執(zhí)行時,將源數(shù)據(jù)S+1的數(shù)值寫入到目標(biāo)地址D中,同時S的數(shù)據(jù)減一;再次執(zhí)行時將源數(shù)據(jù)S+2的數(shù)值寫入到目標(biāo)地址D中,同時S的數(shù)據(jù)繼續(xù)減一。也就是說S內(nèi)的數(shù)據(jù)記錄了儲存數(shù)據(jù)的剩余個數(shù),當(dāng)S內(nèi)記錄的個數(shù)為0時,不會繼續(xù)執(zhí)行數(shù)據(jù)讀出。 SFWR指令和SFRD指令配合接口實現(xiàn)先入先出的控制。所謂先入先出,可以想象產(chǎn)品儲存到倉庫的庫位中,按照入庫的順序排列好,在取貨時根據(jù)入庫的先后順序優(yōu)先拿取先入的產(chǎn)品。如以下梯形圖實例: |
---|---|
|
kgao08885
有小知識無大學(xué)問。像螞蟻一樣工作,像蝴蝶一樣生活。
級別: 工控俠客
|
系統(tǒng)學(xué)習(xí),謝版主! |
|
---|---|---|
|
catfree
虛心向各位學(xué)習(xí)!!!
級別: 工控俠客
|
謝謝斑竹的熱血教授,這一課理解起來有點吃力啊,有個例子嗎?x謝過啦 |
|
---|---|---|
|