S7-1200/S7-1500 在V14 SCL中的新功能:递归

已锁定

pkh2006

西门子1847工业学习平台

  • 帖子

    872
  • 精华

    11
  • 被关注

    130

论坛等级:奇侠

注册时间:2013-08-25

黄金 黄金 如何晋级?

S7-1200/S7-1500 在V14 SCL中的新功能:递归

9158

23

2017-01-25 14:38:37

star star star star

 

递归,就是在运行的过程中调用自己。


构成递归需具备的条件:

1. 子问题须与原始问题为同样的事,且更为简单;

2. 不能无限制地调用本身,须有个出口,化简为非递归状况处理。

典型的递归:阶乘、斐波那契数列、汉诺塔、排序

以上来自百度百科。


-------------------------------------------------分隔符---------------------------------------------------------------

在V14的SCL中,S7-1200 (V3.0及其以上)/S7-1500(不包括S7-300/S7-400)的FC/FB开始支持,调用深度限值为24级,且不支持多重背景。(在之前的版本包括STEP7只是LAD/STL支持递归。)

个人认为用FC,配合RETURN做比较简单,类似于高级语言的编程,这个FB的递归,很难想象如何使用,等待高手的解惑。

 

但是对于S7-1200,嵌套深度:

16(从程序循环 OB 或启动 OB 开始); 

6(从任意中断事件 OB 开始)

所以S7-1200递归的调用深度也只有16级。


举个简单的阶乘例子:

S7-1200的DINT/UDINT最大只支持12!,所以整数阶乘程序只能计算到12!

 

还有需要注意的:

1.     更改调用环境监视也只能监视到跳出条件,看不到中间过程。

2.     修改该块引脚下载,需要停止CPU,CPU认为修改块过多。


 

 

S7-1200/S7-1500 在V14 SCL中的新功能:递归 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15100条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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