• 正文
    • 1.西门子PLC组织块与中断处理方法有哪些
    • 2.西门子PLC错误处理组织块分类及其作用有哪些
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

西门子PLC组织块与中断处理方法有哪些 西门子PLC错误处理组织块分类及其作用有哪些

02/07 09:19 作者:eefocus_3880508
327
阅读需 11 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

时间中断和延时中断有专用的允许处理中断(或称激活、使能中断)和禁止中断的系统功能(SFC)。接下来小编给大家介绍一下西门子PLC组织块与中断处理方法有哪些以及西门子PLC错误处理组织块分类及其作用有哪些。

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

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

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

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

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

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

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

2.西门子PLC错误处理组织块分类及其作用有哪些

1、自由循环组织块OB1

S7  CPU启动完成后,操作系统循环执行OB1,OB1执行完成后,操作系统再次启动OB1。在OB1中可以调用FB、SFB、FC、SFC等用户程序使其循环执行。除OB90以外,OB1优先级最低,可以被其他OB中断。OB1默认扫描监控时间为150ms(可设置),扫描超时,CPU自动调用)B80报错,如果程序中没有建立OB80,CPU进入停止模式。

2、日期中断组织块OB10~OB17

在CPU属性中,可以设置日期中断组织块OB10~OB17触发的日期、执行模式(到达设定的触发日期后,OB只执行一次或按每分、每小时、每周、每月周期执行)等参数,当CPU的日期值大于设定的日期值时,触发相应的OB并按设定的模式执行。在用户程序中也可以通过调用SFC28系统函数设定CPU日期中断的参数,调用SFC30激活日期中断投入运行,与在CPU属性中的设置相比,通过用户程序,可以在CPU运行时灵活地修改设定的参数,两种方式可以任意选择,也可以同时对一个OB进行设置。

3、时间延迟中断组织块OB20~OB23

时间延迟中断组织块OB20~OB23的优先级及更新过程映像区的参数需要在CPU属性中设置,通过调用系统函数SFC32触发执行,OB号及延迟时间在SFC32参数中设定,延迟时间为1~60000ms,大大优于定时器精度。

4、循环中断组织块OB30~OB38

循环中断组织块OB30~OB38按设定的时间间隔循环执行,循环中断的间隔时间在CPU属性中设定,每一个OB默认的时间间隔不同,例如)B35默认的时间间隔为100ms,在OB35中的用程序将每隔100ms调用一次,时间间隔可以自由设定,最小时间间隔不能小于55ms。OB中的用户程序执行时间必须小于设定的时间间隔,如果间隔时间较短,由于循环中断OB没有完成程序扫描而被再次调用,从而造成CPU故障,触发OB80报错,如果程序中没有创建OB80,CPU进入停止模式。通过调用SFC39~SFC42系统函数可以禁止、延迟、使能循环中断的调用。循环中断组织块通常处理需要固定扫描周期的用户程序,例如PID函数块通常需在循环中断中调用以处理积分时间的计算。

5、硬件中断组织块OB40~OB47

硬件中断也叫过程中断,由外部设备产生,例如功能模块FM、通信处理器CP及数字量输入、输出模块等。通常使用具有硬件中断的数字量输入模块触发中断响应,然后为每一个模块配置相应的中断OB(一个模块只能良一个中断OB,S7-300系列PLC  CPU只能触发硬件中断OB40),在模块配置中可以选择输入点的上升沿、下降沿或全部作为触发中断OB的事件。配置中的中断事件出现,中断主程序,执行中断OB中的用户程序一个周期,然后跳回中断处继续执行主程序。使用中断与普通输入信号相比,没有主程序扫描和过程映像区更新时间,适合需要快速响应的应用。

6、DPV1中断组织块OB55~OB57

CPU响应PROFIBUS-DP  V1从站触发的中断信息。

7、多处理器中断组织块OB60

用于S7-400系列PLC多CPU(一个机架中最多插入4个CPU完成同一个复杂任务)处理功能,通过调用SFC35,可以触发OB60在多个CPU中同时执行。

8、时钟同步中断组织块OB61~OB64

用于处理PROFIBUS-DP  V1等时钟同步,从采集各个从站的输入到逻辑结果输出,需要经过从站输入信号采样循环(信号转换)、从站背板总线循环(转换的信号从模块传递到从站接口)、PROFIBUS-DP总线循环(信号自从站传递到主站)、程序执行循环(信号的程序处理)、PROFIBUS-DP总线循环(信号从主站传递到从站)、从站背板总线循环(信号从从站接口传递到输出柜块)及模块输出循环(信号转换)7个循环,时钟同步中断将7个循环同步,优化数据的传递并保证PROFIBUS-DP各个从站数据处理的同步性。PROFIBUS时钟同步中断只能用于S7-400系列PLC  CPU(具有DP  V2  功能)。

9、工艺同步处理中断组织块OB65

用于T-CPU(具有运动控制功能的CPU)工艺块与开始程序的同步处理。

10、冗余故障中断组织块OB70、OB72

用于S7-400H冗余系统,当I/O冗余故障,例如冗余的PROFIBUS-DP从站故障时,触发OB70的调用,当CPU冗余故障,如CPU切换、同步故障时,触发OB72的调用。如果I/O冗余,或者CPU冗余故障而在CPU中没有创建OB70、OB72,CPU不会进入停止模式。

11、异步故障中断组织块OB80~OB87

异步故障中断用于处理各种故障事件。

12、处理中断组织块OB88

用于处理程序嵌套、区域数据分配故障,故障出现,CPU自动调用OB88报错,如果程序中没有创建,CPU进入停止模式。

13、背景循环中断组织块OB90

优先级最低,保证CPU最短的扫描时间,避免过程映像区更新过于频繁。程序的下载和CPU中程序的删除触发OB90的调用。只能用于S7-400系列PLC  CPU。

14、启动中断组织块OB100~OB102

用于处理CPU启动事件,暖启动CPU调用OB100,热启动CPU调用OB101(不适合S7-300系列PLC和S7-400H),冷启动CPU调用OB102,温度越低,CPU启动时清除存储器中数据区的类型越多。

15、同步错误中断组织块OB121、OB122

OB121处理与编程故障有关的事件,例如调用的函数没有下载到CPU中、BCD码出错等,OB122处理与I/O地址访问故障有关的事件,例如访问一个I/O模块时,出现读故障等。如果上述故障出现,在程序中没有创建OB121、OB122,CP进入停止模式。

相关推荐

电子产业图谱

TA的热门作品
查看更多