中断程序其实是子程序中的特殊的一种。两则都是程序调用,区别在于子程序是和PLC的扫描时间挂钩,如同你理解的那样。但是中断程序和PLC的扫描时间无关,可以随时触发调用。因为它们是调用1MS单位的时间继电器来触发中断,时间一到,不管主程序扫描到哪,立即调用执行中断程序,能最大限度的保证所处理的中断程序的时间的准确性,一般用于PID,编码器等对处理时间要求很严格的事件。
所以,如果中断事件对时间要求不高,也可以当成子程序来调用。
子程序是完成一定功能的指令,它必须被主程序(或子程序)调用是才执行,它不可打断其他指令的执行顺序,多个子程序并存时,按被调用的先后顺序执行。
中断程序则是中断源出发中断,向cpu发出中断请求,被允许后,cpu中止正在执行的程序,响应该中断要做的事情,完成后返回,cpu从被中断指令继续执行下面的指令。多中断源同时发出中断请求时,必须规定各中断的优先级,优先级高者先执行,不需被其它程序调用。