西门子300PLC两个数据块之间数据的传输

在DB10中存放四个REAL型数据,因为采集数据的程序一直在运行,所以这四个数据是不断变化的。现在将DB10中的数据传到DB8中定义的一个REAL型数组中ARRAY[0..1800],现在出现的问题是DB10.DBD0,DB10.DBD4,DB10.DBD8,DB10.DBD12的值只是传到DB8.DBD0,DB8.DBD4,DB8.DBD8,DB8.DBD12但是DB8.DB16及以后数据都是0.
程序如下:
OB100中:
L 0
T MD8
OB35中:
CALL FC10
FC10中:
      L     0
      T     MW    12
      T     MD     4
      OPN   DB    10
      OPN   DI     8
      L     4
NEXT: T     MW    10
      L     DBD [MD 4]
      T     DID [MD 8]
      L     MD     4
      L     P#4.0
      +D    
      T     MD     4
      L     MD     8
      L     P#4.0
      +D    
      T     MD     8
      L     MW    12
      LOOP  NEXT

问题补充:
我的意思是,DB10中显示的是四个变量的过程值,DB8中存放1800个数据,是历史数据,也就是说是以前时刻采集到的各个值。还劳烦各位帮忙看看程序!万分感谢!

最佳答案

http://www.ad.siemens.com.cn/club/bbs/post.aspx?b_id=4&a_id=1012626&s_id=0&num=19#anch看看这个吧,我做的先入先出队列数据处理过程

提问者对于答案的评价:
谢谢各位的回答!问题已解决,修改OB35的中断时间。

专家置评

已阅,最佳答案正确。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日
下一篇 2020年10月31日

相关推荐