电工进修网

 找回暗码
 急速注册

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

2018-10-25 17:43| 来源:电工进修网| 检查: 6751| 评论: 0

摘要: 组织块OB是操作体系与用户法式榜样之间的接口,组织块由操作体系调用,组织块中的法式榜样是用户编写的。S7 PLC的组织块用来创建在特定的时间履行的法式榜样或照应特定事宜的法式榜样,例如延时中断OB、外部硬件中断OB和缺点中断OB等 ...

组织块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用于须要快速照应的过程事宜,时间出现时立时中断以后正在履行的法式榜样,履行对应的中断法式榜样。diangon.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启动时由操作体系供给,包含启动事宜、启动日期和时间、缺点及诊断事宜。声明表中的变量的详细内容与组织块的类型有关,拜见下表


2、启动组织块
1、CPU的启动形式和启动组织块
400的CPU有3中启动方法,暖启动、热启动和冷启动,300CPU只能暖启动,拜见下图:


用户可以经过过程在启动组织块中编写法式榜样,用来设置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。


默许的轮回周期为100ms,改成1000ms。
OB100法式榜样


用MOVE将MB0的初值置7,即低3位为1,另外用ADD_I将MW6加1.
OB35法式榜样:每经过1000ms,MW2被加1.以下图


禁止和激活硬件中断
SFC40“EN_IRT”和SFC39“DIS_IRT”分别是激活和禁止中断和异步缺点的体系功能。参数MODE的数据类型为BYTE,MODE为2是激活OB_NR,采取16进制数来设置。
编写OB1法式榜样以下:


仿真实验以下:进入RUN形式后,可以看到MW6的值一向为1,注解只调用了一次OB100,MB0的低3为被置1,MW2每秒加1.用鼠标模仿产生I0.1轮回中断被禁止,MW2不再加1,用鼠标模仿产生I0.0,轮回中断被激活,MW2又开端加1.


3、时间中断组织块
300CPU只能应用OB10,400CPU可以应用OB10~17,可以设置在某一个特定的日期时间产生一次时间中断,也能够设置从设定日期时间开端,周期性的反复产生中断,可以用SFC28~SFC30设置、撤消和激活时间中断。
1)、基于硬件组态的时间中断
请求在达到设置的日期和时间时,用Q4.0主动启动某台设备。详细以下:
硬件组态:翻开CPU属性中的“时辰中断”选项卡,设置履行启动设备的日期和时间,履行方法为“一次”。


生成OB10,编写OB10法式榜样以下,设置时间到时,将须要启动的设备对应的输入点置为1:


OB1法式榜样:用I0.0将Q4.0复位


2)用SFC控制时间中断
除在硬件组态功能中设置和激活时间中断外,也能够在用户法式榜样中调用SFC来设置和激活时间中断,
在OB1调用SFC31来查询中断状况,读取的状况用MW16保存。以下图。


在I0.0的上升沿调用SFC28和SFC30分别来设置和激活时间中断OB10。用I0.1调用SFC29来禁止时间中断。各SFC的参数中的RET_VAL是履行时能够出现的缺点代码,为0时无缺点,OB_NR是组织块编号,SFC28用来设置时间中断,它的参数SDT是开端产生中断的日期和时间。PERIOD用来设置履行方法,w#16#0201表示每分钟产生一次中断。


OB10法式榜样以下:将MW2加1.


4、硬件中断组织块
OB40~47用于快速照应旌旗灯号模块、通信模块和功能模块的旌旗灯号变更,具有硬件中断功能的上述模块将中断旌旗灯号传送给到CPU时,将触发硬件中断,S7-300只能用OB40。
1)硬件组态
双击DI/DO模块,在属性对话框设置I0.0上升沿中断,I0.1降低沿中断。以下图所示:


2)编写OB40法式榜样
断定是哪个模块的哪个点产生中断,然后履行照应的操作。


3)禁止和激活硬件中断
OB1法式榜样在I0.2的上升沿调用SFC40激活OB40对应的硬件中断,I0.3的上升沿调用SFC39禁止OB40对应的硬件中断,SFC的MODE为2时,OB_NR为实参的OB的编号,法式榜样以下:


5、延时中断组织块
PLC的浅显准时器的任务和扫描任务方法有关,其准时精度较差,须要高精度的延时,应应用延时中断OB,用SFC32启动延时中断,延不时间1~60000ms,精度为1ms,
硬件组态


OB40法式榜样:在I0.0的上升沿出发硬件中断,CPU调用OB40,在OB40中调用SFC32启动延时中断,延时10s,从LD12开端8B临时部分变量是调用OB40的日期时间,用MOVE指令讲起中的后4个字节LD16保存到MD20中。


10s延不时间到,CPU调用SFC32指定的OB20.在OB20中用MOVE保存调用OB20的日期时间的后4个字节,同时将Q4.0置为,并经过过程PQB4急速输入。


用I0.2将Q4.0复位,在OB1调用SFC34来查询延时中断的状况字,查询成果用MW8保存,其低字节为MB9,OB_NR的实参是延时中断OB的编号。RET_VAL为SFC履行时的缺点代码,为0时无缺点。
6、异步缺点组织块
操作体系可以检测以下缺点:不精确的CPU功能、操作体系履行中的缺点、用户法式榜样中的缺点、I/O中的缺点。当检测到一个缺点,将启动照应的组织块以下图:


用户可以在组织块中编程,对产生的缺点采取照应的办法,以增添或清除缺点的影响,若没有生成或下载处理缺点照应的组织块,当出现缺点时CPU将进入STOP形式,即使下载一个空的OB,CPU也不会进入STOP。
应用体系功能SFC可以樊篱、延迟或禁止各类OB的启动事宜。

看过《西门子PLC组织块与中断处理是否是很多困惑?》的人还看了以下文章:

发表评论

最新评论

热点文章

|电工进修网 ( )

GMT+8, 2019-12-6 01:23

Powered by © 2011-2019 rusdir.com 版权一切 免责声明 不良信息告发

技巧驱动将来! 电工进修网—专业电工基本知识电工技巧进修网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

前往顶部