在编写程序时,有的程序段需要多次重复使用。这样的程序段可以编成一个子程序,在满足执行条件时,主程序转去执行子程序,子程序执行完毕后,再返回来继续执行主程序。
另外,有的程序段不仅需多次使用,而且要求程序段的结构不变,但每次输入和输出操作数不同。对这样的程序段也可以编写成一个子程序,在满足执行条件时,主程序转去执行子程序,并且每次调用时赋予该子程序不同的输入和输出操作数,子程序执行完毕再返回去继续执行主程序。
1.指令格式及功能
子程序操作指令有两条:子程序调用指令和子程序返回指令,其指令格式及功能见表5-4。
表5-4 子程序操作指令格式及功能
2.指令说明
1)子程序的调用由在主程序内的调用指令完成。子程序由子程序标号开始,到子程序返回指令结束。n为程序标号,范围为0~63。
S7-200 PLC的STEP7_Micro/WIN编程软件为每个子程序自动加入子程序标号和无条件子程序返回指令,无需编程人员手工输入。如果需要在子程序执行过程中满足一定的条件就跳出子程序,也可以在子程序中添加有条件子程序返回指令,从而由判断条件决定是否结束子程序调用。(www.daowen.com)
2)如果在子程序的内部又对另一个子程序执行调用指令,则这种调用称为子程序的嵌套。子程序嵌套的深度最多为8级。
3)对于带参数的子程序调用指令应遵守下列原则:参数必须与子程序局部变量表内定义的变量完全匹配;参数顺序应为输入参数最先,其次是输入/输出参数,最后是输出参数;各子程序调用的输入/输出参数的最大限制是16个。
4)累加器可在调用程序和被调用子程序之间自由传递,所以累加器的值在子程序调用时既不保存也不恢复。
3.应用示例
【例5-4】子程序应用示例。
如图5-4所示,主程序在首次扫描时,调用子程序0,执行初始化操作;子程序中,如果M14.3闭合,则返回主程序。
图5-4 子程序应用
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。