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

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

3天内不再提示

CPU1500之循环的定义

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2021-03-02 15:50 次阅读

CPU1500之循环的定义

在一个循环中,包含以下几部分内容:

● 自动更新输出的过程映像分区 0 (PIPI 0)

● 自动更新输入的过程映像分区 0 (PIPI 0)

● 循环程序的执行

在该循环中,过程映像分区 0 将自动更新。通过“自动更新” (Automatic update) 设置(默认)组态 I/O 模块时,应将 I/O 地址分配给这些过程映像分区 (PIPI 0/PIPQ 0) 。

下图举例说明一个循环期间发生的各个阶段。在下例中,用户组态了最小循环时间。更新过程映像分区和处理循环程序在组态的最小循环时间结束之前完成。因此,CPU 会等待组态的最小循环时间到期,然后再开始下一次程序循环。

c387b710-71cf-11eb-8b86-12bb97331649.png

操作系统启动循环时间测量的循环控制点。

② CPU 将过程映象输出的状态写入输出模块中。

③ CPU 读取输入模块的输入状态,并将输入数据写入过程映像输入中。

④ CPU 执行用户程序,并执行程序中的指令。

⑤ 等待阶段,直至组态的最小循环时间结束

循环控制点

达到循环控制点后,CPU 已完成循环程序,不再执行 OB。此时,所有用户数据保持一致。要求没有任何修改用户数据的通信(比如 HMI 通信或 PUT/GET 通信)处于活动状态。

循环控制点标记了:

● 循环及其循环时间统计信息结束

● 下一循环及其循环时间统计信息开始

● 重新开始监测组态的最大循环时间

(超时计数器复位)

循环控制点的到达取决于以下哪一事件是最后发生的:

● 结束上一个程序循环 OB

● 最小循环时间到期(若已组态)

已到达循环控制点后,CPU 会执行以下步骤:

1. 将过程映像输出写入输出模块

2. 将输入模块的输入状态读取到过程映像输入中

3. 执行第一个程序循环 OB

循环时间的定义

循环时间是 CPU 执行以下操作需要的时间:

● 更新过程映像输入/ 输出

● 执行循环程序

● 中断此循环的所有程序段和系统活动

● 等待最小循环时间(如果已进行参数设置,且时间长于程序执行时间)

循环时间不同的原因

下图举例说明了这两种不同的循环时间 Tcyc1和 Tcyc2。

本例中,由于循环程序被循环中断 OB(例如:OB 30)中断,因此循环时间 Tcyc2大于 T cyc1。之后,运动控制功能和通信将再次中断该循环中断 OB。

c3fbb0a2-71cf-11eb-8b86-12bb97331649.png

最小循环时间

在 STEP 7 中,可设置 CPU 的最小循环时间。非冗余 CPU 的默认最小循环时间设置为 1 毫秒。在以下情况下,建议增大该值:

● 降低循环时间的波动范围。

● 使用剩余的计算时间执行通信任务。CPU 随后会在最小循环时间到期之前处理这些通信任务。

使剩余计算时间可用于通信任务的优点如下:

– 延长最小循环时间,避免过程映像不必要地频繁更新,从而降低背板总线的负载。

– 延长最小循环时间可提高通信性能。

最大循环时间

最大循环时间是循环程序运行时间的可组态上限。最大循环时间任务将监测相应进程需要的响应时间。

非冗余 CPU 的最大循环时间默认设为 150 ms。为 CPU 分配参数时,可在 1 ms 到 6000 ms 范围内设置该值。如果当前处理的循环时间长于最大循环时间,则会调用时间错误 OB (OB 80)。通过 OB 80 中的用户程序指定 CPU 对时间错误的响应。

首次超出循环时间(不使用 OB 80)⇒ STOP

首次超出循环时间(使用 OB 80)⇒ RUN

第二次超出循环时间(使用 OB 80)⇒ STOP

要直接在 STEP 7 中查看循环时间的统计信息,请按以下步骤操作:

1. 使用 STEP 7 建立与 CPU 的在线连接。

2. 选择“在线工具”(Online tools) 任务卡。

结果:循环时间统计信息图显示在循环时间部分。

下图显示了从 STEP 7 直接读取的循环时间统计信息。在本示例中,循环时间在 7 ms 和 12 ms 间波动。当前的循环时间为 10 ms 。此时,可设置的最长循环时间为 40 ms。

责任编辑:lq

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

    关注

    7

    文章

    2716

    浏览量

    47529
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10873

    浏览量

    212017
  • 计数器
    +关注

    关注

    32

    文章

    2256

    浏览量

    94645

原文标题:PLC1500循环的定义

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

收藏 人收藏

    评论

    相关推荐

    LinuxCPU调度策略和CPU亲和性

    一、调度策略 调度进程 单个 CPU一次只能执行一个进程,虽然 Linux 系统通过使用多任务同时处理多个进程,但当多个进程同时运行在一个CPU 上时,它通过交错执行这些进程。 内核使用进程调度器来
    的头像 发表于 12-05 16:38 470次阅读
    Linux<b class='flag-5'>之</b><b class='flag-5'>CPU</b>调度策略和<b class='flag-5'>CPU</b>亲和性

    CPU主频是什么意思

    CPU主频,作为计算机处理器性能的一个重要指标,承载着丰富的技术内涵与实际应用价值。以下是对CPU主频的详细解析,包括其定义、用途、技术原理、影响因素以及在多个领域的实际应用。
    的头像 发表于 09-26 15:50 1847次阅读

    什么是CPU时钟速度

    CPU时钟速度,作为衡量CPU性能的关键指标之一,对于理解计算机处理速度具有重要意义。下面将从定义、作用、计算方式、影响因素以及实际应用等多个方面对CPU时钟速度进行详细阐述。
    的头像 发表于 09-26 15:40 735次阅读

    CPU时钟周期的组成和作用

    CPU时钟周期是计算机体系结构中一个至关重要的概念,它直接关联到CPU的运行速度和性能。以下是对CPU时钟周期的定义、组成和作用的详细解析。
    的头像 发表于 09-26 15:32 667次阅读

    CPU定义和功能

    CPU(Central Processing Unit,中央处理器)作为计算机系统的核心部件,其功能和作用至关重要。以下是对CPU功能的详细解析,内容将涵盖CPU的基本定义、主要功能、
    的头像 发表于 09-10 11:45 4532次阅读

    什么是CPU缓存?它有哪些作用?

    CPU缓存(Cache Memory)是计算机系统中一个至关重要的组成部分,它位于CPU与内存之间,作为两者之间的临时存储器。CPU缓存的主要作用是减少CPU访问内存所需的时间,从而提
    的头像 发表于 08-22 14:54 3240次阅读

    S7-1500冗余 PLC 1500R使用入门

    电子发烧友网站提供《S7-1500冗余 PLC 1500R使用入门.pdf》资料免费下载
    发表于 08-13 09:12 1次下载

    什么是PLC循环移位指令 PLC循环移位的特点

    PLC循环移位指令包括循环左移指令和循环右移指令。在循环移位过程中,移出的位并不会丢失,而是会放回空出的位上,形成一个环形移位。
    的头像 发表于 03-07 16:57 2192次阅读
    什么是PLC<b class='flag-5'>循环</b>移位指令 PLC<b class='flag-5'>循环</b>移位的特点

    S7-1500与CP343-1之间的TCP通信(TIA)配置过程

    SIMATIC S7- 1500 CPU集成了 PROFINET 接口,该接口除了具备连接 PROFINET总线通信功能,同时还可用于标准的 TCP 通信。
    的头像 发表于 02-22 11:24 1813次阅读
    S7-<b class='flag-5'>1500</b>与CP343-1之间的TCP通信(TIA)配置过程

    arduino如何停止loop循环

    Arduino的loop循环是其主要的程序执行部分,该循环将在Arduino开发板上持续运行,并且只有在程序被重新上传或开发板断电重启时才会停止。然而,在某些情况下,你可能需要在程序执行过程中停止或
    的头像 发表于 02-14 16:24 4573次阅读

    arduino中while循环怎么跳出

    Arduino 是一款开源的硬件平台,广泛应用于各种物联网和嵌入式系统项目。在 Arduino 上编写代码时,循环结构起到了至关重要的作用。而其中的 while 循环更是常用于需要根据特定条件重复
    的头像 发表于 02-14 16:22 2624次阅读

    循环指令loop规定循环次数

    景。 什么是循环指令 循环指令是一种迭代控制结构,它允许程序多次执行相同或类似的代码块。循环指令通常由三个关键组件组成:初始化、条件和更新。初始化用于设置循环变量的初始值,条件
    的头像 发表于 02-14 16:10 1715次阅读

    g73钻孔循环指令格式

    G73钻孔循环是一种钻孔指令,用于在机械加工中进行孔加工操作。这个指令的格式比较简单,但在实际应用中需要注意一些细节。下面将详细介绍G73钻孔循环指令的格式和使用方法。 G73钻孔循环指令的格式如下
    的头像 发表于 02-14 16:01 7928次阅读

    如何估算S7-1500 CPU的装载存储区在SIMATIC存储卡上的大小?

    S7-1500 CPU 的装载存储区在 SIMATIC 存储卡上。根据以下操作步骤可以确定用户程序所需要的存储区的大小以便确定所需存储卡的大小。
    的头像 发表于 01-29 10:00 1022次阅读
    如何估算S7-<b class='flag-5'>1500</b> <b class='flag-5'>CPU</b>的装载存储区在SIMATIC存储卡上的大小?

    EHS-IOT水循环安全生产监管方案,守护企业的安全盾!

    在铸造型企业的生产过程中,锅炉作为核心设备之一,其安全运行对于企业的正常生产和经济效益至关重要。随着工业技术的不断进步,对水循环安全生产进行科学监管成为企业持续发展的必然要求。案例架构漫途水循环安全
    的头像 发表于 01-23 15:15 431次阅读
    EHS-IOT水<b class='flag-5'>循环</b>安全生产监管方案,守护企业的安全<b class='flag-5'>之</b>盾!