关于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日
下一篇 2020年11月1日

相关推荐

  • TD400C问题

    问题补充:如何用TD400C改变程序中的时间变量。比如说用T37控制上升时间,  在文本向导中写入上升时间文本,插入PLC数据VW1000,用MOVW指令将T3…

    SIMATIC S7-200 2021年7月5日
  • S7-200输入指令问题

    你好,S7-200输入和输出触点 可以设置同三菱和欧姆龙PLC一样吗,直接输入LD指令就可以形成,输出直接就输入OUT,不需要再按F4,再选择指令,这样很麻烦啊,谢谢 问…

    SIMATIC S7-200 2017年12月2日
  • WinCC检测与PLC的通信问题

    我用WinCC检测上位机与PLC的通信状态(以太网),刚启动WinCC时通信正常,我拔出网线,这是通信断开,按道理WinCC画面上的输入输出域应该立刻变为灰色,为什么在拔下网线后总…

    SIMATIC S7-200 2020年11月5日
  • 关于顺序流程图

    在做顺序流程图,发现步上面还有一个条件才能输出,可是我看别人的顺序流程图,步后面就直接输出,这条件怎么加啊,有大神看图帮我解释一下吗 问题补充:感觉没说清楚,我又补充了一张图2,就…

    2017年5月29日
  • AI 8xU/I HS 高速模拟量输入模块干扰如何消除

    由于需要更换以前的标准模块为AI 8xU/I HS告诉模块,更换模块以后,电压型输出的电阻尺接入到该模块的通道,在设备不做任何动作的情况下,电阻尺的输入值在程序…

    SIMATIC S7-200 2021年7月5日
  • CPU224XP V存储区地址不能写入

    如图所示,VD672是触摸屏上压力传感器量程设定值的写入地址,设定数值后触摸屏显示的是所设定的值,但在线监控程序时VD672地址的值是0。PLC断电重启后,触摸屏上的设定值又变为0…

    2021年7月5日
  • S7 200 后面挂 EM277 直接挂PLC后面 和挂扩展I\O后面 有区别没?

    S7 200  后面挂 EM277   直接挂PLC后面 和挂扩展I\O后面 有区别没?&…

    SIMATIC S7-200 2020年11月1日
  • 2个s7-200之间要用Em277完成通讯

    碰到这样一种情况,一个s7-200plc(定义为a号plc)的485通讯口已经被占用和触摸屏通讯了,现在另一个s7-200plc(定义为b号plc)要和a号plc通讯,读a号里的开…

    SIMATIC S7-200 2020年11月5日
  • 本扫描周期的值与上一个扫描周期的值如何进行比较

    如题:本扫描周期的值与上一个扫描周期的值如何进行比较,即上次给50,下次给60,实际上给10就OK乐,那个50的数值怎么捕捉? 问题补充:最好帮简单的写下此断程序 最佳答案 很简单…

    SIMATIC S7-200 2020年11月1日
  • WINCC flexible 报警疑问?

    WINCC flexible 离散报警的思路和PRTOOL一样吗,报警编辑器中的编号和触发变量是什么意思? 比如程序里I0.0为电机故障报警,应该如何…

    SIMATIC S7-200 2021年7月5日