西門子PLC數(shù)據(jù)處理指令
2、字左移和字右移,SLW和SRW
本文引用地址:http://m.butianyuan.cn/article/201612/331133.htm使能輸入有效時,把字型輸入數(shù)據(jù)IN左移或右移N位后,再將結(jié)果輸出到OUT所指的字存儲單元。最大實際可移位次數(shù)為16。
指令格式: SLW OUT, N (字左移);SRW OUT, N (字右移)
例: SLW MW0, 2;SRW LW0, 3
以字右移指令為例,指令執(zhí)行情況如表所示。
圖6 字右移指令
3、雙字左移和雙字右移,SLD和SRD
使能輸入有效時,把雙字型輸入數(shù)據(jù)IN左移或右移N位后,再將結(jié)果輸出到OUT所指的雙字存儲單元。最大實際可移位次數(shù)為32。
指令格式:SLD OUT, N (雙字左移);SRD OUT, N (雙字右移)
例: SLD MD0, 2;SRD LD0, 3
(二)循環(huán)左移、循環(huán)右移
循環(huán)左移和循環(huán)右移根據(jù)所循環(huán)移位的數(shù)的長度分別又可分為字節(jié)型、字型、雙字型。
移位數(shù)據(jù)存儲單元的移出端與另一端相連,同時又與SM1.1(溢出)相連,所以最后被移出的位被移到另一端的同時,也被放到SM1.1位存儲單元。
例如在循環(huán)右移時,移位數(shù)據(jù)的最右端位移入最左端,同時又進入SM1.1。SM1.1始終存放最后一次被移出的位。
圖7 循環(huán)左移、循環(huán)右移
循環(huán)移位的類型:
◆ 字節(jié)循環(huán)左移和字節(jié)循環(huán)右移
◆ 字循環(huán)左移和字循環(huán)右移
◆ 雙字循環(huán)左移和雙字循環(huán)右移
(三)寄存器移位
SHRB,寄存器移位指令:該指令在梯形圖中有3個數(shù)據(jù)輸入端:DATA為數(shù)值輸入, 將該位的值移入移位寄存器;S_BIT為移位寄存器的最低位端;N指定移位寄存器的長度。每次使能輸入有效時,整個移位寄存器移動1位。
移位寄存器長度在指令中指定,沒有字節(jié)型、字型、雙字型之分??芍付ǖ淖畲箝L度為64位,可正也可負。
圖11 移位寄存器
圖12 指令SHRB執(zhí)行結(jié)果三、字節(jié)交換指令
使能輸入有效時,將字型輸入數(shù)據(jù)IN的高字節(jié)和低字節(jié)進行交換。
本指令只對字型數(shù)據(jù)進行處理,指令的執(zhí)行不影響的特殊存儲器位。
使能流輸出ENO斷開的出錯條件:SM4.3(運行時間);0006(間接尋址)。
指令格式: SWAP IN (字節(jié)交換)
圖13 指令SWAP執(zhí)行結(jié)果四、存儲器填充指令,F(xiàn)ILL
使能輸入有效時,用字型輸入數(shù)據(jù)IN填充從輸出OUT所指的單元開始的N個字存儲單元。
填充指令只對字型數(shù)據(jù)進行處理,N值為字節(jié)型,可取從1~255的整數(shù)。www.diangon.com指令的執(zhí)行不影響的特殊存儲器位。
使能流輸出ENO斷開的出錯條件:SM4.3(運行時間);0006(間接尋址);0091(操作數(shù)超界)。
指令格式: FILL IN, OUT, N
評論