PLC(可编程逻辑控制器)中的子程序与主程序有以下主要区别:
功能和职责
主程序:是PLC控制系统的核心,负责整个系统的运行,包括启动、停止、调整温度、压力等。主程序通常在PLC内部存储卡中保存,并在PLC启动时自动加载。
子程序:是主程序中的一部分,用于完成特定任务。子程序可以重复使用,以便在需要时无需重新编写。子程序可以包含多个输入和输出,这些输入和输出可以与PLC内部其他模块进行通信。
调用方式
主程序调用子程序:子程序必须被主程序调用才执行,且不可打断其他指令的执行顺序。多个子程序并存时,按被调用的先后顺序执行。
中断程序:中断程序是子程序的一种特殊形式,与PLC的扫描时间无关,可以随时触发调用。中断程序用于处理对时间要求严格的事件,如PID控制、编码器等。
执行时机
子程序:执行时机由主程序决定,通常与系统的控制流程相关。子程序在主程序中被调用,并在完成特定任务后返回。
中断程序:中断程序由中断源触发,向CPU发出中断请求,被允许后,CPU中止当前正在执行的程序,响应中断任务,完成后返回。中断程序的优先级高者先执行。
结束方式
子程序:以RET指令结束,并且一般不需要清除中断优先标志位。
中断程序:以RETI指令结束,RETI指令除了将断点弹回PC外,还要清除对应的中断优先标志位,以便新的中断请求能被响应。
使用场景
子程序:适用于需要重复执行的任务,如函数、算法或特定的控制流程代码。
中断程序:适用于需要及时响应的外部事件或时间敏感的任务。
总结:
主程序是PLC控制系统的核心,负责整体控制,而子程序是主程序的一部分,用于完成特定任务。
子程序需要被主程序调用,按被调用的顺序执行,而中断程序可以随时触发,与扫描时间无关。
子程序以RET结束,中断程序以RETI结束,且中断程序需要清除中断优先标志位。
建议:
在设计PLC程序时,应根据任务的需求选择合适的程序结构。对于重复性任务,使用子程序可以提高代码的复用性。对于需要及时响应的事件,使用中断程序可以确保处理的及时性。