您现在的位置是:首页 > PLC技术 > PLC技术
S7 CPU硬件中断组织块
来源:艾特贸易2017-11-01
简介S7 CPU 提供硬件中断组织块 (OB40 ~ OB47) ,用于对模块(如信号模块 SM 、通信处理器 CP 和功能模块 FM )上的信号变化进行快速响应。 硬件中断被模块触发后,操作系统将自动识别是哪一
S7 CPU提供硬件中断组织块(OB40~OB47),用于对模块(如信号模块SM、通信处理器CP和功能模块FM)上的信号变化进行快速响应。
硬件中断被模块触发后,操作系统将自动识别是哪一个槽的模块和模块中哪一个通道产生的硬件中断。硬件中断组织块执行完后,将发送通道确认信号。
硬件中断组织块的默认优先级为16~23,用户可以设置参数改变优先级。如果在处理硬件中断的同时,又出现了其他硬件中断事件,新的中断按以下方法识别和处理。如果在处理某一中断事件时,又出现了同一模块同一通道产生的完全相同的中断事件,新的中断事件将丢失,即不处理它。在图4-46数字量模块输入信号的第一个上升沿时触发中断,由于正在用OB40处理中断,第2、3个上升沿产生的中断信号丢失。
图4-46硬件中断信号的处理
如果在处理某一中断信号时同一模块中其他通道产生了中断事件,新的中断不会被立即触发,但是不会丢失。在当前已激活的硬件中断执行完后,再处理被暂存的中断。如果硬件中断被触发,并且它的组织块中其他模块的硬件中断激活,新的请求将被记录,空闲后再执行该中断。
这里使用了两个0840的局部变量OB40_MDL_ADDR和OB40_POINT_ADDR,用于观
察中断是由哪个模块的哪个通道产生的。利用变量表监控程序的运行,如图4-50所示。MWO当前值为OOOD,它自动加1已经是13了,表示已经中断了13次;MW10为0000,表示这个硬件中断由起始地址为0的模块产生;MD12为3,表示由第3个通道产生,即I0.3的上升沿产生硬件中断。当然也可使用这个模块的其他通道,但是必须在图4-47所示组态时激活这些通道。
图4-49硬件中断程序0840
图4-50利用变量表监控程序的运行
若使用实际PLC模拟硬件中断,只要在对应模块的输入中给出上升沿脉冲即可。下面详细介绍在PLCSIM仿真软件中模拟硬件中断的方法。
硬件组态和软件程序下载到PLCSIM中后,将PLC的状态切换到RUN或RUN-P模式,用鼠标模拟产生I0.3的上升沿脉冲的方法是:打开菜单“Execute/Trigger Error OB/HardwareInterrupt(OB40-OB47) - -”,打开Hardware Interrupt OB对话框,如图4-51所示。文本框“Moduleaddress”和“Module statu”分别对应OB40的局部变量OB40_MDL_ADDR和OB40_POINT_ADDR,在这两个编辑框中分别输入0和3,再单击“Apply”按钮,就触发了指定通道(模块起始地址为0,通道号为3)的硬件中断,系统立即执行一次OB40,同时在“Interrupt”显示框内将自动显示出当前执行的硬件中断OB的编号40。可以修改两个编辑框,.再单击“Apply”按钮,就又一次触发了指定通道的硬件中断。单击“OK”按钮与单击“Apply”
按钮作用相同,并退出对话框。
图4-51 Hardware Interrupt OB对话框
点击排行
