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

    文章

    2654

    浏览量

    47278
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10796

    浏览量

    210701
  • 计数器
    +关注

    关注

    32

    文章

    2251

    浏览量

    94245

原文标题:PLC1500循环的定义

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

收藏 人收藏

    评论

    相关推荐

    CPU主频是什么意思

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

    什么是CPU时钟速度

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

    CPU时钟周期的组成和作用

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

    CPU定义和功能

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

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

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

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

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

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

    PLC循环移位指令包括循环左移指令和循环右移指令。在循环移位过程中,移出的位并不会丢失,而是会放回空出的位上,形成一个环形移位。
    的头像 发表于 03-07 16:57 1873次阅读
    什么是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 1511次阅读
    S7-<b class='flag-5'>1500</b>与CP343-1之间的TCP通信(TIA)配置过程

    循环指令loop规定循环次数

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

    g73钻孔循环指令格式

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

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

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

    java中cpu占用过高如何分析

    的每个线程都会占用一定的CPU资源,当线程数量过多时,会导致CPU占用过高。这可能是因为程序中创建了大量的线程,或者存在线程创建后没有正确关闭的情况。 死循环:程序中存在死循环时,会导
    的头像 发表于 12-05 11:15 8825次阅读

    for in range循环怎么使用

    for-in range 循环是Python中的一种循环结构,用于重复执行一段代码,而且循环次数是已知的。 在Python中,for-in range 循环有以下几种用法: 通过指定
    的头像 发表于 11-21 14:49 1.2w次阅读

    S7-1500:设置CPU语言的步骤

    对于CPU上文本的多语言管理,必须使用CPU的多语言属性来选择项目中所需的语言。这是例如 ProDiag消息文本使用多种语言所必需的。
    的头像 发表于 11-16 16:13 858次阅读
    S7-<b class='flag-5'>1500</b>:设置<b class='flag-5'>CPU</b>语言的步骤

    PLC编程循环语法使用方法

    不管什么CPU,什么编程语言,都有循环语法,可以用于实现循环。当然,很多时候,语言对循环支持的并不够理想。通常还要有指针,间接寻址等配合。所以在PLC编程中,属于难度比较高的题目。
    发表于 11-13 15:30 1023次阅读
    PLC编程<b class='flag-5'>循环</b>语法使用方法