
通俗点说,我们将PLC的程序比喻用高级语言编写的程序,PLC的程序是始终在循环语句中执行,子程序调用当做条件判断语句IF-then-endif。X就是IF,当条件判断语句X为真时,then之后的语句被执行,此时执行的语句就是调子程序那段语句P0,子程序在高级语言中可以嵌套在这个位置中(但PLC基本结构不支持,所以就封装好放在循环位置之外)。执行完成后endif跳出,到Y9。。。一直到FEND;X为假时,由于没有else所以直接从endif跳出。执行下条语句,Y9。。。一直到FEND
STEP7-Micro/Win在程序编辑器窗口中为每个POU提供单独的页面。主程序总是第1页,后面是子程序或中断程序。由于每个程序在编辑器窗口中是分开的,所以编译时会在程序末尾自动添加无条件结束指令或无条件返回指令,用户程序只能使用条件结束指令和条件返回指令。
通常,具有特定功能和多种用途的程序段被视为子程序。子程序可以多次调用、嵌套(最多8层)或递归调用(自己调用)。有两种指令:子程序调用和子程序返回。子程序返回分为条件返回和无条件返回。子程序调用指令用于主程序或其他调用子程序的程序,子程序的无条件返回指令在子程序的最后一个网段。梯形图指令系统可以自动生成子程序的无条件返回指令,无需用户输入。
子程序的调用是有条件的,不调用时子程序中的指令不会被执行,因此使用子程序可以减少扫描时间,使整个程序功能清晰,易于检查和维护,减少存储空间。为了移植子程序,应避免使用全局符号和变量,如V存储区的绝对地址。
在主程序完成前调用子程序CALL
P10
,
主程序结束
FEND
;在接下去的可在左母线的左空位置设置子程序标号P10
,作为子程序的入口,
在子程序的结尾使用SRET
;
通过PLC调用Fanuc机床的程序可以通过I/O编程来完成,在创建PLC程序时,将需要控制的I/O点联系到Fanuc控制器,然后通过PLC程序来控制I/O点,从而控制Fanuc机床的程序。此外,还可以通过用户程序和运动控制程序等方式来控制Fanuc机床。
连接时使用呼叫。调用P1后跳过主程序,先执行P1子程序,调用后返回主程序。P1作为指针存在。如果调用未接通,则不执行调用,直接执行主程序。调用程序可以嵌套,见下图。一个子例程可以调用另一个子例程。如图所示:
扩展资料:
1、能够设置不同类型产品的数量和位置参数,并能在线监控 *** 作过程;
2、该设备 *** 作灵活方便,可实现启停、自动和手动模式切换、计数和清零、气缸降压时间调整等功能;
3、螺杆重量自动卸料、送料、固定。一次由机器自动完成,无需人工协助;
4、高速生产节拍,单站速度可不低于1-1.5片/秒。定位精度高,定位误差不大于0.02mm。
参考资料来源:百度百科-三菱FX2NPLC指令应用详解
1)执行完一次返回,随后不调用
2)plc输出是在全部程序都走完之后统一输出的,所以不会
补充:
1)子程序会运行到第5部
2)子程序的顺序控制可能达不到预期目的,因为子程序里的输出在下一个周期不再执行扫描(调用条件消失)。每一步骤产生的结果能及时输出。
LZ的这个例子是一个典型的条件调用。但是条件调用一定要注意,该条件的有效性。最好是写在子程序里,别写在子程序的调用条件里。前不久我车间里的纯水系统就有这样一个问题。
分配系统的子程序的调用条件是制备系统OK的信号+软逻辑(触摸屏)来调用。
我的 *** 作人员在触摸屏上 *** 作启动分配系统运行,分配系统循环泵运行,5分钟左右,制备系统PH值报警,子程序调用条件消失。这时候分配系统的循环泵一直输出。不能停止
后来告之乙方设计人员程序中的问题,把制备系统OK的信号放到里分配系统的子程序里,而不作为调用条件。运行OK。
关于子程序调用,是禁止这样的条件调用的。可能会发生不可预料的后果。
以上就是关于一个关于PLC子程序调用和返回,求大神解答,好人一生平安啊全部的内容,包括:一个关于PLC子程序调用和返回,求大神解答,好人一生平安啊、plc1500几层子程序调用、三菱 PLC子程序怎么调用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)