A&DCustomerSupportRegionSouth池睿泉A&DService&SupportAutomationandDrives概述组织块(OB)是指CPU的操作系统与用户程序之间的接口。OB用于执行特定的程序段:•启动CPU时•在循环或定时执行过程中•出错时•发生硬件中断时。A&DService&SupportAutomationandDrives概述A&DService&SupportAutomationandDrives概述启动组织块当CPU上电后,或操作模式改变为运行状态,在OB1运行前,先执行启动程序。OB100到OB102就是用于启动程序的组织块。例如,在块里可以预置通讯连接。程序循环组织块需要连续执行的程序存在OB1里,OB1中的程序执行完毕后,开始新的循环。定期执行的程序定期执行的程序根据设定的时间间隔,中断正在循环的程序而执行。通过循环中断,OB30到OB37可以每隔一段预定的时间(例如100ms)执行一次。例如,在这些块中可以调用循环采样控制程序。通过日期时间中断,OB可以在特定的时间执行,例如每天17:00保存数据。事件驱动执行的程序硬件中断可以用于快速响应的过程事件。当事件发生后,马上打断循环程序并执行中断程序。延时中断可以在一个过程事件出现后延时一段时间响应。通过错误OB可以在出现错误时(例如通讯故障)决定系统如何响应。A&DService&SupportAutomationandDrives中断循环程序优先级OB在执行程序的过程中可以被更高优先级的事件(OB)中断。优先级的范围从0-27,其中0最低,26最高。具有同等优先级的OB不能相互中断,而是按照发生的先后顺序执行。A&DService&SupportAutomationandDrives硬件中断(OB40)硬件中断当一个与硬件有关的事件发生时,执行硬件中断组织块(OB40)。硬件中断可以由不同的模块触发:•对于可分配参数的信号模块(DI,DO,AI,AO),使用硬件组态工具来定义触发硬件中断的信号。•对于CP模块和FM模块,利用相应的组态软件可以定义中断的特性。例子模拟输入模块设置适当的界限值,当测量值超出界限值时,OB40将被调用。S7-400在S7-400PLC中有8个不同的硬件中断组织块(OB40到47)。A&DService&SupportAutomationandDrives硬件中断(OB40)模拟输入模块上限值下限值+276480硬件组态:模拟输入模块的属性CPU的属性A&DService&SupportAutomationandDrives异步错误中断(OB81...87)异步错误异步错误是PLC的功能性错误。它们的出现与程序执行无关,不能跟踪到程序中的某个具体位置(例如模块的诊断中断)。响应在RUN模式下检测到一个故障后,如果已经编写了相关的组织块,则调用并执行该组织块中的程序。程序中可包含下列功能:•发出一个报警信号•备份数据然后停机•记录故障出现的频率,然后继续运行。说明如果故障相应的错误OB并不存在,CPU自动进入停机状态。示例异步错误中断OB82在下列情况下被调用,例如:•有诊断功能模块的断线故障•模拟输入模块的电源故障•输入信号超出模拟模块的测量范围A&DService&SupportAutomationandDrives异步错误中断(OB81...87)模拟输入模块断线+276480硬件组态:模拟模块的属性CPU的属性A&DService&SupportAutomationandDrives异步错误中断(OB81...87)错误类型例子OB时间错误超出最大循环扫描时间OB8026/28优先级26电源故障后备电池失效OB81诊断中断有诊断能力模块的输入断线OB82插入/移除中断在运行时移除S7-400的信号模块OB83CPU硬件故障MPI接口上出现错误的信号电平OB84程序执行错误更新映像区错误(模块有缺陷)OB85机架错误扩展设备或DP从站故障OB86通讯错误读取信息格式错误OB87A&DService&SupportAutomationandDrives同步错误中断(OB121,122)错误类型例子OB优先级与被中断的错误OB优先级相同编程错误在程序中调用一个CPU中并不存在的块OB121访问错误访问一个模块有故障或不存在的模块(例如,直接访问一个不存在的I/O模块)OB122•只要发生同程序处理相关的错误所导致的事件,CPU的操作系统即调用OB121。例如,如果用户程序调用了尚未装载到CPU中的块,将会调用OB121。•只要在访问模块上的数据时出错,CPU的操作系统即调用OB122。例如,如果在访问I/O模块上的数据时,CPU检测到读取错误,操作系统将调用OB122。A&DService&SupportAutomationandDrives组织块的启动信息4/56/78/910/11局部变量字节8,9,10,11的数据格式附加信息1(例如,中断模块的起始地址)附加信息2(例如,中断状态)附加信息3(例如,通道号码)局部变量字节0/12/3启动事件优先级序列号OB号12/1314/1516/1718/19年日分钟1/10秒,1/100秒月小时秒1/1000秒,星期管理信息启动信息启动时间启动信息当OB被操作系统调用时,用户可以在局部数据区中获得规范化的启动信息,长度为20字节,可以在OB开始执行后访问。访问方式STEP7为启动信息制订了标准的声明表,因此可利用声明表中的符号名来访问启动信息A&DService&SupportAutomationandDrivesOB40的局部数据区A&DService&SupportAutomationandDrivesOB82的局部数据区A&DService&SupportAutomationandDrivesOB82的局部数据区A&DService&SupportAutomationandDrivesOB86的局部数据区A&DService&SupportAutomationandDrivesOB121的局部数据区A&DService&SupportAutomationandDrives例子1:DP从站通讯故障硬件组态A&DService&SupportAutomationandDrives例子1:DP从站通讯故障添加OB86A&DService&SupportAutomationandDrives例子1:DP从站通讯故障编辑OB86A&DService&SupportAutomationandDrives例子1:DP从站通讯故障HMI组态A&DService&SupportAutomationandDrives例子1:DP从站通讯故障运行结果A&DService&SupportAutomationandDrives例子2:编程错误引起的同步错误编辑OB121A&DService&SupportAutomationandDrives例子2:编程错误引起的同步错误HMI组态A&DService&SupportAutomationandDrives例子2:编程错误引起的同步错误运行结果