PLC基本指令:字左移与字右移SLW、SRW解析

需积分: 15 2 下载量 128 浏览量 更新于2024-08-25 收藏 1019KB PPT 举报
"本文主要介绍了PLC中的字左移和字右移指令,包括SLW和SRW,以及它们在不同数据类型上的应用。移位指令适用于无符号数的处理,涉及移位数据存储单元的移出端与SM1.1(溢出)的连接,移位时移出位进入SM1.1并自动补0,同时影响特殊存储器位SM1.0(零)和SM1.1(溢出)。" 在PLC编程中,字左移和字右移指令是用于处理数据位移的操作,这对于在数字量输出点对应多个状态的情况非常有用。这些指令包括SLW(字左移)和SRW(字右移),它们可以应用于字节型、字型和双字型的数据。 1. 字节左移和字右移指令(SLB, SRB) - SLB指令用于将字节输入数据向左移位N位,结果输出到指定的字节存储单元,最大移位次数为8。例如,SLBMB0,2将MB0中的数据左移2位。 - SRB指令相反,将字节输入数据向右移位N位。例如,SRBMB0,3将MB0中的数据右移3位。 - 移位过程中,SM1.1保存最后一次移出的位,SM1.0在数据变为0时自动置位。 2. 字左移和字右移指令(SLW, SRW) - SLW指令用于对字型数据进行左移,最大移位次数可达16位。例如,SLWMW0,2将MW0中的数据左移2位。 - SRW指令则用于字型数据的右移,同样最大可移位16位。如SRWLW0,3将LW0中的数据右移3位。 - 这两个指令的执行情况与SLB和SRB类似,移位数据的移出端连接到SM1.1,移出位进入SM1.1,另一端补0。 需要注意的是,移位指令只对无符号数进行操作,不考虑数据的实际值。移位次数N必须是字节型数据,若超过数据位数,超出部分的移位无效。当使能流输出ENO断开时,可能存在错误条件,比如SM4.3(运行时间)或0006(间接寻址)。 举例说明,如表5-12所示,对于字左移指令SLB,MB0中的数据10110101左移1位后变为01101010,左移2位后变为11010100,移出的位依次进入SM1.1,而右端补0。同样,对于字右移指令SRW(如表5-13所示),LW0中的数据1011010100110011右移1位后,高位的1进入SM1.1,低4位补0,右移2位则高位的1和0依次进入SM1.1,其余位补0。 总结来说,PLC中的字左移和字右移指令提供了灵活的数据处理方式,对于处理位序列和逻辑操作特别有用,它们可以改变数据的位布局,并通过SM1.0和SM1.1提供移位状态的信息。