回复:关于FB中变量最终的绝对地址计算方法的问题

幸福的方向

  • 帖子

    227
  • 精华

    0
  • 被关注

    16

论坛等级:侠士

注册时间:2010-04-11

普通 普通 如何晋级?

发布于 2017-01-08 09:56:29

2楼

展开查看
以下是引用飞天玉虎在2017-01-08 08:45:47的发言 >1楼

如果"AR2"里的地址大于 P#DBX4095.7,第二种方法就有问题了。

   认同你说的。关键是对+ar1这条指令的理解:加一个偏移量(要么是指令声明中的,要么是累加器1低字中的)到ar1中。意思是偏移量再加ar1中原有内容=新的ar1的内容。尽管它会将16位扩展为24位,但它最初只取了ACCU1的低字,19位中最高3位是没有取进来的,这样作为字节的地址只有13位,最大好像是8191.7

    另外,程序一里面:拿出来过滤的地址是不是错了,该:Tar2;  L DW#16#7FFFF; AD;再加回AR1. 

    哪位朋友上个中文版的:+AR1说明可能看得更清楚。

    没用FB试过,若自己建FB实验,是不是FB中变量也必须是pointer或ANY类型。另外,是不是还必须多重背景的FB才行? 这个不是很清晰,望路过的大侠指点一下。谢谢

雨过分洼种瓜,旱时饮水浇麻。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54810条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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