回复:怎样实现64位循环左移?(转)

www123456

西门子1847工业学习平台

  • 帖子

    2379
  • 精华

    87
  • 被关注

    68

论坛等级:至圣

注册时间:2005-09-14

钻石 钻石 如何晋级?

发布于 2011-04-09 16:40:16

38楼



符号:

格式:

参数 数据类型 存储器类型 描述
ER BOOL I、Q、M、L、D、常数 串行输入右移
EL BOOL I、Q、M、L、D、常数 串行输入左移
SR BOOL I、Q、M、L、D、常数 右移命令
SL BOOL I、Q、M、L、D、常数 左移命令
LO BOOL I、Q、M、L、D、常数 清除寄存器命令
MFL INT I、Q、M、L、D、常数 状态位的存储器字节
MBY1 INT I、Q、M、L、D、常数 移位寄存器的第一个存储器字节
MBI1 INT I、Q、M、L、D、常数 移位寄存器的第一个存储器位
MBYN INT I、Q、M、L、D、常数 移位寄存器的最后一个存储器字节
MBIN INT I、Q、M、L、D、常数 移位寄存器的最后一个存储器位
AR BOOL I、Q、M、L、D 串行输出右移
AL BOOL I、Q、M、L、D 串行输出左移
指令描述:

REG_SCHB指令(FC90)创建位宽为一的向右(左)可变长度移位寄存器。移位寄存器处于位存储区中,调用该功能时,将固定移位寄存器的第一个和最后一个存储器字节。
如果在输入端"右移"(SR)存在上升沿,即会将输入端ER的信息写入寄存器。同时右移寄存器中的各个位。寄存器最后一位的状态将由参数AR输出。
REG_SCHB需要位于存储器字节中的状态位来组织移位寄存器。通过输入参数MFL来指定该存储器字节的地址编号。
如果在输入端"左移"(SL)中存在上升沿,即会将输入端EL的数据写入寄存器。同时左移寄存器中的各个位。寄存器最后一位的状态将读出到输出AL。

如果是内部处理,功能REG_SCHB将使用数据块的数据字DW0和DW2。在调用该功能前,必须打开一个足够长的数据块。
清除移位寄存器后,将把寄存器的所有位存储区以及输出AR和AL都设置为"0"。

点击此处查看附件
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54650条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。