找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
来自sunnic的回答,我保存下来的:
1200的FILL_BLK, RESET_BF的对象都要必需是array数组结构。如果要复位的数据区域是数组,那么直接用FILL_BLK, RESET_BF就可以了。
如果DB块内需要清零的数据不是数组结构的,那么只有使用类似指针的方式对数据进行清零。
1200本身没有指针,只能使用SCL语言里的PEEK,POKE指令达到指针的效果。
,
比如我写的下面这段程序:
IF #Clr_Error = TRUE THEN (* Clr_Error 是我设置的一个启动变量 *)
"Blank" = 0 (* "Blank":MW2 *)
POKE_BLK(area_src:= 16#83,
(* 源数据类型:16#81:I,16#82:Q,16#83:M,16#84:DB *)
dbNumber_src:= 0, (* 源数据块, 非DB=0 *)
byteOffset_src:= 2, (* 源数据起始位号 *)
area_dest:= 16#84, (* 目标类型:16#81:I,16#82:Q,16#83:M,16#84:DB *)
dbNumber_dest:= 11, (* 目标数据块:非DB=0 *)
byteOffset_dest:= 0, (* 目标起始位号:位号 *)
count:= 10); (* 长度 *)
END_IF;
这段程序的意思是,将MW2清零,然后把MW2复制到DB11.DBW0 开始的10个字节
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城