西门子S7-300组织块使用说明.pdf
《西门子S7-300组织块使用说明.pdf》由会员分享,可在线阅读,更多相关《西门子S7-300组织块使用说明.pdf(43页珍藏版)》请在冰豆网上搜索。
![西门子S7-300组织块使用说明.pdf](https://file1.bdocx.com/fileroot1/2022-10/30/238bc561-4a74-4ccf-936c-ce49d897b307/238bc561-4a74-4ccf-936c-ce49d897b3071.gif)
组织块使用说明组织块使用说明1、组织块总览(OB)11什么是组织块?
1、组织块总览(OB)11什么是组织块?
组织块是操作系统和用户程序之间的接口。
OB用于执行具体的程序:
在CPU启动时在一个循环或时钟执行时当发生故障时当发生硬件中断时组织块根据其优先级执行。
12可使用哪些组织块?
12可使用哪些组织块?
不是所有的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组织块说明组织块说明21程序循环组织块(OB1)211描述21程序循环组织块(OB1)211描述S7CPU操作系统周期性地执行组织块OB1程序。
当OB1执行完毕,操作系统再次启动它。
CPU启动后,OB1循环执行。
您可以在OB1中调用其它功能块(FB,SFB)或功能(FC,SFC)。
212理解OB1的运行212理解OB1的运行OB1的优先级最低。
其循环时间被监控。
即除OB90以外,其它所有OB均可中断OB1的执行。
以下事件可导致操作系统调用OB1:
CPU启动完毕。
OB1执行到上一个循环周期结束。
OB1执行完后,操作系统发送全局数据。
再次启动OB1之前,操作系统会将输出映像区数据写入输出模板,刷新输入映像区并接收全局数据。
S7监视最长循环时间,保证最长的响应时间。
最长循环时间缺省设置为150ms。
您可以设一个新值或通过SFC43“RE_TRIGR”重新启动时间监视功能。
如果您的程序超过了OB1最长循环时间,操作系统将调用OB80(时间故障OB);如果OB80不存在,则CPU停机。
除了监视最长循环时间,还可以保证最短循环时间。
操作系统将延长下一个新循环(将输出映像区数据传送到输出模板)直到最短循环时间到。
参见手册/70/和/101/参数“最长”、“最短”循环时间的范围。
您可以运用STEP7软件更改参数设置。
213OB1的局部数据213OB1的局部数据以下表格描述了OB1的临时变量(TEMP)。
变量名是OB1的缺省名称。
变量类型描述OB1_EV_CLASSBYTE事件等级和标识码:
B#16#11:
OB1激活OB1_SCAN_1BYTEB#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被调用的日期和时间22日期时间中断组织块(OB10到OB17)221描述22日期时间中断组织块(OB10到OB17)221描述STEP7提供多达8个OB(OB10到OB17),它们可以运行一次或周期性地运行。
您可以运用SFC或STEP7给CPU分配参数,这样OB将以下列的间隔运行:
一次每分钟每小时每天每周每月每月底222理解日期时间中断组织块OB的运行222理解日期时间中断组织块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禁止、延迟和重新使能日期时间中断。
223影响日期时间中断OB的条件223影响日期时间中断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都执行第一次,并且第二个中断请求也被执行。
224日期时间中断OB的局部数据224日期时间中断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调用时的日期和时间23延时中断组织块(OB20到OB23)231描述23延时中断组织块(OB20到OB23)231描述S7提供多达4个OB(OB20到OB23),它们经过一段指定的延时后运行。
每一个OB在调用SFC32(SRT_DINT)后启动。
延时时间在SFC的参数中设定。
当您编程SFC32(SRT_DINT)时,需提供OB号、延时时间和一个用户指定的标识符。
指定的延时到,OB启动。
您也可以取消还没有启动的延时中断。
232理解延