1.程序家族有哪些成员?WWW_PLCJS_COM-PLC-技.术_网
PLC的控制程序一般由主程序、子程序和中断程序组成。西门子的S7-300/400将子程序分为功能(Function,或称为函数)和功能块(Function Block)。WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
在每一个扫描循环周期,CPU都要调用一次主程序,用户程序必须有一个并且只能有一个主程序。小型控制系统可以只有主程序。WWcW_PLCJS_COM-PLC-技.术_网
中断程序用于快速响应中断事件。在中断事件发生时,CPU将停止执行当时正在处理的程序或任务,去执行用户编写的中断程序。执行完中断程序后,继续执行被暂停执行的程序或任务。WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
2.哪些情况需要使用子程序?WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
当系统规模很大、控制要求复杂时,如果将全部控制任务放在主程序中,主程序将会非常复杂,既难以调试,也难以阅读。使用子程序可以将程序分成容易管理的小块,使程序结构简单清晰,易于调试、查错和维护。WWcW_PLCJS_COM-PLC-技.术_网
子程序也可以用于需要多次反复执行相同任务的地方,只需要编写一次子程序,别的程序在需要的时候多次调用它,而无需重写该程序。WWW_PLCJS_COM-PLC-技.术_网
3.怎样调用子程序?WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
主程序可以调用子程序,子程序也可以嵌套调用别的子程序。嵌套调用的层数是有限制的,例如S7-200的最大嵌套深度为8级。WWW_P※LCJS_COM-PLC-)技.术_网
执行完子程序后,返回调用它的程序中的调用指令的下一条指令。WWW_P※LCJS_COM-PLC-)技.术_网
4.每个扫描周期都会执行子程序吗? WWW_PLC※JS_COM-PmLC-技.术_网
子程序的调用可以是有条件的,在被调用期间,每个扫描周期都要执行一次被调用的子程序。调用条件不满足时不会执行子程序中的指令,因此使用子程序可以减少扫描循环时间。plcjs.技.术_网
5.停止调用子程序后,子程序中的线圈处于什么状态?WWW_P※LCJS_COM-PLC-)技.术_网
停止调用子程序后,不再执行子程序中的指令。子程序中线圈对应的编程元件如果没有受到别的程序的控制,将保持子程序最后一次执行后的状态不变。即使控制这些线圈的触点的状态变化,该线圈对应的元件的状态也不会变化,因为这时根本就没有执行子程序中的指令。P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
6.怎样实现子程序的无条件调用?WW.W_PLC※JS_C,OM-PL,C-技.术_网
有的PLC的子程序调用指令不能直接接到左侧的垂直“电源”线上,需要通过触点电路来控制是否调用子程序,即子程序的调用是有条件的。可以用一直为ON的特殊位元件(例如S7-200的SM0.0或FX系列的M8000)的常开触点来实现子程序的无条件调用。