相對(duì)來(lái)說(shuō),s7-300/400的移位指令的功能沒(méi)有s7-200強(qiáng),它的特點(diǎn)如下:
①s7-300/400只能進(jìn)行整數(shù)i、雙字長(zhǎng)整數(shù)di的右移,字或雙字的左、右移動(dòng),雙字的循環(huán)移動(dòng)共8種移位操作。
②s7-300/400的移位只能通過(guò)累加器1進(jìn)行,當(dāng)存儲(chǔ)器需要移位時(shí),應(yīng)首先將存儲(chǔ)器的內(nèi)容移動(dòng)到累加器1中。
③s7-300/400的移位操作只能對(duì)字、雙字長(zhǎng)的數(shù)據(jù)進(jìn)行,不能用于字節(jié)。
④對(duì)于整數(shù)i、雙字長(zhǎng)整數(shù)di,只能進(jìn)行右移操作,數(shù)據(jù)被移出后的“空位”自動(dòng)連續(xù)補(bǔ)入符號(hào)位的狀態(tài)(正數(shù)為“o”、負(fù)數(shù)為“1”)。
⑤被移出的最后一位狀態(tài)被保存在狀態(tài)字的cc1位中。
⑥移位位數(shù)n可以采用如下兩種方式指定:
——在指令中直接指定位數(shù);
——如果在指令中未指定位數(shù),以累加器2的低字節(jié)存儲(chǔ)值作為移動(dòng)位數(shù)。
s7-300/400移位指令的梯形圖編程格式如圖10-5.4所示。