依次

请教。我用定时器,每增加2秒把一组固定的数据依次送到另一组地址依次递增的寄存器里去,除了依次逐条写块传送程序以外,有没有更简单的方法来完成?比如我把4.9.7.这三个数按时间递增逐次送到VW200-vw600里,每次按3个数据为一组用块传送指令送,直到结束。谢谢!

问题补充:
你好,这三个数据是同时产生的。

最佳答案

看了你的描述,你说的3个数据,按时间间隔方便写入到地址VW200开始的连续地址中,请问这3个源数据是同步产生的?还是有间隔?
如果有间隔,这个好办。如果没有间隔,是随机数据?3个数据是如何产生的,这个是问题的关键。
我在论坛上有一个外部控制数据存储的贴子,存储可以参考,http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1395477&b_id=64&s_id=83&num=11#anch
补充问题回复:
如果是同时产生的,那么,可以指定3个数据的通道指定进行数据存放。如数据1存放在通道1,数据2存放在通道2.
其中一个通道程序:
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                        //数据次数记录存储器
/////////////////////
利用比较指令判断前一个数据的不等于,则启动M0.0

提问者对于答案的评价:
谢谢。

最佳答案作者回复:
例子如果实际应用需要修改:
1)记录次数;(例子10次)
2)记录数据类型;(例子是字节byte)

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc361310.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日
下一篇 2021年7月5日

相关推荐

发表回复

登录后才能评论