西门子PLC循环左、右移位指令的使用
循环移位将移位数据存储单元的首尾相连,同时又与溢出标志SM1.1连接,SM1.1用来存放被移出的位。指令格式见表6。
(1)循环左移位指令(ROL)
使能输入有效时,将IN输入无符号数(字节、字或双字)循环左移N位后,将输出到OUT所*的存储单元中,移出的最后一位的数值送溢出标志位SM1.1。当需要移位的数值是零时,零标志位SM1.0为1。
(2)循环右移位指令(ROR)
使能输入有效时,将IN输入无符号数(字节、字或双字)循环右移N位后,将输出到OUT所*的存储单元中,移出的最后一位的数值送溢出标志位SM1.1。当需要移位的数值是零时,零标志位SM1.0为1。
(3)移位次数N≥数据类型(B、W、D)时的移位位数的处理

如果操作数是字节,当移位次数N≥8时,则在执行循环移位前,先对N进行模8操作(N除以8后取余数),其结果0-7为实际移动位数。
如果操作数是字,当移位次数N≥16时,则在执行循环移位前,先对N进行模16操作(N除以16后取余数),其结果0-15为实际移动位数。
如果操作数是双字,当移位次数N≥32时,则在执行循环移位前,先对N进行模32操作(N除以32后取余数),其结果0-31为实际移动位数。
(4)使ENO = 0的错误条件:0006(间接寻址错误),SM4.3(运行时间)。
表6 循环左、右移位指令格式及功能
1.按电路模块进行布局,实现同一功能的相关电路称为一个模块,电路模块中的元件应采用就近集中原则,同时数字电路和模拟电路分开;
2.定位孔、标准孔等非安装孔周围1.27mm内不得贴装元、器件,螺钉等安装孔周围3.5mm(对于M2.5)、4mm(对于M3)内不得贴装元器件;
3.卧装电阻、电感(插件)、电解电容等元件的下方避免布过孔,以免波峰焊后过孔与元件壳体短路;
4.元器件的外侧距板边的距离为5mm;
5.贴装元件焊盘的外侧与相邻插装元件的外侧距离大于2mm;
6.金属壳体元器件和金属件(屏蔽盒等)不能与其它元器件相碰,不能紧贴印制线、焊盘,其间距应大于2mm。定位孔、紧固件安装孔、椭圆孔及板中其它方孔外侧距板边的尺寸大于3mm;
7.发热元件不能紧邻导线和3.png
热敏元件;高热器件要均衡分布;
8.电源插座要尽量布置在印制板的四周,电源插座与其相连的汇流条接线端应布置在同侧。特别应注意不要把电源插座及其它焊接连接器布置在连接器之间,以利于这些插座、连接器的焊接及电源线缆设计和扎线。电源插座及焊接连接器的布置间距应考虑方便电源插头的插拔;
9.其它元器件的布置:
所有IC元件单边对齐,有极性元件极性标示明确,同一印制板上极性标示不得多于两个方向,出现两个方向时,两个方向互相垂直;
10、板面布线应疏密得当,当疏密差别太大时应以网状铜箔填充,网格大于8mil(或0.2mm);
11、贴片焊盘上不能有通孔,以免焊膏流失造成元件虚焊。重要信号线不准从插座脚间穿过;
12、贴片单边对齐,字符方向一致,封装方向一致;
13、有极性的器件在以同一板上的极性标示方向尽量保持一致。
