找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
如果要操作多重背景数据快的DB,那么就必须使用指针的编程方式。具体的使用基于地址寄存器的区域间寻址方式。
例如,当创建一个通用的FB1时,此时在STAT变量处定义为2个变量Stat1,Stat2。其中Stat1变量为DWORD,Stat2变量为WORD,这里我们把0分配给Stat2。
在FB1中使用
TAR2 //保存地址寄存器AR2到累加器1中,此目的就是为了不要更改AR2的内容。
T #Stat1 //保存AR2的内容。
L 16#FFFFFF //导入双字00FFFFFF到累加器1中。
AD //计算AR2 & 00FFFFFF,目的去掉间接寻址的区域标识,其结果就是该背景数据块的首地址。
L P##Stat1 //导入Stat1的地址到累加器1中,该地址是STAT变量在FB中的偏移地址。
+D
LAR1 //相加的结果到AR1中得到Stat1的绝对地址。
L 16#0
T W[AR1,P#2.0] //这样就把0分配给Stat2。
..........................
LAR2, #Stat1 //编程完毕后需要还原AR2的内容。
当该FB1被用作另一个FB2中STAT的一个FB的数据类型时,使用该操作从道理上是一样。那么此时根据情况不需要在FB1中编写指针编程方式,只需要在FB2中编写指针寻址方式,寻址你要操作的地址。
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城