0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用于循环程序处理的组织块

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-02-12 10:41 次阅读

用于循环程序处理的组织块(OB1)

9a6f5e16-a952-11ed-bfe3-dac502259ad0.png

在可编程控制器上循环程序处理是程序执行的“普通”类型。操作系统循环调用OB1启动用户程序的循环执行。

循环程序执行的顺序

下表所示为循环程序处理的各个阶段:

1.操作系统启动循环监控时间

2.CPU从输出的过程映象表写数值到输出模板

3.CPU读输入模板的输入状态并刷新输入的过程映象表

4.CPU处理用户程序并执行程序中所包含的指令

5.在循环结束处,操作系统执行所有挂起的任务,如下载和删除块,接收和发送全局数据

6.最后,CPU 回到循环开始处并重新启动循环监控时间.

OB1_EV_CLASS BYTE 事件等级和标识符:B#16#11:OB1激活

OB1_SCAN_1 BYTE B#16#01:完成暖重启, B#16#04:完成冷重启,B#16#03:完成主循环

B#16#02:完成热重启

B#16#02:完成热重启

OB1_PRIORITY BYTE 优先级1

OB1_OB_NUMBR BYTE OB编号(01)

OB1_PREV_CYCLE INT 上一次扫描的运行时间(ms)

OB1_MIN_CYCLE INT 自上次启动后的最小周期(ms)

OB1_MAX_CYCLE INT 从上次启动后的最大周期(ms)

OB1_DATE_TIME DATE_AND_TIME 调用OB时的DATE_AND_TIME

过程映象

所以在循环程序处理过程中,CPU的过程信号映象是一致的。CPU并不直接访问I/O 模板上的输入(I )和输出(Q )地址区域,而是访问一个CPU内部的存储区域,该区域中包含输入和输出的映象。

编程循环程序处理

你可以通过使用STEP 7在OB1 中编写你的用户程序以及在OB1调用的块中编写程序来编程循环程序处理。

启动程序无错执行一结束,循环程序处理就立即开始。

中断

循环程序处理可以被以下事件中断:

• 一个中断

• STOP命令(模式选择开关,编程器上的菜单选项,SFC46 STP,SFB20 STOP )

电源掉电

• 出现故障或编程错误

扫描循环时间

扫描循环时间是操作系统运行循环程序和中断循环的所有程序部分(例如,执行其它组织块)以及系统操作(如,刷新过程映象)所需要的时间。这个时间可以被监控。

每个循环的循环扫描时间(TC)并不相同。下图所示为已有的CPU和新CPU之间不同的扫描循环时间(TC1 ≠TC2 ):

9a93f2b2-a952-11ed-bfe3-dac502259ad0.png

循环监视时间

使用STEP 7,可以修改缺省的最大循环监视时间。如果这个时间溢出,CPU转为STOP模式或调用OB80,在OB80中你可以指定CPU如何响应这个故障。

最小循环时间

使用STEP 7,可以为S7-400 CPU和CPU318 设置最小循环时间。在以下情形下这个功能是有用的:

• 当OB1(主程序扫描)执行程序的启动时间间隔必须一致时,或者

• 如果循环时间太短,过程映象表的刷新没必要过于频繁。

下图所示为已有的CPU和新CPU中程序处理过程中的循环监控时间的功能。

9aa86184-a952-11ed-bfe3-dac502259ad0.png

刷新过程映象

在CPU的循环程序处理过程中,过程映象区被自动刷新。

你也可以不刷新过程映象,如果你要:

• 直接访问I/O 或者

• 用系统功能SFC26 UPDAT_PI 和SFC27 UPDAT_PO在程序的不同点刷新一个或多个过程映象的输入或输出部分。

通讯负载

你可以使用CPU参数“Scan Cycle Load from Communication(扫描通讯循环负载)”,在给定框架内控制通讯过程的持续时间,因为一般通讯过程会增加扫描循环时间。

例如通讯过程包括以MPI方式将数据传送至其它CPU,或使用编程设备加载的通讯功能块。

该参数很少影响编程器测试功能。当然,你可以显著增加扫描时间。在处理模式中,你可以限制测试功能的时间(只适用于S7-300)。

参数的工作原理

CPU操作系统可持续提供用户组态的整个CPU处理能力的百分比(时间片技术)用于所组态的通讯。但如果不需要处理通讯时,可用于其它处理。

设置扫描循环时间

9ac1e1ea-a952-11ed-bfe3-dac502259ad0.png

无需其它异步事件,OB1扫描循环时间可以根据以下公式乘以一个系数进行扩展:

9ad5a66c-a952-11ed-bfe3-dac502259ad0.png

9aeb2aa0-a952-11ed-bfe3-dac502259ad0.png






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16358

    浏览量

    178009
  • plc
    plc
    +关注

    关注

    5011

    文章

    13291

    浏览量

    463272
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10863

    浏览量

    211732
  • 可编程控制器

    关注

    6

    文章

    536

    浏览量

    38851

原文标题:西门子PLC--用于循环程序处理的组织块(OB1)

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    SIMATIC S7-1500 PLC启动组织及其应用

    启动组织(Startup)在PLC的工作模式从STOP切换到RUN时执行一次。完成启动组织扫描后,将执行主程序
    发表于 08-09 09:07 1514次阅读
    SIMATIC S7-1500 PLC启动<b class='flag-5'>组织</b><b class='flag-5'>块</b>及其应用

    一种适用于低功耗超长指令字DSP处理器的硬件循环缓冲设计

    摘 要:提出了用于VLIWDSP处理器的硬件循环缓冲器的设计.该DSP处理器在结构上利用了在信号处理程序
    发表于 02-24 17:33 21次下载

    为什么单片机的主程序是死循环

    任何一个可用程序都必然是死循环程序,这不仅仅是指单片机程序。因为任何微处理器系统一旦开机,系统都在处理
    发表于 07-15 17:38 5356次阅读

    程序循环OB是什么?

    有了 PLC 后,在项目中会自动创建组织“Main [OB1]” 。 在下一部分中,您将在该组织中创建用户程序
    的头像 发表于 09-19 09:41 5299次阅读
    <b class='flag-5'>程序</b><b class='flag-5'>循环</b>OB是什么?

    西门子PLC用于循环程序处理组织循环程序执行的顺序

    用于循环程序处理组织(OB1) 在可编程控制器上循环
    的头像 发表于 10-19 18:18 7488次阅读
    西门子PLC<b class='flag-5'>用于</b><b class='flag-5'>循环</b><b class='flag-5'>程序</b><b class='flag-5'>处理</b>的<b class='flag-5'>组织</b><b class='flag-5'>块</b>:<b class='flag-5'>循环</b><b class='flag-5'>程序</b>执行的顺序

    西门子PLC用于循环程序处理组织(OB1)

    扫描循环时间是操作系统运行循环程序和中断循环的所有程序部分(例如,执行其它组织
    的头像 发表于 10-30 16:09 5552次阅读
    西门子PLC<b class='flag-5'>用于</b><b class='flag-5'>循环</b><b class='flag-5'>程序</b><b class='flag-5'>处理</b>的<b class='flag-5'>组织</b><b class='flag-5'>块</b>(OB1)

    PLC中的组织是什么

    有了 PLC  后,在项目中会自动创建组织“Main [OB1]” 。  在下一部分中,您将在该组织中创建用户程序。  用户
    的头像 发表于 01-03 09:23 7455次阅读
    PLC中的<b class='flag-5'>组织</b><b class='flag-5'>块</b>是什么

    如何编程使用OB组织

    如何编程使用OB组织.
    发表于 04-25 10:20 9次下载

    可编程控制器上循环程序处理组织(OB1)

    所以在循环程序处理过程中,CPU的过程信号映象是一致的。CPU并不直接访问I/O 模板上的输入(I )和输出(Q )地址区域,而是访问一个CPU内部的存储区域,该区域中包含输入和输出的映象。
    的头像 发表于 05-13 16:08 4252次阅读

    什么是程序

    程序是编程语句的容器。程序的主要目的是控制何时应执行编程语句,例如每当时钟上升沿出现时,或每当信号或总线改变值时。SystemVerilog有两种主要类型的
    的头像 发表于 02-09 16:04 2163次阅读
    什么是<b class='flag-5'>程序</b><b class='flag-5'>块</b>

    什么是组织

    有了 PLC 后,在项目中会自动创建组织“Main [OB1]” 。 在下一部分中,您将在该组织中创建用户程序
    的头像 发表于 03-28 09:37 1413次阅读

    KUKA机器人如何建立组织CYCLE

    组织CYCLE的任务(Tasks of the CYCLE OB) 选择OB1是因为它被循调用。它执行下列程序任务: 调用并提供功能ACQUIRE输入和控制数据。 读入功能
    的头像 发表于 04-24 09:52 497次阅读

    SIMATIC S7-1500 PLC循环中断组织及其案例分享

    CPU的操作系统循环执行OB1。当操作系统完成启动后,将启动执行OB1。在OB1中可以调用函数(FC)和函数(FB)。
    的头像 发表于 08-12 09:45 5342次阅读
    SIMATIC S7-1500 PLC<b class='flag-5'>循环</b>中断<b class='flag-5'>组织</b><b class='flag-5'>块</b>及其案例分享

    SIMATIC S7-1500 PLC硬件中断组织及其应用介绍

    硬件中断组织(如OB40)用于快速响应信号模块(SM)、通信处理器(CP)和功能模块(FM)的信号变化。
    发表于 08-21 09:25 2738次阅读
    SIMATIC S7-1500 PLC硬件中断<b class='flag-5'>组织</b><b class='flag-5'>块</b>及其应用介绍

    循环指令loop规定循环次数

    循环指令是计算机编程中非常重要的概念,它允许程序重复执行一段代码,使得程序可以更有效地处理大量数据和重复性任务。在本文中,我们将详尽、详实
    的头像 发表于 02-14 16:10 1665次阅读