找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
方法:
1)自己根据数据长度,用指针偏移方式,将数据传送;
2)利用表格指令AD_T_TBL传送到存放地址。
补充问题回复:
我之前在论坛有一贴,你参考一下:
LD M0.0 //记录数据标志位
EU //上升沿触发
LPS
AB>= VB30, 10 //如果数据记录大于了10次,则重新清空数据,等待下一次记录开始
MOVB 0, VB30 //清空记录数据次数的存储器
-D 10, AC1 //指针地址返回
LRD
AB= VB0, 0 //第一次数据记录开始
MOVD &VB10, AC1 //创建一个指针起始地址VB10
FILL 0, VW10, 5 //清空自VB10~VB19存储器数据
LPP
MOVB VB0, *AC1 //将VB0的数据存放到VB10
+D 1, AC1 //指针向下移动一个字节
INCB VB30 //数据次数记录存储器
对这些指令不熟悉的话,可以去查看帮助怎么使用
补充问题回答:如果填表指令你使用会出错,你有没有详细分析一下程序是否不合理造成。如果你觉得填表指令不可靠的话,那你就用间接寻址指令来完成,下面链接里面有例程你可以参考一下如何使用间接寻址指令。
S7-200 SMART 间接寻址:
http://www.ad.siemens.com.cn/productportal/prods/s7-200-smart-portal/200smarttop/programming/indirect_addressing.html
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!