應用指令:數據移位指令--懂,會查即可
數據指令
shift
1、移位寄存器指令-SFT(10)
Shift
開始通道St必須小于或等于結束通道號E,且St和E必須在同一區域
高位在最左邊,按一下按鍵00006(0->1->0),通道位置全為0,接著每進來一個脈沖00005位的數據移進IR200一次
2、可逆移位寄存器指令-SFTR(84)/@SFTR(84)
shift
控制通道C中的數據規定了移位方向、數據輸入端、移位脈沖端和復位端
如果控制通道復位端(bit15)為ON,則從St到E通道的數據及進位為CY全部復位為0
LR鏈接繼電器 控制通道數據在IR200中
為復位端 為移位脈沖端 為數據輸入 為移位方向
上升沿微分指令DIFU ,00002每按下一次的上升沿,20100就會有一個脈沖
a、當00004為0N可編程控制器數,SFTR開始工作。當00003為ON時,LR10~LR11和進位位CY的數據清0
b、當00004為ON且00003為OFF,00002由OFF->ON,LR10~LR11的數據進行一次移位為ON則左移一位,00000為OFF則右移一位。左移時00001的狀態移入LR10的bit00,LR11的bit15移入進位位CY;右移時00001的狀態移入LR11的bit15,LR10的bit00移入進位位CY;
d、當SFTR的執行條件為OFF時停止工作,此時通道IR200的各個控制位失效,復位信號不起作用,LR10~LR11及進位位CY保持不變
注意:這里以00002的微分信號作為移位脈沖,只有當00002由OFF->ON時才移位一次。如果直接以00002為移位脈沖可編程控制器數,當0002為ON時,每掃描一次,都要執行一次移位,移位次序失去控制;
我的問題:是否只要掃描周期掃描到移位脈沖為ON就進行移位,還是一定要移位脈沖要有從OFF到ON的變化才進行移位?
3、字移位指令-WSFT(16)/@WSFT(16)
Word shift
可以用一個通道表示一個字,一個字表示一個通道
4、算數左移指令-ASL(25)/@ASL(25)
shift left
CY時SR寄存器一位
5、算數左移指令-ASR(26)/@ASL(26)
shift right
6、循環左移指令-ROL(27)/@ROL(27)
left
15位先進CY再進00位
7、循環左移指令-ROR(28)/@ROL(28)
right
00位先進CY再進15位
8、1位數字左移指令-SLD(74)/@SLD(74)
Digit shift left
之前都是二進制位,
9、1位數字右移指令-SRD(75)/@SRD(75)
Digit shift right
同SLR,移位后E的最高數字填入0,St最低位數字丟失溢出(其余同SLD)
10、異步移位寄存器指令-ASFT(17)/@ASFT(17)
shift
首先找到所有0000所在位置,移動方向為0000向低地址通道移動,所以交換的時候只需用0000所處的位置與下面位置內容進行交換即可。與都為0000,不變;與,0000位于高位,所以與位置內容交換;。。。
來源 :B站 東南大學-《可編程控制器PLC》(全40講)
《可編程序控制器:原理·應用·網絡》([第二版]徐世許,朱妙其,王毓順主編).pdf?