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

    关注

    5007

    文章

    13131

    浏览量

    461682
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10816

    浏览量

    210945
  • 通信数据
    +关注

    关注

    0

    文章

    13

    浏览量

    9951

原文标题:PLC1500异步指令

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

收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

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

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

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

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

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

    光纤和光缆有何不同之处

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

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

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

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

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

    异步电路和同步电路区别在哪?

    部分是独立运行的,没有明确定义的时钟信号来同步它们的操作。相反,每个部分在满足特定的条件下单独启动和运行,通过相互之间的通信来完成所需的协作。异步电路通常采用握手协议来确保数据的正确传输,即在发送方发送数据
    的头像 发表于 12-07 10:53 3277次阅读

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

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

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

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

    同步异步通信协议介绍

    同步异步传输归结为时钟是外部的(同步)还是内部的(异步)。异步协议的一些例子包括UART、USB、CAN和以太网。
    发表于 11-27 15:39 1579次阅读
    <b class='flag-5'>同步</b>和<b class='flag-5'>异步</b>通信协议介绍

    同步整流和异步整流介绍

    一、同步整流 同步整流是采用Rdson较低功率MOS,取代了异步整流中续流二极管以降低续流损耗的一种类型。由于功率MOS属于电压型器件。用功率MOS做整流器时,要求栅极电压必须与被整流电压的相位保持
    的头像 发表于 11-20 16:52 2436次阅读
    <b class='flag-5'>同步</b>整流和<b class='flag-5'>异步</b>整流介绍

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

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

    深度学习技术与边缘学习技术的不同之处

    的侧重点不同,它们之间存在着差异。本文将帮助您深入理解深度学习技术与边缘学习技术的不同之处,以便您能更有效地将它们应用于您的行业领域,针对性地解决各种需求问题。
    的头像 发表于 11-17 10:44 542次阅读