西门子S7-300组织块使用说明

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

组织块使用说明1、组织块总览(OB)1.1什么是组织块?组织块是操作系统和用户程序之间的接口。OB用于执行具体的程序:•在CPU启动时•在一个循环或时钟执行时•当发生故障时•当发生硬件中断时组织块根据其优先级执行。1.2可使用哪些组织块?不是所有的CPU都能处理STEP7中所有的组织块。至于您使用的CPU中包括哪些OB,请参见操作列表/72/和/102/。何处可以找到更多信息?参见在线帮助和以下手册可以得到更多的信息:•/70/:该手册包含有描述不同S7-300CPU功能的技术数据。•/101/:该手册包含有描述不同S7-400CPU功能的技术数据。下列表格中包含每一个OB的启动事件及对应的优先级。OB启动事件默认的优先级解释OB1启动结束或OB1执行结束1自由循环OB10日期时间中断02没有指定缺省时OB11日期时间中断12间OB12日期时间中断22OB13日期时间中断32OB14日期时间中断42OB15日期时间中断52OB16日期时间中断62OB17日期时间中断72OB20延时中断03没有指定缺省时OB21延时中断14间OB22延时中断25OB23延时中断36OB启动事件默认的优先级解释OB30循环中断0(缺省时间间隔:5s)7循环中断OB31循环中断1(缺省时间间隔:2s)8OB32循环中断2(默认时间间隔:1s)9OB33循环中断3(默认时间间隔:500ms)10OB34循环中断4(默认时间间隔:200ms)11OB35循环中断5(默认时间间隔:100ms)12OB36循环中断6(默认时间间隔:50ms)13OB37循环中断7(默认时间间隔:20ms)14OB38循环中断8(默认时间间隔:10ms)15OB40硬件中断016硬件中断OB41硬件中断117OB42硬件中断218OB43硬件中断319OB44硬件中断420OB45硬件中断521OB46硬件中断622OB47硬件中断723OB55状态中断2DPV1中断OB56刷新中断2OB57制造厂商用特殊中断2OB60SFC35“MP_ALM”调用25多处理器中断OB61周期同步中断125同步循环中断OB62周期同步中断225OB63周期同步中断325OB64周期同步中断425OB70I/O冗余故障(只对于HCPU)25冗余故障中断OB72CPU冗余故障(只对于HCPU)28OB73通讯冗余故障(只对于HCPU)25OB80时间故障26,281)同步故障中断OB81电源故障25,281)OB82诊断中断25,281)OB83模板插/拔中断25,281)OB84CPU硬件故障25,281)OB85程序故障25,281)OB86扩展机架、DP主站系统或分布式I/O从站故障25,281)OB87通讯故障25,281)OB88过程中断28OB90暖或冷启动或删除一个正在OB90中执行的块或装载一个OB90到CPU或中止OB90292)背景循环1-2OB启动事件默认的优先级解释OB100暖启动271)启动OB101热启动271)OB102冷启动271)OB121编程故障引起故障的OB的同步故障中断OB122I/O访问故障优先级引起故障的OB的优先级1)优先级27和28在优先级启动模式中是有效的。2)优先级29对应于优先级0.29。这意味着背景循环比自由循环具有更低的优先级。2.组织块说明2.1程序循环组织块(OB1)2.1.1描述S7CPU操作系统周期性地执行组织块OB1程序。当OB1执行完毕,操作系统再次启动它。CPU启动后,OB1循环执行。您可以在OB1中调用其它功能块(FB,SFB)或功能(FC,SFC)。2.1.2理解OB1的运行OB1的优先级昀低。其循环时间被监控。即除OB90以外,其它所有OB均可中断OB1的执行。以下事件可导致操作系统调用OB1:•CPU启动完毕。•OB1执行到上一个循环周期结束。OB1执行完后,操作系统发送全局数据。再次启动OB1之前,操作系统会将输出映像区数据写入输出模板,刷新输入映像区并接收全局数据。S7监视昀长循环时间,保证昀长的响应时间。昀长循环时间缺省设置为150ms。您可以设一个新值或通过SFC43“RE_TRIGR”重新启动时间监视功能。如果您的程序超过了OB1昀长循环时间,操作系统将调用OB80(时间故障OB);如果OB80不存在,则CPU停机。除了监视昀长循环时间,还可以保证昀短循环时间。操作系统将延长下一个新循环(将输出映像区数据传送到输出模板)直到昀短循环时间到。参见手册/70/和/101/参数“昀长”、“昀短”循环时间的范围。您可以运用STEP7软件更改参数设置。2.1.3OB1的局部数据以下表格描述了OB1的临时变量(TEMP)。变量名是OB1的缺省名称。变量类型描述OB1_EV_CLASSBYTE事件等级和标识码:B#16#11:OB1激活OB1_SCAN_1BYTE•B#16#01:暖启动完成•B#16#02:热启动完成•B#16#03:主循环完成•B#16#04:冷启动完成•B#16#05:当前一个主站CPU停机,后备新主站CPU的第一次OB1循环OB1_PRIORITYBYTE优先级1OB1_OB_NUMBRBYTEOB号(01)OB1_RESERVED_1BYTE备用OB1_RESERVED_2BYTE备用OB1_PREV_CYCLEINT上一次OB1的循环时间(ms)OB1_MIN_CYCLEINT自CPU启动,昀短一次OB1的循环时间(ms)OB1_MAX_CYCLEINT自CPU启动,昀长一次OB1的循环时间(ms)OB1_DATE_TIMEDATE_AND_TIMEOB被调用的日期和时间2.2日期时间中断组织块(OB10到OB17)2.2.1描述STEP7提供多达8个OB(OB10到OB17),它们可以运行一次或周期性地运行。您可以运用SFC或STEP7给CPU分配参数,这样OB将以下列的间隔运行:•一次•每分钟•每小时•每天•每周•每月•每月底2.2.2理解日期时间中断组织块OB的运行在启动日期时间中断时,您必须首先设置和激活中断。以下三种方式可以设置和激活中断:•自动启动日期时间中断。您可通过STEP7设置并激活中断。下表显示通过STEP7激活日期时间中断的基本可能性。•您可以在STEP7中设置日期时间中断,然后通过程序调用SFC30“ACT-TINT”,激活日期时间中断。•您可以通过调用SFC28“SET_TINT”设置日期时间中断,通过调用SFC30“ACT_TINT”,激活日期时间中断。时间间隔描述没有激活日期时间中断没有执行,即使已装载到CPU。可以通过调用SFC30激活。只激活一次日期时间中断运行一次后,日期时间中断OB自动取消。您可以通过调用SFC28和SFC30重新设置和重新激活日期时间中断OB。周期性地激活当日期时间中断发生后,CPU根据当前的时间计算下一次的中断启动时间。如果您设定日期时间中断相应的OB是执行一次,那么日期时间(DATE_AND_TIME)不能是过去(与CPU的实时时钟相关)的日期时间。如果您设定日期时间中断相应的OB是周期性的执行,日期时间(DATE_AND_TIME)是过去的日期和时间,那么日期时间中断将按下图所示在下次执行。您可以用SFC39到SFC42禁止、延迟和重新使能日期时间中断。2.2.3影响日期时间中断OB的条件因为日期时间中断只在规定的时间间隔发生,某些条件会在程序执行时影响OB的运行。下面表格显示了一些影响日期时间中断OB运行的条件和描述。条件结果您编程调用SFC29(CAN_TINT),取消了操作系统清除日期时间中断的事件日期时间(DATE_日期时间中断。AND_TIME)。在此OB被调用之前,您必须重新设置并激活它。您编程激活日期时间中断OB,但此OB在操作系统调用OB85。如果OB85在CPU中不存在,CPUCPU中不存在。将停机。条件结果当同步或校正CPU系统时钟时,您设置的时间超前并跳过了日期时间中断OB的启动事件。操作系统调用OB80并在OB80中编译日期时间中断OB号和启动事件信息。操作系统运行一次日期时间中断OB,不考虑这个OB应该运行多少次。OB80的启动事件信息显示了OB第一次被跳过的日期和时间(DATE_AND_TIME)。当同步或校正CPU系统时钟时,时间被向后设置,于是OB的启动事件、日期或时间被重复。如果日期时间OB在时钟修改之前已激活,那么此OB不再被调用。CPU在暖启动或冷启动期间。任何由SFC配置的日期时间OB,都须遵从STEP7中组态的设置。如果您组态了一个启动一次的日期时间中断OB在STEP7中,组态的时间是过去(相对于CPU的实时时钟),并且已激活,在操作系统暖启动或冷启动后,这个OB将被调用一次。下一个时间间隔启动事件发生时,日期时间OB仍在执行。操作系统调用OB80。如果OB80不存在,则CPU停机。如果OB80已装载,那么OB80和日期时间中断OB都执行第一次,并且第二个中断请求也被执行。2.2.4日期时间中断OB的局部数据下列表格描述了日期时间中断的临时变量(TEMP)。变量名为OB10的缺省名称。变量类型描述OB10_EV_CLASSBYTE事件级和识别码:B#16#11=中断激活OB10_STRT_INFOBYTEB#16#11:启动请求OB10(B#16#12:启动请求OB11)::(B#16#18:启动请求OB17)OB10_PRIORITYBYTE分配的优先级:默认2OB10_OB_NUMBRBYTEOB号(10到17)OB10_RESERVED_1BYTE保留OB10_RESERVED_2BYTE保留OB10_PERIOD_EXEWORDOB以特殊的间隔运行:W#16#0000:一次W#16#0201:每分钟一次W#16#0401:每小时一次W#16#1001:每天一次W#16#1201:每周一次W#16#1401:每月一次W#16#1801:每年一次W#16#2001:每月底OB10_RESERVED_3INT保留OB10_RESERVED_4INT保留OB10_DATE_TIMEDATE_AND_TIMEOB调用时的日期和时间2.3延时中断组织块(OB20到OB23)2.3.1描述S7提供多达4个OB(OB20到OB23),它们经过一段指定的延时后运行。每一个OB在调用SFC32(SRT_DINT)后启动。延时时间在SFC的参数中设定。当您编程SFC32(SRT_DINT)时,需提供OB号、延时时间和一个用户指定的标识符。指定的延时到,OB启动。您也可以取消还没有启动的延时中断。2.3.2理解延时中断OB的运行当延时时间到(毫秒时间和OB号一起传给SFC32)时,操作系统启动相应的OB。运用延时中断,您必须做下列事项:•您必须调用SFC32(SRT_DINT);•您必须下载日期时间中断OB到CPU中。延时OB只有在CPU处于运行状态时才运行。一个暖启动或冷启动清除任何延时OB的启动事件。如果延时中断还没有启动,您可以调用SFC33(CAN_DINT)去取消它的执行。延时时间分辨率为1毫秒,如果延时时间超出则立即再次启动延时。通过调用SFC34(QRY_DINT)可以查询延时中断的状态。如果以下事件发生,操作系统调用一个异步OB:•如果您在调用SFC32(SRT_DINT)时启动的是没有下载到CPU中的OB。•如果一个延时中断OB执行未结束,下一个延时中断启动事件发生。您可以运用SFC39到SFC42取消、延时和再使能延时中断。2.3.3延时中断组织块OB的局部数据下面表格描述了延时中断OB的临时变量。变量名是OB20的缺省名称。变量类型描述OB20_EV_CLASSBYTE事件级别和识别码:B#16#11:中断激活OB20_STRT_INFBYTEB#16#21:OB20启动请求(B#16#21:OB21启动请求)(B#16#22:OB22启动请求)(B#16#23:OB23启动请求)OB20_PRIORITYBYTE分配的优先级:默认值为3(OB20)到6(OB23)

1 / 43
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功