回复:smart200指针能不能操作位?

已锁定

rewgb

  • 帖子

    65
  • 精华

    0
  • 被关注

    1

论坛等级:侠客

注册时间:2017-03-06

普通 普通 如何晋级?

发布于 2021-05-07 15:05:22

12楼

这个基本上懂了    大概就是:    (举例:起始字节QB0  ; 偏移地址LW1=16#0103,也就是Q1.3)

    第一步:指针化起始字节(这里是QB0--P0); 

                 举例中起始字节QB0

    第二步:指针化偏移地址(这里是LB1--P1_D)+指针化的起始字节(P0)=指针目标字节(P1);                                 举例中偏移地址是1+起始字节0(P0)=指针目标字节1(P1)也就是QB1

    第三步:将对应的QB字节(P1)传送到缓存字节中Out_B(QB1的缓存区)中; 

                  举例中Out_B (QB1的缓存区)=0000 0000    举例要移动的位为红色,第3位

    第四步:将要操作的位(也就是LB2=3)做为移位的位数移至最低位:  

                   举例中Out_B (QB1的缓存区)=0000 0000

    第五步: 将缓存区最低位置1:

                   举例中Out_B (QB1的缓存区)=0000 0001

    第六步: 将置1的最低位移按照LB2回至开始的位置;

                   举例中Out_B (QB1的缓存区)=0000 1000

    第7步:  将Out_B(QB1的缓存区) 映射到QB1(实际地址)

                   举例中Out_B (QB1的缓存区)=0000 1000  = QB1=0000 1000。

这样理解对吗?


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9023条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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