找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
temp5 any 0.0
temp6 int 10.0
temp7 int 12.0
AN #IN4
BEC //当#IN4为0时结束程序的执行,#IN4为1时程序继续执行
SET //置位RLO
L #IN3
T #TEMP7 //#TEMP7 =#IN3
L P##TEMP5
LAR1 //读取TEMP5的存储地址
L #IN1
SLW 3 // IN1的值左移动3位,是为了排除位地址的影响,只保留字节地址
T LD [AR1,P#6.0] // 将以上计算好的指针地址存到ANY指针对应的位置里
L B#16#10
T LB 0 // 组合ANY指针的第一个字节
L B#16#2
T LB [AR1,P#1.0] // 组合ANY指针的第二个字节,是以字节为单位
L #IN2
T LW [AR1,P#2.0] // 组合ANY指针的第二个字,代表数据的长度
L #IN0
T LW [AR1,P#4.0] // 组合ANY指针的第三个字,表示DB号
L B#16#84
T LB [AR1,P#6.0] // 因为这个ANY指针表示的是DB块数据,因此根据数据格式对指针的这个字节写入 L B#16#84
CALL "FILL" // 调用SFC21,将#TEMP7的值写入指针对应的地址里
BVAL :=#TEMP7
RET_VAL:=#TEMP6
BLK :=#TEMP5
这段程序的大概意思就是根据IN1,IN2和IN0输入的数据组合成一个ANY指针,然后IN3的数据写入到这个指针对应的区域里,IN1代表的是起始地址,IN2是长度,IN0是DB号,
要明白这段程序,先要了解间接寻址的应用,然后是ANY指针的数据结构。
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
专家置评
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城