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
    +关注

    关注

    4974

    文章

    12250

    浏览量

    454862
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10437

    浏览量

    206527
  • 通信数据
    +关注

    关注

    0

    文章

    13

    浏览量

    9933

原文标题:PLC1500异步指令

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

收藏 人收藏

    评论

    相关推荐

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

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

    同步置数,异步置数,同步清零,异步清零的概念

    同步置数、异步置数、同步清零和异步清零是数字电路设计中常用的概念。 一、同步置数 同步置数是指在
    的头像 发表于 02-22 13:48 1776次阅读

    光纤和光缆有何不同之处

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

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

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

    同步整流和异步整流的区别

    同步整流和异步整流的区别  同步整流和异步整流是电力系统中常用的两种整流方式,它们有着不同的工作原理和特点。本文将详细介绍同步整流和
    的头像 发表于 12-08 10:06 1388次阅读

    单模和多模光纤跳线有哪些不同之处

    单模和多模光纤跳线有哪些不同之处? 单模和多模光纤跳线是两种不同类型的光纤连接方式,它们在传输性能、工作距离、适用场景等方面存在着一些不同之处。下面将详细介绍单模和多模光纤跳线的区别,以供
    的头像 发表于 12-07 10:09 1278次阅读

    噪音抑制与主动降噪:有何不同之处

    噪音抑制与主动降噪:有何不同之处
    的头像 发表于 11-30 17:29 310次阅读
    噪音抑制与主动降噪:有何<b class='flag-5'>不同之处</b>?

    什么是同步逻辑和异步逻辑?同步电路与异步电路有何区别?

    什么是同步逻辑和异步逻辑?同步电路与异步电路有何区别? 同步逻辑和异步逻辑是计算机科学中的两种不
    的头像 发表于 11-17 14:16 1481次阅读

    混频器与变频器的不同之处

    混频器和变频器都是电子电路中常见的元件,用于处理频率。它们有一些相似之处,也有一些不同之处
    的头像 发表于 11-13 09:34 478次阅读

    GTO与晶闸管的开通与关断有什么不同之处

    GTO与晶闸管的开通与关断有什么不同之处  GTO(Gate Turn-Off Thyristor)和晶闸管(Thyristor)是两种电力电子器件,它们都被广泛应用于交流电路的控制中。虽然这两种
    的头像 发表于 09-13 17:08 2015次阅读

    同步复位与异步复位的区别

    请简述同步复位与异步复位的区别,说明两种复位方式的优缺点,并解释“异步复位,同步释放”。
    的头像 发表于 08-14 11:49 4057次阅读

    Xilinx FPGA异步复位同步释放—同步后的复位该当作同步复位还是异步复位?

    针对异步复位、同步释放,一直没搞明白在使用同步化以后的复位信号时,到底是使用同步复位还是异步复位?
    发表于 06-21 09:59 808次阅读
    Xilinx FPGA<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>复位?

    C语言指针和引用的不同之处及使用场合

    指针和引用的不同之处是什么?
    发表于 06-14 09:14 180次阅读
    C语言指针和引用的<b class='flag-5'>不同之处</b>及使用场合

    如何区分同步复位和异步复位?

    、电路中,何时采用同步异步,取决于设计者,取决于当前设计电路的需要。一般而言:高速逻辑应该采用同步复位,低速逻辑可以采用异步复位;涉及人机交互的复位,适合
    发表于 05-22 17:33

    高格解读:GB 31241-2022与旧标准的不同之处

    GB 31241-2022与旧版标准的不同之处
    的头像 发表于 05-17 16:13 813次阅读
    高格解读:GB 31241-2022与旧标准的<b class='flag-5'>不同之处</b>