西门子DP电缆代理商|驱动器代理商
中断是 CPU 停止当前的任务转而去执行其他任务的过程。中断执行前CPU 会对当前的执行环境进行保留(保存现场),当中断处理完成后,会恢复现场以继续执行之前的任务。中断机制是一种非常的机制,它既能保证一些重要事件发生后 CPU的及时处理,又保证事件未发生时 CPU 不浪费宝贵的运行资源去反复监测事件。
S7-200 SMART 系列 PLC 的 CPU 具有中断功能,用于实时控制、高速处理、网络通信及一些特殊控制任务的处理。引起中断的事件有很多种类,S7-200 SMART CPU 多支41 个中断事件(其中2个为预留),分为三大类:通信中断、输入/输出(I/O)中断和时间中断。
中断事件具有不同的**级。S7-200 SMART规定中断**由高到低依次是:通信中断、I/O 中断和时间中断。当 CPU 刚进人运行模式时,默认情况下所有中断都是被禁止的。
中断使能指令 ENI 可以在全局范围内使能所有中断。中断禁用指令 DISI 可以在全局范围内禁用所有中断(已经的中断仍然在队列中)。中断返回指令 RETI 可以有条件地从中断子程序中返回。
中断子程序是处理中断事件的程序代码。当中断事件发生后,CPU的操作系统会调用相应的中断子程序对中断进行处理。但是,中断事件是怎样跟中断子程序联系起来的呢?这就需要用到中断连接指令(ATCH)。ATCH 指令将中断事件和中断子程序相关联并使能中断事件。ATCH 指令有两个参数:INT 和 EVNT。INT 是中断子程序的名称;EVNT 是中事件的编号。如图 3-148 所示代码是在 CPU的一个扫描周期,将中断事件9(端口0发完成)与中断子程序(INT_ 0)相联系。
图 3-148 中断连接指令示例
除了中断连接指令,还有中断分离指令(DTCH)和中断事件移除指令(CLR EVNT)。DTCH 指令将中断事件和中断子程序分离,并使该中断事件失效。DTCH 指令只有一个参数,即 EVNT,表示中断事件的编号。
中断分离指令示例如图 3-149 所示。当检测到 I/O 错误时,禁用 I0.3 的上升沿中断。
图 3-149 中断分离指令示例
CLR EVNT 指令可以从中断队列中移除特定类型的中断事件。CLR EVNT 指令只有个参数,即 EVNT,表示中断事件的编号。中断事件移除指令示例如图 3-150 所示,将中断事件 17(HSC2方向改变)移除。
图3-150 中断事件移除指令实例
浔之漫智控技术(上海)有限公司专注于西门子等