回复:关于OB35的循环调用问题

pkh2006

西门子1847工业学习平台

  • 帖子

    872
  • 精华

    11
  • 被关注

    130

论坛等级:奇侠

注册时间:2013-08-25

黄金 黄金 如何晋级?

发布于 2014-09-15 11:04:21

4楼

展开查看
以下是引用Zane在2014-09-13 21:27:40的发言 >2楼:自己做不好,不要胡乱误导别人。
以下是引用pkh2006在2014-09-12 15:09:02的发言 >1楼:必然啊,你本来应该...

引用1楼详细内容:

必然啊,你本来应该是想有95个变量存在DB1,然后它们总在变化,每个变量的累计值存入DB2的对应位置。但是如果是FB的话,就会将所有变量的变化都累计进去
不过DB2也应该不是一样的,应该是后一个比前一个多一点点
如果想完成多个累计的话,不如用FC,然后多次调用,累计值作为INOUT,如果非要用FB的话,需要很多的背景数据块,调用还麻烦

Zane版说的没错,我看了下Totalizer的源程序,确实没有指针保护,那样我们可以在程序中不使用AR2,FB不影响AR1
L P#0.0
LAR1
L 95
aaa: T #middle
OPN DB 1
L DBD [AR1,P#0.0]
T MD 10
CALL "Totalizer" , DB100
VALUE :=MD10
INTERVAL:=T#1M
CYCLE :=T#100MS
COM_RST :=M20.0
TOTAL :=MD30
L MD 30
OPN DB 2
T DBD [AR1,P#0.0]
+AR1 P#4.0
L #middle
LOOP aaa
但是这依然不能解决95个变量分别累计的问题
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。