电工技术基础_电工基础知识_电工之家-电工学习网

欢迎来到电工学习网!

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

2021-08-24 03:03分类:西门子PLC 阅读:

 

机构块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将较为2个终断源的终断优先,假如优先同样,依照造成中断请求的依次顺序开展解决。假如后面一种的优先比已经实行的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运作时由电脑操作系统给予,包含启动事件、运行日期和時间、不正确及确诊事情。申明表格中的自变量的主要内容与机构块的种类相关,参照下表


二、运行机构块
1、CPU的运行方式和运行机构块
400的CPU有3中运行方法,暖运行、热启动和冷启,300CPU只有暖运行,参照下面的图:


客户能够根据在运行机构块中程序编写,用于设定CPU的复位实际操作,比如设定运行时的一些自变量的初值和plc模块的初值等。
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,从LD14开始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模拟量转换实例

下一篇:西门子PLC如何显示参考数据

相关推荐

电工推荐

    电工技术基础_电工基础知识_电工之家-电工学习网
返回顶部