移位指令實例——西門子S7系列PLC
移位指令可以可以將累加器1的低字或整個累加器的內(nèi)容進行左移或右移一定的位數(shù)。二進制數(shù)左移一位相當于將原數(shù)值乘以2。右移一位相當于將原數(shù)值除以2。
參數(shù)N表示移位的次數(shù)。移出的空位根據(jù)不同的指令由0或符號位的狀態(tài)填充。最后移出的位的狀態(tài)同時被裝入到狀態(tài)字的CC1位,CC0和OV位被復位。
l SSI <number> 16位整數(shù)右移指令
l SSD <number> 32位整數(shù)右移指令
l SLW <number> 邏輯字左移指令
l SRW <number> 邏輯字右移指令
l SLD <number> 邏輯雙字左移指令
l SRD <number> 邏輯雙字右移指令
例3.8.1
FBD符號:
STL指令格式: SSI <number>
1.當使能輸入端EN = 1時,執(zhí)行整數(shù)右移指令。將來自輸入端IN的16位整數(shù)右移N位后,由OUT端輸出。
2.N端輸入要移位的次數(shù),如果N大于16則其作用與N = 16 相同。
3.移出的空位由符號位的狀態(tài)填充,如果是正數(shù),以0填充,如果是負數(shù),以1填充。
4.如果N不等于0,則執(zhí)行該指令后,CC0和OV位總是等于0。
5.ENO = EN
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。