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

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

3天内不再提示

同步/ 异步指令之间的不同之处

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2021-01-18 14:22 次阅读

简介

在程序执行过程中,同步和异步指令有着显著不同。

“同步”和“异步”属性与指令调用与执行间的时间顺序相关。

以下情况适用于同步指令:同步指令调用完成时,指令执行也完成。

而异步指令,则情况有所不同:异步指令调用完成时,异步指令的执行不一定完成。这也就意味着,异步指令的执行可以跨多次调用。在 CPU 中,异步指令的执行与用户程序循环同时进行。异步指令在 CPU 中生成待处理的作业。

异步指令通常用于传输数据(例如,模块的数据记录、通信数据、诊断数据)。

同步/ 异步指令之间的不同之处

下图显示了异步指令和同步指令处理的不同之处。在该图中,CPU 在指令执行完成(如,完成传输数据记录)之前,调用该异步指令五次。

对于同步指令,每次调用时都会完全执行。

e068a1c6-48f0-11eb-8b86-12bb97331649.png

① 第一次调用异步指令,开始执行

② 中间调用异步指令,继续执行

③ 最后一次调用异步指令,执行完成

④ 每次调用后,作业会完全通过同步指令进行处理。

完全处理的作业的持续时间

异步指令作业的并行处理

CPU 可同时执行多个异步指令作业。在以下情况下,CPU 将并行执行多个作业:

● 用于异步指令的作业会启动,而该指令的其它作业仍在运行中。

● 但不超出该指令可同时运行的作业最大数目。

下图显示了 WRREC 指令中两个作业的并行处理。在一段时间内,两个指令同时执行。

e0b0e81e-48f0-11eb-8b86-12bb97331649.png

为作业分配指令调用

要跨多个调用执行一个指令,CPU 需向该指令正在运行的作业唯一指定一个后续调用。

CPU 可通过以下两种方式为作业分配一个调用,具体取决于指令的类型:

● 使用指令的背景数据块(“SFB” 类型)

● 使用指令的作业标识输入参数。在异步指令的执行过程中,这些输入参数必须与执行过程中的各调用相匹配。

示例:“Create_DB” 指令的作业由输入参数 LOW_LIMIT、UP_LIMIT、COUNT、ATTRIB 和 SRCBLK 标识

下表列出了标识指令的输入参数。

e0e008a6-48f0-11eb-8b86-12bb97331649.png

e1323c48-48f0-11eb-8b86-12bb97331649.png

异步指令的状态

异步指令通过块参数 STATUS/RET_VAL 和 BUSY 显示指令的状态。有些异步指令也会使用块参数 DONE 和 ERROR 显示。

下图显示了两个异步指令 WRREC 和 CREATE_DB 的执行

e17abdb0-48f0-11eb-8b86-12bb97331649.png

① 输入参数 REQ 用于启动作业,执行异步指令。

② 输出参数 DONE 用于指示该作业已完成且无错误。

③ 输出参数 BUSY 用于指示作业是否正在执行。BUSY =1 时,为该异步指令分配资

源。BUSY = 0 时,未分配资源。

④ 输出参数 ERROR 用于指示发生了错误。

⑤ 输出参数 STATUS/RET_VAL 用于提供有关作业执行的状态信息。发生错误后,输出参数 STATUS/RET_VAL 用于接收错误信息。

资源的使用

异步指令在执行过程中将占用 CPU 中的资源。根据 CPU 类型和指令的不同,资源的使用具有一定限制。CPU 可同时执行最大数目的异步指令作业。在作业成功完成后或在出错后,这些资源将再次可用。

示例:对于 RDREC 指令,S7-1500 CPU 可以并行处理最多 20 个作业。

如果超出指令的最大并行作业数量,则会出现以下情况:

● 该指令将在块参数 STATUS 中返回错误代码 80C3(资源不足)。

● CPU 将停止执行作业,直至资源再次可用。

说明

低层级的异步指令

某些异步指令可使用一个或多个低层级的异步指令进行处理。下表列出了这种相关性。

请注意,每条级别较低的指令通常占用指令资源池中的一个资源。

责任编辑:lq

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

    关注

    5010

    文章

    13265

    浏览量

    462970
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10851

    浏览量

    211542
  • 通信数据
    +关注

    关注

    0

    文章

    13

    浏览量

    9961

原文标题:PLC1500异步指令

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

收藏 人收藏

    评论

    相关推荐

    CCD传感器与CMOS传感器的相同之处不同之处

           本文介绍了CCD传感器与CMOS传感器的相同之处不同之处。 相对最早发展起来的模拟相机,数字相机也是一个很庞大的家族,早在20世纪70年代,相机里出现了以CMOS技术为核心的类型分支
    的头像 发表于 11-24 10:39 723次阅读

    NXP MCX N23和MCX N94/54的不同之处

    继2024年一月份发布了MCXN94/54系列之后,NXP又在6月份发布了N系列的第二款产品,MCX N23系列,下面小编就为大家揭开它的神秘面纱,来看看这款产品有何特点,了解一下它和N94/54又有什么不同之处呢!
    的头像 发表于 11-01 12:35 377次阅读
    NXP MCX N23和MCX N94/54的<b class='flag-5'>不同之处</b>

    怎么判断同步清零和异步清零

    在数字电路设计中,清零操作是一种常见的操作,用于将寄存器或计数器的值清零。清零操作可以分为同步清零和异步清零两种方式,它们在电路设计中有着不同的应用场景和特点。 同步清零和异步清零的概
    的头像 发表于 07-23 11:11 3309次阅读

    异步线路和同步线路怎么区分

    定义 异步线路是一种数据传输方式,其中发送方和接收方不需要严格的时钟同步。在异步通信中,每个字符或数据帧都是独立传输的,每个字符之间由起始位和停止位分隔。 1.2 工作原理 起始位
    的头像 发表于 07-23 09:14 583次阅读

    同步电路和异步电路怎么判断正负极

    统一的时钟信号进行工作,各个部分的输出与输入之间存在固定的时序关系。同步电路通常用于数据传输、存储器、处理器等高速电子系统中。 异步电路(Asynchronous Circuit)是指电路中的各个部分不依赖于统一的时钟信号,而是
    的头像 发表于 07-22 17:37 441次阅读

    继电器和接触器有什么不同之处?

    继电器和接触器是两种常用的电气元件,它们在电路中起着非常重要的作用。虽然它们在某些方面有相似之处,但它们之间还是存在一些不同之处。以下是对继电器和接触器的详细比较: 定义和工作原理 继电器是一种利用
    的头像 发表于 06-21 10:10 846次阅读

    智能制造与传统制造有什么不同之处

    、生产方式、管理模式等方面存在很大的不同,这些不同之处正是智能制造的优势和特点。 二、设计理念的不同 传统制造设计理念 传统制造的设计理念主要侧重于产品的功能性、稳定性和成本效益。在设计过程中,设计师需要充分考
    的头像 发表于 06-07 15:36 3262次阅读

    单片机和plc有什么相同和不同之处

    某些方面具有相似之处,但在许多关键方面也存在显著差异。本文将详细探讨单片机和PLC的相同和不同之处。 一、相同之处 控制功能:单片机和PLC都具有控制功能,可以对各种设备和系统进行控制。它们可以接收输入信号,处理这些信号,然后输
    的头像 发表于 06-06 14:05 1174次阅读

    AUTOSAR MCAL驱动程序与演示程序中的Libraries中的驱动程序有什么不同之处

    1.关于 AUTOSAR MCAL 驱动程序 与演示程序中的 Libraries 中的驱动程序 有什么不同之处? 2.AUTOSAR MCAL 驱动程序中是否包含了 TC397 安全菜单中提及的 SM(安全机制)的接口? 3.是否有文档介绍AUTOSAR MCAL 驱动程序包含的内容?
    发表于 05-17 06:55

    verilog同步异步的区别 verilog阻塞赋值和非阻塞赋值的区别

    Verilog中同步异步的区别,以及阻塞赋值和非阻塞赋值的区别。 一、Verilog中同步异步的区别 同步传输和
    的头像 发表于 02-22 15:33 1648次阅读

    计数器怎么判断同步异步 计数器异步同步的区别

    计数器是计算机领域中常用的一种数据结构,用于记录和控制程序执行中的指令或事件发生的次数。计数器可以根据同步机制或异步机制进行操作。本文将详细讨论计数器的同步性和
    的头像 发表于 02-22 15:14 3563次阅读

    同步级联和异步级联的区别 异步级联和同步级联分别要注意什么

    指与同步级联相对应的,异步级联是一种不同的级联方式。在异步级联中,级联模块之间不需要等待前一个模块完全执行完毕才能开始执行下一个模块。相反,每个模块都可以独立运行,并在完成之后通知下一
    的头像 发表于 02-22 13:40 1803次阅读

    SPWM脉宽调制是异步还是同步

    SPWM脉宽调制是异步还是同步? SPWM脉宽调制是一种用于调节交流电压的技术,通过调整脉冲的宽度来模拟纯正的正弦电压信号。在SPWM技术中,脉冲的开启和关闭时间取决于参考信号和比较器之间的比较结果
    的头像 发表于 02-06 11:33 761次阅读

    光纤和光缆有何不同之处

    很多人会有这样的疑问,光纤和光缆有何不同之处?主要是因为光纤和光缆这两个名词容易引起混淆。在严格的定义下,光纤和光缆是两种不同的东西,然而在现实生活中,许多人仍然会混淆这两者。为了更好地理解光纤和光缆之间的区别,我们一起来看一下。
    的头像 发表于 01-15 17:01 837次阅读

    同步降压和异步降压的区别与联系

    同步降压和异步降压是两种不同的电源节能降压技术。它们在降低电压的目标方面有一些相似之处,但它们在实现方式、控制方法和应用领域等方面存在一定的差异。下面将详细介绍同步降压和
    的头像 发表于 12-25 15:13 5399次阅读