PLC中使用移位指令是如何实现移位动作的?

假设用PLC和一个私服电机 要想通过移位指令来实现 那么该怎么做 请详细明了的说明一下 下图是我在一个设备上看到的 不大明白指令是怎么用的 请高手指教 它所控制的就是一个私服电机 每次旋转角度 45度

左移运算将一个二进制位的操作数按指定移动的位数向左移动,移出位被丢弃,右边移出的空位一律补0。右移运算将一个二进制位的操作数按指定移动的位数向右移动,移出位被丢弃,左边移出的空位一律补0,或者补符号位,这由不同的机器而定。在使用补码作为机器数的机器中,正数的符号位为0,负数的符号位为1。

在移位运算时,byte、short和char类型移位后的结果会变成int类型,对于byte、short、char和int进行移位时,编译器未做任何优化的情况下(优化后不可预期),规定实际移动 的次数是移动次数和32的余数,也就是移位33次和移位1次得到的结果相同。

移动long型的数值时,规定实际移动的次数是移动次数和64的余数,也就是 移动66次和移动2次得到的结果相同。



扩展资料

移位指令一般格式:移位操作符(如SHR) OPR、CNT。其中OPR用除立即数外的任何寻址方式。移位次数由CNT决定,在8086中可以是1或CL,CNT为1时只移一位;如果需要移位的次数大于1时,需要先将移位次数存入CL寄存器中,而移位指令中的CNT写为CL即可。

在其他机型中可使用CL和CNT,且CNT的值除可用1外,还可以用8位立即数指定范围从1到31的移位次数。

参考资料来源:百度百科-移位指令

参考资料来源:百度百科-移位运算符

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-24
字节移位指令一共有四个
循环右移、循环左移、右移、左移
循环移位指令(左、右)八个位是循环移动的
也就是说循环左移1位就是向左移动1位 最高位移到最低位处
循环右移1位相应的位向右移动1位最低位移到最高位
例如:11000010 》》》循环右移1位》》》01100001
11000010 》》》循环左移1位》》》10000101

右移1位:也就是说相应的位都右移1位 最低位消失 最高位补0
左移1位:也就是说相应的位都左移1位 最高位消失 最低位补0
例如:11000010》》》左移》》》》》10000100
11000010》》》右移》》》》》01100001
代号直接看西门子就是了
满意请及时加分 谢谢
追问

你说的这些我全都懂 我主要不知道 它是怎么实现移位的 还有你那个二进制的数怎么来的 DATA代表的是什么 要输入什么 S_BIT代表的是什么 要输入什么 N代表什么 要输入什么 请讲细致一点 你说的二进制数字移位 和循环移位 我也会 但是 起到了什么作用呢 请说明下

本回答被提问者采纳
相似回答