西门子PLC组织块与中断处理是不是很多疑惑?

时间:2023-03-05作者:佚名

组织块OB是操作系统与用户程序之间的接口,组织块由操作系统调用,组织块中的程序是用户编写的。S7 plc的组织块用来创建在特定的时间执行的程序或相应特定事件的程序,例如延时中断OB、外部硬件中断OB和错误中断OB等。
一、中断的基本概念
1、中断过程
中断处理用来实现对特殊内部事件或外部事件的快速响应,如果没有中断,CPU循环执行组织块OB1,因为除了背景组织块OB90以外,OB1的中断优先级最低,CPU检测到中断源的中断请求,操作系统在执行完当前程序的当前指令(即断点处)后,立即响应中断。CPU暂停正在执行的程序,调用中断源的中断组织块OB来处理,执行完中断组织块后,返回被中断的程序断点处继续执行原来的程序。
有中断事件发生时,如果没有下载相应的组织块,CPU将会进入STOP模式,即使生成和下载一个空的组织块,出现相应的中断事件时,CPU也不会进入STOP模式。
PLC的中断源可能来自I/O模块的硬件中断,或者来自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用于需要快速响应的过程事件,时间出现时马上中止当前正在执行的程序,执行对应的中断程序。gdzrlj.com版权所有!异步错误中断0B80~OB87和同步错误中断OB121、OB122用来决定出现错误时系统如何响应。
3、中断的优先级:也就是组织块的优先级,如果在执行中断程序(组织块)时,又检测到一个终端请求,CPU将比较两个中断源的中断优先级,如果优先级相同,按照产生中断请求的先后次序进行处理。如果后者的优先级比正在执行的OB的优先级高,将中止当前的正在处理的OB,
4、对终端的控制:时间中断和延时中断有专用的允许处理中断和禁止中断的系统功能SFC。
SFC39“DIS_INT”用来禁止中断和异步错误处理,可以禁止所有中断,有选择的禁用某些优先级范围的中断,或者只禁止指定的某个中断;
SFC40“EN_INT”用来激活新的中断和异步错误处理,激活中断是指允许处理中断,做好了在中断事件出现时执行对应的组织块的准备。可以全部允许或有选择的允许。
SFC41“DIS_AIRT”延迟处理比当前优先级更高的中断和异步错误,直到用SFC42允许处理中断或当前OB执行完毕,SFC42“EN_AIRT”用来允许立即处理被SFC41暂时禁止的中断和异步错误,SFC41和SFC42配对使用。
5、组织块的变量声明表:OB块是操作系统调用的,OB没有背景数据块,也不能为OB声明输入、输出参数和静态变量,所以,OB的变量声明表中只有临时变量,OB的临时变量可以是基本数据类型、复杂数据类型或数据类型ANY。OB块包含OB的启动信息的20B的临时局部变量TEMP,这些信息在OB启动时由操作系统提供,包括启动事件、启动日期和时间、错误及诊断事件。声明表中的变量的具体内容与组织块的类型有关,参见下表

西门子PLC组织块与中断处理是不是很多疑惑?
二、启动组织块
1、CPU的启动模式和启动组织块
400的CPU有3中启动方式,暖启动、热启动和冷启动,300CPU只能暖启动,参见下图:

西门子PLC组织块与中断处理是不是很多疑惑?
用户可以通过在启动组织块中编写程序,用来设置CPU的初始化操作,例如设置开始运行时的某些变量的初始值和输出模块的初始值等。
1)暖启动过程映像数据以及非保持的存储器位、定时器和计数器被复位。具有保持功能的存储器位、定时器、计数器和所有的数据块将保留原数值,执行一个OB100后,循环执行OB1,将模式选择开关从STOP切换到RUN,执行一次暖启动。
2)热启动:400CPU在RUN模式下电源突然丢失,很快又重新上电,将执行OB101,自动完成热启动,从上次RUN模式结束时程序被中断之处继续执行,不对计数器等复位。
3)冷启动:所有系统存储区均被清除,即复位为零,包括有保持功能的存储区。调用OB102后循环执行OB1。
2、循环中断组织块
循环中断组织块用于按精确时间间隔循环执行中断程序,例如周期性执行闭环控制系统PID控制程序,间隔时间从cpu从STOP切换到RUN开始计算。S7-300大多数只能使用OB35,其余CPU可以实用的循环中断OB的个数和CPU型号有关。时间间隔不能小于5ms。时间间隔过短,还没有执行完循环中断程序又开始调用它,将会产生时间错误时间,调用OB80,如果没有调用OB80,CPU将进入STOP。
举例说明:
硬件组态如下:采用CPU315-2DP,双击硬件组态中的CPU,打开属性对话框,由【周期性中断】选项卡可知只能使用OB35。

西门子PLC组织块与中断处理是不是很多疑惑?
默认的循环周期为100ms,改成1000ms。
OB100程序

西门子PLC组织块与中断处理是不是很多疑惑?
用MOVE将MB0的初值置7,即低3位为1,此外用ADD_I将MW6加1.
OB35程序:每经过1000ms,MW2被加1.如下图

西门子PLC组织块与中断处理是不是很多疑惑?
禁止和激活硬件中断
SFC40“EN_IRT”和SFC39“DIS_IRT”分别是激活和禁止中断和异步错误的系统功能。参数MODE的数据类型为BYTE,MODE为2是激活OB_NR,采用16进制数来设置。
编写OB1程序如下:

西门子PLC组织块与中断处理是不是很多疑惑?
仿真实验如下:进入RUN模式后,可以看到MW6的值一直为1,表明只调用了一次OB100,MB0的低3为被置1,MW2每秒加1.用鼠标模拟产生I0.1循环中断被禁止,MW2不再加1,用鼠标模拟产生I0.0,循环中断被激活,MW2又开始加1.

西门子PLC组织块与中断处理是不是很多疑惑?

西门子PLC组织块与中断处理是不是很多疑惑?
3、时间中断组织块
300CPU只能使用OB10,400CPU可以使用OB10~17,可以设置在某一个特定的日期时间产生一次时间中断,也可以设置从设定日期时间开始,周期性的重复产生中断,可以用SFC28~SFC30设置、取消和激活时间中断。
1)、基于硬件组态的时间中断
要求在到达设置的日期和时间时,用Q4.0自动启动某台设备。具体如下:
硬件组态:打开CPU属性中的“时刻中断”选项卡,设置执行启动设备的日期和时间,执行方式为“一次”。

西门子PLC组织块与中断处理是不是很多疑惑?
生成OB10,编写OB10程序如下,设置时间到时,将需要启动的设备对应的输出点置为1:

西门子PLC组织块与中断处理是不是很多疑惑?
OB1程序:用I0.0将Q4.0复位

西门子PLC组织块与中断处理是不是很多疑惑?
2)用SFC控制时间中断
除了在硬件组态功能中设置和激活时间中断外,也可以在用户程序中调用SFC来设置和激活时间中断,
在OB1调用SFC31来查询中断状态,读取的状态用MW16保存。如下图。

西门子PLC组织块与中断处理是不是很多疑惑?
在I0.0的上升沿调用SFC28和SFC30分别来设置和激活时间中断OB10。用I0.1调用SFC29来禁止时间中断。各SFC的参数中的RET_VAL是执行时可能出现的错误代码,为0时无错误,OB_NR是组织块编号,SFC28用来设置时间中断,它的参数SDT是开始产生中断的日期和时间。PERIOD用来设置执行方式,w#16#0201表示每分钟产生一次中断。

西门子PLC组织块与中断处理是不是很多疑惑?
OB10程序如下:将MW2加1.

西门子PLC组织块与中断处理是不是很多疑惑?

西门子PLC组织块与中断处理是不是很多疑惑?
4、硬件中断组织块
OB40~47用于快速响应信号模块、通信模块和功能模块的信号变化,具有硬件中断功能的上述模块将中断信号传送给到CPU时,将触发硬件中断,S7-300只能用OB40。
1)硬件组态
双击DI/DO模块,在属性对话框设置I0.0上升沿中断,I0.1下降沿中断。如下图所示:

西门子PLC组织块与中断处理是不是很多疑惑?
2)编写OB40程序
判断是哪个模块的哪个点产生中断,然后执行相应的操作。

西门子PLC组织块与中断处理是不是很多疑惑?
3)禁止和激活硬件中断
OB1程序在I0.2的上升沿调用SFC40激活OB40对应的硬件中断,I0.3的上升沿调用SFC39禁止OB40对应的硬件中断,SFC的MODE为2时,OB_NR为实参的OB的编号,程序如下:

西门子PLC组织块与中断处理是不是很多疑惑?
5、延时中断组织块
PLC的普通定时器的工作和扫描工作方式有关,其定时精度较差,需要高精度的延时,应使用延时中断OB,用SFC32启动延时中断,延时时间1~60000ms,精度为1ms,
硬件组态

西门子PLC组织块与中断处理是不是很多疑惑?
OB40程序:在I0.0的上升沿出发硬件中断,CPU调用OB40,在OB40中调用SFC32启动延时中断,延时10s,从LD12开始8B临时局部变量是调用OB40的日期时间,用MOVE指令讲起中的后4个字节LD16保存到MD20中。

西门子PLC组织块与中断处理是不是很多疑惑?
10s延时时间到,CPU调用SFC32指定的OB20.在OB20中用MOVE保存调用OB20的日期时间的后4个字节,同时将Q4.0置为,并通过PQB4立即输出。

西门子PLC组织块与中断处理是不是很多疑惑?
用I0.2将Q4.0复位,在OB1调用SFC34来查询延时中断的状态字,查询结果用MW8保存,其低字节为MB9,OB_NR的实参是延时中断OB的编号。RET_VAL为SFC执行时的错误代码,为0时无错误。
6、异步错误组织块
操作系统可以检测下列错误:不正确的CPU功能、操作系统执行中的错误、用户程序中的错误、I/O中的错误。当检测到一个错误,将启动相应的组织块如下图:

西门子PLC组织块与中断处理是不是很多疑惑?
用户可以在组织块中编程,对发生的错误采取相应的措施,以减少或消除错误的影响,若没有生成或下载处理错误相应的组织块,当出现错误时CPU将进入STOP模式,即使下载一个空的OB,CPU也不会进入STOP。
利用系统功能SFC可以屏蔽、延迟或禁止各种OB的启动事件。

相关阅读

西门子CPU硬件结构

大家好,今天介绍一下CPU的硬件结构组成,欢迎在评论区讨论。 CPU的供电电压:标准型的有直流供电和交流供电两种,而经济型CPU支持交流供电。 CPU的特性晶体管和继电器SR20/ST20、S...
2023-04-30
西门子CPU硬件结构

怎样看电气二次回路图,新手看过来(二)

第三章 控制回路图即中央信号回路图 第一节 常用的LW2系列转换开关 在控制、信号、监视回路中,常用LW2系列的转换开关做为操作把手,一般用“KK”符号表示,意指控制开关。为了安...
2023-06-11
怎样看电气二次回路图,新手看过来(二)

常见电动机控制线路的功能与实际应用(四)

三相交流电动机限位点动正/反转控制线路 三相交流电动机间歇控制线路实际应用过程如图2所示。 【图2 三相交流电动机间歇控制线路的实际应用过程】 三相交流电动机定时启动、定...
2023-06-25
常见电动机控制线路的功能与实际应用(四)

直流电动机的相关介绍及常见故障及处理

直流电机铭牌数据主要包括:电机型号、额定功率、额定电压、额定电流、额定转速和励磁电流及励磁方式等,此外还有电机的出厂数据,如出厂编号、出厂日期等。 国产电机的型号一...
2023-06-13
直流电动机的相关介绍及常见故障及处理

输电线路智能运维的神器是那些?快来认识一下

输电线路的运行维护工作是一项繁重的工作,随着电网规模日益扩大,输电线路的数量与长度增长迅速,基于传统的线路巡检模式所引发的电网安全隐患日渐突出,主要表现为存在人为因素多...
2024-10-10
输电线路智能运维的神器是那些?快来认识一下

热销商品

广东珠江电线电缆阻燃国标定制BYJBV BVR YJV YJY RVV RVS RV KVV

广东珠江电线电缆,专注于阻燃国标定制,产品涵盖BYJBVBVRYJVYJYRVVRVSRVKVV等多种规格。我们采用先进生产技术,严格遵循国家标准,确保产品质量可靠、性能稳定。产品适...
¥ 1

可换头防静电塑胶镊子ESD-7A/242/249/259防划伤夹IC硅晶片陶瓷头

ESD-7A/242/249/259是一款专为半导体行业设计的防静电塑胶镊子,有效防止静电对敏感电子元件的损害。其独特之处在于可更换的镊子头,包括专为夹持IC硅晶片和陶瓷元件...
¥ 2

公牛官方旗舰店开关插座空调16A插座五孔10A面板暗装多孔G12白灰

公牛官方旗舰店提供一系列高质量的开关插座和空调配件。这款16A插座五孔面板采用暗装设计,适用于多种安装环境,如墙面、天花板等。它具有10A的电流容量,可以满足家庭...
¥ 5.55

86型开关超薄自粘贴式防水罩浴霸开关家用防水盒浴室插座防溅盒子

86型开关超薄自粘贴式防水罩浴霸开关,是一种专为家用浴室设计的创新产品。其采用超薄设计,无需复杂布线,自粘贴式安装方式简洁高效,有效节省空间。防水罩有效阻挡水汽...
¥ 3.9

L型套筒扳手铣口烟斗双头弯头7字穿孔机修六角汽修轮胎工具6-19mm

L型套筒扳手是一款常用于工业领域的多功能工具,具备双头设计,可高效完成铣口、烟斗等多种工件孔位加工,适用六角汽修、轮胎等场景。其套筒尺寸为6-19mm,精准适配各类...
¥ 3.5

网站栏目