【摘要】:1.子程序CALL指令西门子S7-200 PLC为了解决主程序语句过多的问题,通常可以采用“调用子程序指令”将控制转换给子程序。
1.子程序CALL指令
西门子S7-200 PLC为了解决主程序语句过多的问题,通常可以采用“调用子程序(CALL)指令”将控制转换给子程序(SBR_n)。用户可以使用带参数或不带参数的“调用子程序"指令。如图4-9所示为CALL语句。
在子程序完成执行后,控制返回至“调用子程序”之后的指令。每个子程序调用的输入/输出参数最大限制为16。如果下载的程序超过此限制,则会返回错误信息。用户可以为子程序指定一个符号名,例如USR_NAME,该符号名会出现在指令树的“子程序"文件夹中。
将参数值指定给子程序中的局部内存时应遵循以下几点:
1)参数值指定给局部内存的顺序由CALL指定,参数从Lx.0开始。
图4-9 CALL语句
图4-10 子程序调用说明
2)1~8个连续位参数值被指定给从Lx.0开始持续至Lx.7的单字节。
3)字节、字和双字数值被指定给局部内存,位于字节边界(LBx、LWx或LDx)位置。
4)在带参数的“调用子程序”指令中,参数必须与子程序局部变量表中定义的变量完全匹配。
5)参数顺序必须以输入参数开始,其次是输入/输出参数,然后是输出参数。(www.daowen.com)
2.CALL调用示例
需要注意的是,在西门子S7-200 PLC程序中,不使用RET指令终止子程序,也不得在子程序中使用END(结束)指令。
图4-10所示为子程序的调用说明,其中箭头所指语句不用编程,由STEP7-Micro/WIN自动处理。
图4-11所示为子程序调用示例。
用于SBR_0的局部变量表。
图4-11 子程序调用示例
a)变量定义 b)主程序
从图中可以调用参数类型见表4-2。
表4-2 可以调用的参数类型
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
有关西门子S7 PLC应用简明教程的文章