什么是硬件中断及其在 S7-300 中的处理过程?

说明:

在当前过程中可能发生这样的事件,它需要的响应时间要快于当前程序执行周期所能提供的时间, 还可能发生这样的事件,它的持续时间短的不足以在当前的程序执行周期内被识别出来,因此,在 S7-300 控制器以及以下模块中编辑了过程报警。n

  • 模拟量模块(AI)n
  • 数字量输入(DI) 和n
  • 功能模板 (FM)

过程报警能力,满足事件要求而被实时调用。
过程报警类似于中断。
本文为 S7-300 CPU 提供过程报警指南。n

概要:
如果在程序执行过程中触发报警事件,操作系统会调用 OB 40,来中断当前程序执行或者是中断低优先级的程序块处理。OB 40 的临时堆栈数据可以更加精确的指定一个或多个报警触发事件(可置位多个状态位),这些临时堆栈数据可以在报警 OB 块中通过用户程序评估。
如果在 CPU 中没有报警组织块 OB 40 存在,当报警事件触发时,CPU 会进入停机模式。报警组织块有一个固定的优先级设置 16。n

在不同模块中的过程报警触发事件:

模拟量模块:可以用过程报警监视模拟量输入模块中的某个值。当模拟量的值低于指定下限或高于指定上限的时候,过程报警可以被组态为在此时触发。有关各个模拟量输入模块的更多信息,请参见手册 "Programmable Logic Controller S7-300 Module Data" (可编程逻辑控制器 S7-300 模板规范)第4章,条目号 8859629。n

数字量模块:具有过程报警能力的数字量输入模板可以监视单独的位状态。过程报警可以在以下事件发生时触发:该位出现下降沿或者上升沿。有关各个数字量输入模块的更多信息,请参见手册 "Programmable Logic Controller S7-300 Module Data" (可编程逻辑控制器 S7-300 模板规范)第3章,条目号 8859629。n

功能模块:具有过程报警能力的功能模块能够执行大量不同的任务,可以为不同的事件配置过程报警,下面通过 FM350-1 计数器模块的例子来说明。
在下列情况下,FM 350-1 都会触发 CPU 中的过程报警:达到比较值、超过上限/低于下限、计数器过零。有关 FM 350-1 模块的更多信息,请参见手册 "FM 350-1 Function Module" (FM 350-1 功能模块),条目号 1086726。其它功能模块的详细信息,请参见具体模块的相关文档。

警告:
许多功能模板需要专用的参数软件,这些软件随功能模板一起提供,并有专门的文档。只能 STEP7和这类软件一起使用才能组态过程报警事件触发。

SIMATIC S7-300 中的报警 OB :
在 SIMATIC S7-300 CPU 中,报警组织块 OB 40 提供了临时堆栈数据。可以通过临时堆栈数据指示出发生报警事件的通道/位。当在 CPU 块文件夹中创建新的报警组织块 OB40 时可以在 STEP7 中找到它的描述(单击鼠标右键 〉插入新对象 〉组织块 〉 OB 40),选择最新创建的 OB 40 按下“F1”,打开了 STEP7 中的帮助信息,如果已经有一个警报 OB 40 存在,则可以直接选择它然后按下 F1 ,打开的就是关于警报 OB 40 的帮助文档。n

有关区域数据具体模块评估的更多信息,请参见手册 "Programmable Logic Controller S7-300 Module Data" (可编程逻辑控制器 S7-300 模板规范)第 3 章 (Digital Modules) 和第 4 章 (Analog Modules),条目号 8859629。n

在 CPU 318-2 DP 中可以使用两个警报 OB (40 和 41)。有关 CPU 318-2 DP 的更多信息,请参见手册 "Programmable Logic Controller S7-300 CPU Data, CPU 312 IFM to CPU 318-2 DP" (可编程逻辑控制器 S7-300 CPU 数据,CPU 312 IFM 到 CPU 318-2 DP),条目号 8860591。n

在所有 S7-400 CPU 中共有八个警报 OB 可用。可以在条目号 23659324 中找到关于 S7-400 CPU 过程警报的更多信息。n

组态过程报警:
可以在硬件配置中,为具有警报能力的模块在其属性中组态过程警报。n

有关计算 S7-400 的警报响应时间的示例,请参见手册 "S7-300 CPU 31xC and CPU 31x, Technical Data" (S7-300 CPU 31xC 和 CPU 31x,技术数据)第5.5 节,条目号 ID 12996906。n

组态过程报警模块:
可以通过系统功能 SFC 55 (WR_PARM), SFC 56 (WR_DPARM) 和 SFC57 (PARM_MOD) 在程序循环执行过程中组态具备过程报警能力的模块。有关如何用系统功能组态相关数据记录的信息,请参见手册 "Programmable Logic Controller S7-300 Module Data" (可编程逻辑控制器 S7-300 模块数据),条目号 8859629

有关不同 SFC 的信息,请参见 S7 在线帮助以及手册 "System Software for S7-300/400 System and Standard Functions" (S7-300/400 系统的系统软件和标准功能)章节7.1,条目号 1214574。

警告:
系统功能 SFC 55, SFC56和 SFC 57 不能在 PROFINET IO 中应用。

注释:
一些数字量模块 (例如 6ES7321-7BH0X 或 6ES7321-7RD00)) 需要 6个字节的长度来写数据记录 DS1。在 SFC 55 的 "RECORD" 参数增加了 2 到 6 字节的 ANY 类型数据。附加的两个字节的值必须为零。

冻结,延时,发布过程报警:
过程报警可以通过系统功能 SFC 39 (DIS_IRT IRT_FUNC),,SFC 40 (EN_IRT IRT_FUNC),,SFC 41 (DIS_AIRT IRT_FUNC) 和 SFC 42 (EN_AIRT IRT_FUNC) 来冻结,延时和发布。
有关不同 SFC 的使用信息,请参见 S7 在线帮助以及手册 "System Software for S7-300/400 System and Standard Functions" (S7-300/400 系统的系统软件和标准功能)第12章,条目号 1214574

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc332201.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论