关于CPU226带参数子程序调用的问题

第一次准备使用带参数子程序的调用有几个问题不明白,望众前辈们不吝赐教:
1.CPU226最多可以插入多个子程序?
2.CPU226做好子程序后,在主程序中最多可以被调用多少次?
3. 带参数子程序被多次调用时,对子程序有什么要求,我在200系统手册里只看到:当子程序在同一个周期内多次调用时,不能使用上升沿、下降沿、定时器和计数器指令这些介绍,我觉得说得还不够,因为我做了一个程序试过了,我发现要注意的问题很多。所以,谁能给我一些详细的关于带参数子程序调用的资料我研究研究。
4.比如说子程序运行结束后,要向输出参数传送的参数是不是要保持局部变量最后的输出状态?
5.还有一个问题,多次调用同一个子程序时,EN处的能流是不是可以全部同时使能?

最佳答案

1.CPU226最多可以插入多个子程序?
S7-200 CPU最多可以调用64个子程序(CPU226为128个).
2.CPU226做好子程序后,在主程序中最多可以被调用多少次?
如是非子嵌套调用,子程序可以被多次调用(没有限制);如是
嵌套调用,即子程序中再调用子程序,一共可以嵌套8层 
,即子程序中再调用子程序,一共可以嵌套8层 
3.
.子程序可以带参数调用,在子程序的局部变量表中设置参数的类型;一共可以带16个参数(形式参数)。
4..
子程序在调用时会保持当前的逻辑运算结果,但是不保存累加器(ACx)的内容 .
5.
可以。

S7-200子程序:
子程序可以把整个用户程序按照功能进行结构化的组织。一个“好”的程序总是把全部的控制功能分为几个符合工艺控制规律的子功能块,每个子功能块可以由一个或多个子程序组成。这样的结构也非常有利于分步调试,以免许多功能综合在一起无法判断问题的所在;而且,几个类似的项目也只需要对同一个程序作不多的修改就能适用。

.子程序在调用时会保持当前的逻辑运算结果,但是不保存累加器(ACx)的内容 
.子程序在执行到末尾时自动返回,不必加返回指令;在子程序中间也可以使用条件返回指令 
.子程序不能使用跳转语句跳入、跳出 
.子程序返回时,回到调用子程序的指令后面,继续执行上一级程序 
.S7-200 CPU最多可以调用64个子程序(CPU226为128个) 
.子程序可以嵌套调用,即子程序中再调用子程序,一共可以嵌套8层 
.在中断服务程序中不能欠套调用子程序,被中断服务程序调用的子程序中不能再出现子程序调用 
.子程序可以带参数调用,在子程序的局部变量表中设置参数的类型;一共可以带16个参数(形式参数)
相关资料:
<S7-200 可编程控制器系统手册>下载:
http://www2.ad.siemens.com.cn/download/Upload/AS/manual/1017[2].pdf
《西门子 S7-200•LOGO!•SITOP 参考》V0.94版(更新版)(2008.02.15)     下载:
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=A0136

提问者对于答案的评价:
说得很明白,我也明白了,多谢!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午4:20
下一篇 2020年11月1日 下午4:20

相关推荐