“如何能实现在中断子程序里延时一定时间后才返回到主程序”
虽然我不清楚你为什么要这么做,但既然你是这样提的就一定有你的理由,所以我们还是从PLC的工作原理说起,当扫描到子程序里面,无论子程序有多复杂,总是扫描一遍后就回到主程序直到主程序结束,这就是一个扫描周期,所需的时间大概是毫秒级,然后对输出刷新再读取输入影像重新开始扫描;你想在子程序里多停留一段时间,无论用什么定时器都不能阻止其从子程序正常返回,所以必须用强制手段,在子程序中让它扫描到某一步时又GOTO到某个起点,如此反复形成循环,在循环中构建你的判断条件,条件满足后就退出循环继续往下扫描,这样就能实现你的愿望但是势必大大延长了扫描周期,所以必需要在循环时喂狗否则PLC就出错。
这个办法对任何PLC都通用,值得注意的是,在一个扫描周期未结束之前,PLC对所有的输入端口状态变化均“视而不见”,所有的输出端口状态都被“冻结”!在应用中必须要清醒地意识到这一点。
12-03-14 10:51