理论教育 利用中断程序指令简化通信控制

利用中断程序指令简化通信控制

时间:2023-06-27 理论教育 版权反馈
【摘要】:利用接收和发送中断可简化程序对通信的控制。EVNT端口指定与中断程序相联系的中断源,即表4-12中的中断事件号。当EN条件满足时,单独截断一个中断源和所有中断程序的联系,并禁止该中断事件。在其逻辑条件成立时,结束中断程序执行,返回主程序中继续执行。例4-6:中断程序指令应用1如图4-50所示。若用DISI指令关闭所有中断,则中断程序不能被激活,但允许发生的中断事件等候,直到重新允许中断。

利用中断程序指令简化通信控制

中断是指系统暂时中断正在执行的程序,而转到中断服务程序中去处理急需处理的事件,处理后再返回到原程序执行,所以中断是由中断源和中断服务程序构成的。

中断源就是引起中断的原因,或者说,就是能发出中断请求信号的来源。S7-200系列PLC最多具有34个中断源,系统给每个中断源都分配了一个编号,称为中断事件号。不

同CPU模块可用的中断源有所不同,如图表4-11所示。

表4-11 不同CPU模块可用的中断源

1.中断的分类

34个中断源主要分为三大类,即通信中断、I/O中断、时基中断。

(1)通信中断。

PLC的串行通信口可由用户程序来控制。通信口的这种操作模式称为自由端口模式。在自由端口模式下,用户程序定义波特率、每个字符位数、奇偶校验通信协议。利用接收和发送中断可简化程序对通信的控制。通信口中断号有8、9、23~26。

(2)I/O中断。

I/O中断包含了上升沿或下降沿中断、高速计数器和脉冲串输出中断。S7-200 CPU可用输入点(I0.0~I0.3)的上升沿或下降沿产生中断,CPU检测出这些上升沿或下降沿事件,可用来指示某个事件发生时的故障状态。

(3)时基中断。

时基中断包括定时中断和定时器T32/T96中断。定时中断可以设置一个周期性触发的中断响应,通常可以用于模拟量的采样周期或执行一个PID周期。周期时间以1 ms为单位增量,周期可以设置为5~255 ms。S7-200系列PLC提供了两个定时中断,定时中断0和定时中断1。不同的是,定时中断0的周期时间值要写入SMB34,定时中断1的周期时间值要写入 SMB35。当定时中断被允许,则定时中断相关定时器开始计时,在定时时间值与设置周期值相等时,相关定时器溢出,开始执行定时中断连接的中断程序。每次重新连接时,定时中断功能能够清除前一次连接时的各种累计值,并用新值重新开始计时。定时器中断使用且只能使用1 ms定时器T32和T96,对一个指定时间段产生中断。T32和T96使用方法同其他定时器,只是在定时器中断被允许时,一旦定时器的当前值和预置值相等,则执行被连接的中断程序。CPU226中的中断事件及其优先级如表4-12所示。

表4-12 CPU226中的中断事件及其优先级

续表

续表

2.中断指令

(1)指令格式。

STL: ATCH INT,EVENT DTCH EVENT ENI DISI CRETI

LAD:(www.daowen.com)

(2)指令功能。

ATCH:中断连接指令。当 EN条件满足时,将一个中断源和一个中断程序建立响应联系,并允许该中断事件。INT端口指定中断程序入口地址,即中断程序名称。EVNT端口指定与中断程序相联系的中断源,即表4-12中的中断事件号。

DTCH:中断分离指令。当EN条件满足时,单独截断一个中断源和所有中断程序的联系,并禁止该中断事件。EVNT端口指定被禁止的中断源。

ENI:中断允许指令。在其逻辑条件成立时,全局地允许所有被连接的中断事件。

DISI:中断禁止指令。在其逻辑条件成立时,全局地禁止处理所有的中断事件。

CRETI:有条件中断返回指令。在其逻辑条件成立时,结束中断程序执行,返回主程序中继续执行。若要执行有条件中断返回的话,可由用户编程实现。

(3)指令应用。

例4-6:中断程序指令应用1如图4-50所示。

图4-50 中断程序指令应用1

例4-7:中断程序指令应用2如图4-51所示。

图4-51 中断程序指令应用2

例4-8:中断程序指令应用3如图4-52所示。

控制要求:I0.5闭合时,Q0.0被置位,同时建立中断事件0、2与中断程序INT_0、INT_1的联系,并全局开中断。在I0.0闭合时复位Q0.0,在I0.1闭合时复位Q0.1,同时切断中断事件与中断程序的联系。

图4-52 中断程序指令应用3

(4)指令说明。

① PLC系统每次切换到“RUN”状态时,自动关闭所有中断事件。可以通过编程,在“RUN”状态时,使用ENI指令开放所有中断。若用DISI指令关闭所有中断,则中断程序不能被激活,但允许发生的中断事件等候,直到重新允许中断。

② 多个中断事件可以调用同一个中断程序,但同一个中断事件不能同时连接多个中断服务程序。

③ 中断程序是由操作系统调用的,而子程序是由主程序调用的。

④ 中断程序的建立方法与子程序类似。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈