ABB全新YB560103-AE DSQC 204
冗余模块,电源模块,继电器输出模块,继电器输入模块,处理器模块。
CompactLogix:1769/1768系列Logix5000: 1756/1789/1794/1760/1788系列 PLC-5: 1771/1785 系列
其中时序图说明如下:
(1)中断开销时间=3~4TCY,取决于是单周期还是双周期指令,这里的TCY为指令周期
(2)CLKOUT信号仅在RC振荡器下有效。
(3)INTF标志可在Q4~Q1期间的任何的时候把其置成高电平。
如果正当全局中断允许位GIE清零(禁止中断)时发生中断,GIE位可能会被用户的中断服务程序(RETFIE指令)无意地重新开放,能引起该事件发生有以下情况:
1. 在一个中断被响应时执行一条对GIE位置1的指令;
2. 程序正在转向中断矢量并执行中断服务程序;
在执行中断返回指令RETFIE后中断服务程序完成。这将引起GIE位被置1(开放中断)并且程序返回一条指令,而这条指令的下一条指令将禁止中断。
要确保整个中断被禁止的方法是通过以下程序代码使GIE位清零:
loop BCF INTCON,GIE
BTFCS INTCON,GIE
GOTO loop
3.多路中断处理技术
以上方法不能解决多路中断问题,因此有必要具体分析一下当***坏的情况发生时,即多路中断同时出现时的中断处理过程。
怎样出现的中断才能称为"多路中断同时出现"呢?通过上面的时序图,可以得出这样的结论:
(1)当一个中断产生时,在一个周期范围内必然产生一个中断标志,由此触发全局中断禁止位。(2)判断中断的类型就是判断其对应中断的标志位。
(3)在***个诱发中断源产生中断时开始,到中断程序执行完成的范围内,如果有其它中断发生,那么都称为"多路中断同时出现"。
要处理多路中断问题,中断处理程序的算法大体上可以分为两类:弱中断优先级(使用CALL和RETURN方式)和强中断优先级(使用GOTO方式)。其程序结构图如下:
设第n个子程序的运行时间为Rn;同一个中断源的两次中断***小时间间隔In,在中断处理程序结构1中,中断1,中断2,中断3的优先权级为中断1>中断 2>中断3,这种方法在