浔之漫智控技术(上海)有限公司
西门子授权代理商 , 西门子授权代理商 , 西门子一级代理商
SIEMENS西门子 Basic PN 驱动器 6SL56101BB110AF0
观看SIEMENS西门子 Basic PN 驱动器 6SL56101BB110AF0视频:


              循环 OB (S7-1500) 说明 用户程序的本质就是循环程序。 并循环执行相关的程序部分: 该过程执行之后,操作系统 将再次开始执行。 循环程序可以有一个或多个循环 OB。 这些 OB 的优先级为 1,是所有 OB 中优先级Zui低的。 任何其它事件类别的事件都可以中断循环程序。 如果创建了多个程序循环 OB,将按照这些 OB 的编号依次进行调用。 首先调用 OB 编号Zui 小的程序循环 OB。下列事件可启动循环程序: • 启动处理结束 • 循环程序先前的执行结束 执行循环程序之后,操作系统按照以下步骤更新过程映像: 1. 将过程映像输出中的值写到输出模块。 2. 读取输入模块处的输入并传送到过程映像输入。 循环时间监视 循环时间是指循环程序运行时间,包括高优先级 OB 中所有嵌套程序部分的运行时间。 如果 创建了多个程序循环 OB,每个程序循环 OB 都会占用循环时间。 操作系统将监视循环时间是否仍小于所组态的Zui大循环时间。 如果循环时间超出Zui大循环 时间,则调用 OB 80(启动事件 W#16#0002:3501)。 通过调用 RE_TRIGR 指令,可在程序 的任何位置重新启动该时间监视功能来防止超出Zui大循环时间。 如果Zui大循环时间超出循 环中的第二个时间(未重新启动时间监视功能),CPU 将切换为 STOP 模式(事件 W#16#0002:3500)。 Zui小循环时间 除监视Zui大循环时间外,还可以保证Zui小循环时间。 为此,操作系统会延时新循环的启动, 直到达到了Zui小循环时间。 启动信息结构 • 对于 S7-300 和 S7-400 CPU 请参见 AUTOHOTSPOT 与 S7-300 和 S7-400-CPU 中启动信息的分配的不同之处在于: – 第一次调用时,SCAN_1=B#16#01;其它每次调用时,B#16#03 – 如果 OB 编号 > 254,则 OB_NUMBR=B#16#FF • 优化启动信息: 名称 数据类型 含义 Initial_Call BOOL 为 TRUE,在下列情况下将第一次调用此 OB: • 从 STOP 或 HOLD 切换为 RUN • 重新加载后 保持性 BOOL 为 TRUE,如果有保持性数据所有启动 OB 构成的整体称为启动例程。 可在启动例程中定义循环程序的默认设置。 在此,过程映像输入的所有值均为 0。 启动例程的执行没有时间限制。 不能使用时间驱动 或中断驱动的组织块。 执行启动例程之后,操作系统将读入过程映像输入并启动循环程序。

               时间中断 OB (S7-1500) 说明 S7-1500 CPU 中具有时间中断 OB,可通过如下方法启动: • 在指定时间(日期带有时间)启动一次 • 周期性启动(可按以下时间间隔启动: 每分、每小时、每日、每周、每月、月末及每年) 启动时间中断 OB 只有满足以下要求,CPU 才能启动时间中断 OB: • 必须提前设置并激活了相关的时间中断。 (设置时间中断意味着指定启动时间和持续时 间。) • 必须将时间中断 OB 加载到 CPU。 可通过下列三种方式,设置并激活时间中断: • 通过 STEP 7 设置并激活时间中断。 • 通过 STEP 7 设置时间中断,然后通过在程序中调用 ACT_TINT 指令激活中断。 • 通过调用 SET_TINTL 指令设置时间中断,然后通过在程序中调用 ACT_TINT 指令激活中断。 时间中断的规则 • 如果设置时间中断,只处理相应 OB 一次,则启动时间不允许为过去的时间(与 CPU 的 实时时钟相关)。 • 如果设置时间中断,循环处理相应 OB,但启动时间已过,则将根据当前时间在下次的这 个时间处理该时间中断 OB。 • 周期性时间中断的日期必须与实际日期相对应。例如,每月不能重复执行启动日期为 1/31 的时间中断 OB。 在这种情况下,只有在有 31 天的月份中才会启动该 OB。 • 在启动完成之前,将不会执行启动期间激活的时间中断。• 启动将删除用户程序中通过指令设置和激活的所有时间中断。 • 在从 HOLD 转换为 RUN 的事件中,操作系统将检查是否错过了时间中断。 如果错过,则 调用时间错误 OB。对于 S7-300 和 S7-400 CPU,如果选择相同的启动信息,则确认 OB 10 到 17(且只确认这些 OB)是否错过了时间中断。 执行 OB 80 后,将随后执行第一个丢 失的 OB。 时间中断在调快或调慢时间时的行为 时间中断的特征取决于调快或调慢时间所导致的时间差。 下表将对此进行详细说明。• 调快时间:如果跳过了一个或多个时间中断,则调 用 OB 80。 对于每个优先级,启动信息中都包含是 否至少跳过一个时间中断的信息。如果未在 OB 80 中删除时间中断,那么随后将执行跳过的第一个时 间中断,并设置启动信息变量“CaughtUp”。 • 调慢时间:在其它时间重复执行时间中断。如果时 间校正超出了时间中断持续时间,操作系统将计算 要重复执行的第一个时间中断的时间。对于一个重 复执行的时间中断,将设置启动信息变量 “SecondTime”。 在标准时间和夏令时之间切换 这种切换仅在使用当地时间时有效。 • 从标准时间切换到夏令时,随后将执行一个之前跳 过的时间中断,并设置启动信息变量“CaughtUp”。 不调用 OB 80。 • 从夏令时切换到标准时间:在其它时间重复执行时 间中断。对于一个重复执行的时间中断,将设置启 动信息变量“SecondTime”。 更改时区(导致当地时间发生更改) 重新计算当前激活的时间中断的启动时间。 • 调快当地时间后,随后将执行一个跳过的时间中 断,并设置启动信息变量“CaughtUp”。 不调用 OB 80。 • 调慢当地时间后,可能会重复执行之前曾执行过的 时间中断。对于一个重复执行的时间中断,将设置 启动信息变量“SecondTime”。状态中断 OB (S7-1500) 说明 接收到状态中断时,S7-1500 CPU 的操作系统将调用状态中断 OB。从站中的模块更改切换 操作模式(如,从“RUN”切换为“STOP”)时,可能会执行以上操作。有关可触发状态中断的 事件的更多详细信息,请参见从站或设备制造商文档。更新中断 OB (S7-1500) 说明 接收到更新中断时,S7-1500 CPU 的操作系统将调用更新中断 OB。用户更改了从站或设备 的插槽参数时,可能会执行以上操作。有关可触发更新中断的事件的更多详细信息,请参见 从站或设备制造商文档。 启动信息结构 • 对于 S7-300 和 S7-400 CPU 请参见 AUTOHOTSPOT • 优化启动信息:延时中断 OB (S7-1500) 说明 延时中断 OB 在经过操作系统中一段可组态的延时时间后启动。 调用“SRT_DINT”指令时开始 计时延时时间(此时开始调用相关延时中断)。 在可通过操作系统调用延时中断 OB 之前,必须满足以下条件: • 必须通过调用指令“SRT_DINT”来启动延时中断。 • 在组态过程中不得禁用延时中断 OB。 CPU 中必须存在延时中断 OB。 指令对延时中断的影响 还可使用“CAN_DINT”指令来取消已启动且尚未通过操作系统调用其相关延时中断 OB 的延时 中断,并使用“SRT_DINT”指令来重新启动此中断(并因此指定了一个不同的延时时间)。 此 外,还可以使用“QRY_DINT”指令查询延时中断的当前状态。 可以使用“DIS_AIRT”和“EN_AIRT”指令来禁用和重新启用延时中断。 说明 如果在执行“SRT_DINT”后通过“DIS_AIRT”阻断了中断,则只能在通过“EN_AIRT”启用后继续进 行处理。 这意味着相应延长了延时时间。 调用与延时中断 OB 相关的错误 OB 如果在处理完相关延时中断 OB 之前已达到延时中断的延时时间,操作系统将产生时间错误 (调用 OB 80)。 根据操作模式处理延时中断 "在 Startup 和 RUN 模式下可调用“SRT_DINT”,直至延时时间结束。但是延时时间中断 OB 只 能在 RUN 模式下进行处理。 如果延时中断在启动 OB 中启动且在 CPU 进入 RUN 模式之前延 时时间已结束,则将延迟调用相应延时中断 OB,直至 CPU 处于 RUN 模式。 暖启动或冷启动将清除延时中断 OB 的所有启动事件。循环中断 OB (S7-1500) 说明 可通过循环中断 OB 以相同时间间隔启动程序部分。 循环中断 OB 的启动时间根据其时间间隔和相位偏移来通过以下公式确定: 启动时间 时间间隔 + 相位偏移• 时间间隔即为两次调用之间的时间段,是 1 µs 基本时钟周期的整数倍。 • 相位偏移是以时间间隔为倍数,从启动时间进行偏移的时间间隔。 使用多个循环中断 OB 时可使用相位偏移。例如,当它们的时间间隔具有公倍数时,可使 用相位偏移来防止同时启动。 使用相位偏移的示例 在用户程序中插入 2 个循环中断 OB:一个 OB 的时间间隔为 20 ms,另一个的时间间隔为 100 ms。使用相位偏移来确保不在 100 ms 的整数倍时同时调用这两个 OB。调用与循环中断 OB 相关的错误 OB 循环中断 OB 的运行时间必须远小于其时间间隔。否则,会在循环中断时间间隔结束后仍在 处理相应循环中断 OB。此时,操作系统会生成时间错误(调用 OB 80)。稍后将执行导致 错误的循环中断或将其放弃。但是,对于每个优先级稍后只能执行一个循环中断 OB。 在 RUN 模式中更改时间间隔或相位偏移 还可以通过 RUN 模式时下载或调用“SET_CINT”指令等方式更改 RUN 模式时的时间间隔或相 位偏移。 请注意,CPU 的操作系统始终参照 CPU 的启动时间 (POWER ON) 计算循环中断 OB 的启动事 件。因此,新的时间间隔值可能不同于新指定的值,具体取决于参数更改的时间点: • 循环中断 OB 的两个连续启动事件的时间间隔可以小于原时间间隔和新时间间隔(极端情 况下,可以是极短的间隔)。如下图中的 Δt1 所示(时间间隔由 T0 改为 T1 时)。 • 循环中断 OB 的两个连续启动事件的时间间隔可以大于原时间间隔和新时间间隔(时间间 隔Zui大可以是原时间间隔与新时间间隔之和)。如下图中的 Δt2所示(时间间隔由 T1改为 T2 时)。

展开全文
拨打电话 微信咨询 发送询价