PLC基本指令:字左移与字右移SLW、SRW解析
需积分: 15 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提供移位状态的信息。
2019-09-23 上传
2019-10-18 上传
2021-01-08 上传
2023-03-31 上传
2024-11-01 上传
2024-08-15 上传
2023-12-19 上传
2024-10-30 上传
2024-10-30 上传
白宇翰
- 粉丝: 30
- 资源: 2万+
最新资源
- Raspberry Pi OpenCL驱动程序安装与QEMU仿真指南
- Apache RocketMQ Go客户端:全面支持与消息处理功能
- WStage平台:无线传感器网络阶段数据交互技术
- 基于Java SpringBoot和微信小程序的ssm智能仓储系统开发
- CorrectMe项目:自动更正与建议API的开发与应用
- IdeaBiz请求处理程序JAVA:自动化API调用与令牌管理
- 墨西哥面包店研讨会:介绍关键业绩指标(KPI)与评估标准
- 2014年Android音乐播放器源码学习分享
- CleverRecyclerView扩展库:滑动效果与特性增强
- 利用Python和SURF特征识别斑点猫图像
- Wurpr开源PHP MySQL包装器:安全易用且高效
- Scratch少儿编程:Kanon妹系闹钟音效素材包
- 食品分享社交应用的开发教程与功能介绍
- Cookies by lfj.io: 浏览数据智能管理与同步工具
- 掌握SSH框架与SpringMVC Hibernate集成教程
- C语言实现FFT算法及互相关性能优化指南