6ES7223-1PH32-0XB0西门子PLC模块

2023-04-23 浏览次数:8

6ES7223-1PH32-0XB0西门子PLC模块

SIMATIC S7-1200,数字量 I/O SM 1223,8 DI/8 DO, 8 DI 24V DC,灌电流/拉电流, 8 DO,继电器 2A

西门子PLC组织块与中断处理方法有哪些

1.中断过程

中断处理用来实现对特殊内部事件或外部事件的快速响应。如果没有中断,CPU循环执行组织块0B1。因为除背景组织块0B90以外,0B1的中断**级低,CPU检测到中断源的中断请求时,操作系统在执行完当前程序的当前指令(即断点处)后,立即响应中断。CPU暂停正在执行的程序,调用中断源对应的中断组织块(OB)来处理。执行完中断组织块后,返回被中断的程序的断点处继续执行原来的程序。

有中断事件发生时,如果没有下载对应的组织块,CPU将会进入STOP模式。即使生成和下载一个空的组织块,出现对应的中断事件时,CPU也不会进入STOP模式。

PLC的中断源可能来自UO模块的硬件中断,或者来自CPU模块内部的软件中断,例如时间中断、延时中断、循环中断和编程错误引起的中断。

一个OB的执行被另一个OB中断时,操作系统对现场进行保护。被中断的OB的局部数据压入L堆栈(局部数据堆栈),被中断的断点处的现场信息保存在I堆栈(中断堆栈)和B堆栈(块堆栈)中。中断程序不是由逻辑块调用,而是在中断事件发生时由操作系统调用。因为不能预知系统何时调用中断程序,中断程序不能改写其他程序中可能正在使用的存储器,中断程序应尽可能地使用局部变量。

编写中断程序时应遵循“越短越好”的格言,以减少中断程序的执行时间,减少对其他事件处理的延迟,否则可能引起主程序控制的设备操作异常。

2. 组织块的分类

组织块只能由操作系统启动,它由变量声明表和用户编写的控制程序组成。

(1)启动组织块

启动组织块用于系统初始化,CPU上电或操作模式切换到RUN时,S7-300执行OB100,S7-400根据组态的启动方式执行OB100~OB102中的一个。

(2)循环执行的OB1

需要循环执行的程序存放在OB1中,执行完后又开始新的循环。(3)定期执行的组织块

定期执行的组织块包括时间中断组织块 OB10~OB17和循环中断组织块 OB30~OB38,可以根据设定的日期时间或时间间隔执行中断程序。

(4)事件驱动的组织块

延时中断组织块 OB20~OB23在过程事件出现后延时一定的时间再执行中断程序硬件中断组织块 OB40~OB47用于需要快速响应的过程事件,事件出现时马上中止当前正在执行的程序,执行对应的中断程序。异步错误中断组织块OB80~0B87和同步错误中断组织块OB121、OB122用来决定在出现错误时系统如何响应。

3. 中断的**级

中断的**级也就是组织块的**级,如果在执行中断程序(组织块)时,又检测到一个中断请求,CPU将比较两个中断源的中断**级。如果**级相同,按照产生中断请求的先后次序进行处理。如果后者的**级比正在执行的OB的**级高,将中止当前正在处理的OB,改为执行较高**级的OB。这种处理方式称为中断程序的嵌套调用。

下面是**级的顺序(后面的比的**)背景循环、主程序扫描循环、时间中断、时间延时中断、循环中断、硬件中断、多处理器中断、I/O 冗余错误、异步故障(OB80~87)、启动和CPU 冗余,背景循环的**级低。

S7-300的组织块的**级是固定的,可以用STEP7修改S7-400 CPU下述组织块的**级OB10~OB47(**级2~23),OB70~0B72(**级25或28,只适用于H系列CPU),以及在RUN模式下的OB80~OB88(见附表B-1)。通常情况下组织块的编号越大(OB90除外),**级越高。具有相同**级的OB按启动它们的事件出现的先后顺序处理。被同步错误启动的OB121和OB122的**级与错误出现时正在执行的OB的**级相同。

生成逻辑块0B、FB和FC时,同时生成临时局部变量数据,CPU的局部数据区按**级划分。可以在S7-400的CPU模块属性对话框的“存储器”选项卡中,改变每个**级的局部数据区的大小。将**级赋值为0,或分配小于20B的局部数据给某一个**级,可以取消相应的中断0B。

4.对中断的控制

时间中断和延时中断有**的允许处理中断(或称、使能中断)和禁止中断的系统功能(SFC)。

SFC39“DIS_INT”用来禁止中断和异步错误处理,可以禁止所有的中断,有选择地禁止某些**级范围的中断,或者只禁止*的某个中断。

SFC40“EN_INT”用来(使能)新的中断和异步错误处理,中断是指允许处理中断,做好了在中断事件出现时执行对应的组织块的准备。可以全部允许或有选择地允许。

SFC41“DIS_AIRT”延迟处理比当前**级高的中断和异步错误,直到用SFC42允许处理中断或当前的OB执行完毕。SFC42“EN_AIRT”用来允许立即处理被SFC41暂时禁止的中断和异步错误,SFC42和SFC41配对使用。




tianxia56.b2b168.com/m/
联系我们

在线客服: 3281914546

联系人:刘经理

联系电话: 19873876272