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

    关注

    5045

    文章

    14441

    浏览量

    483575
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11216

    浏览量

    222948
  • 通信数据
    +关注

    关注

    0

    文章

    13

    浏览量

    10093

原文标题:PLC1500异步指令

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    高速数据存取同步SRAM与异步SRAM的区别

    存储解决方案。与传统的异步SRAM相比,同步SRAM在结构和工作机制上进行了优化,能够更好地适应高速数据处理场景,因此在通信设备、嵌入式系统及高性能计算等领域被广泛应用。
    的头像 发表于 11-18 11:13 141次阅读

    为什么同步电机多做发电机而异步电机多做电动机?

    根本原因在于:​ ​同步电机能精确控制磁场(励磁),而异步电机不能。​ ​下面我们从研发的四个核心维度进行深度解读。 一、核心原理与特性对比(研发的出发点) 特性维度 同步电机 异步
    的头像 发表于 10-30 16:21 924次阅读

    如何实现EtherCAT与电机控制之间同步处理

    上篇提到利用EtherCAT产生的sync信号,同步所有从站节点系统,完成在同一时刻的电机指令更新。那么,今天跟大家介绍的是如何利用sync信号去同步电机控制系统。
    的头像 发表于 09-28 14:28 5204次阅读
    如何实现EtherCAT与电机控制<b class='flag-5'>之间</b>的<b class='flag-5'>同步</b>处理

    rt_thread4.1.0 开启ulog异步日志,finsh失效是怎么回事?

    rt_thread4.1.0 开启ulog异步日志,finsh失效,>msh打印不出来,按任何指令也没有显示
    发表于 09-26 07:42

    从底层解读labview的TDMS高级异步写入的工作原理

    的数据生成线程)点菜(调用异步写入函数)。服务员(异步写入函数)记下订单后立即转身离开去服务下一位顾客(不阻塞顾客),而不是站在厨房门口等厨师做完这道菜才回来(同步)。订单(写入请求)被放到厨房的订单队列
    发表于 08-14 17:05

    LM2655系列 2.5A高效同步开关稳压器数据手册

    LM2655 是一款电流模式控制的 PWM 降压开关稳压器。它具有在同步异步模式下运行的独特能力。这使设计人员可以灵活地在同步作的高效率或异步作的低解决方案成本
    的头像 发表于 07-28 10:12 563次阅读
    LM2655系列 2.5A高效<b class='flag-5'>同步</b>开关稳压器数据手册

    三坐标和激光跟踪仪的不同之处

    激光跟踪仪和三坐标测量机(CMM)是工业领域两大高精度测量设备,但它们在原理、适用范围和典型场景上存在显著差异。下面从核心区别与应用领域两方面进行系统分析:一、核心区别对比1.测量原理与工作方式激光跟踪仪基于球坐标系,通过激光束追踪目标反射镜(靶球),实时测量距离与角度,动态捕捉目标点坐标。支持无靶标扫描(如LeicaATS600)。特点:非接触或轻接触、动
    的头像 发表于 07-21 15:07 1129次阅读
    三坐标和激光跟踪仪的<b class='flag-5'>不同之处</b>

    同步快?异步稳?串口通信方案选择的避坑指南

    我们常用的串口究竟是同步还是异步?蓝牙模块、WiFi模块用的又是什么方式?今天,我们就来一探究竟,讲清楚串口通信的同步异步的区别。 1.同步
    的头像 发表于 07-09 16:58 541次阅读
    <b class='flag-5'>同步</b>快?<b class='flag-5'>异步</b>稳?串口通信方案选择的避坑指南

    AMD FPGA异步模式与同步模式的对比

    本文讲述了AMD UltraScale /UltraScale+ FPGA 原生模式下,异步模式与同步模式的对比及其对时钟设置的影响。
    的头像 发表于 07-07 13:47 1426次阅读

    六相异步电机的分组式SVPWM控制的研究

    保证两套三相电源的相位差和两套绕组之间的空间夹角相等:但不用严格做到恒相位差同步,分组式逆变模块之间的通讯要求不高。因此六相异步电机的分组式控制是比较容易实现的,扩展开来,采用同样的思
    发表于 06-10 13:08

    PCIe EtherCAT实时运动控制卡PCIE464同步跟随/皮带跟随加工应用

    MOVESYNC指令实现同步/皮带跟随应用
    的头像 发表于 06-04 11:17 626次阅读
    PCIe EtherCAT实时运动控制卡PCIE464<b class='flag-5'>同步</b>跟随/皮带跟随加工应用

    第二十四章 通用同步异步收发器(USART)

    本文介绍了W55MH32的通用同步异步收发器(USART),其支持全双工异步通信、NRZ格式,具分数波特率发生器,可编程数据字长、停止位等。支持LIN、IrDA等模式,有DMA及多种中断,适用于多场景高速通信。
    的头像 发表于 05-29 15:44 2071次阅读
    第二十四章 通用<b class='flag-5'>同步</b><b class='flag-5'>异步</b>收发器(USART)

    使用STM32F103控制两步进电机同时进行不同的运动(软件指令驱动),与控制一个电机的不同之处在哪里?

    使用STM32F103控制两步进电机同时进行不同的运动(软件指令驱动),与控制一个电机的不同之处在于哪里?
    发表于 03-10 08:22

    SDRAM控制器的设计——Sdram_Control.v代码解析(异步FIFO读写模块、读写SDRAM过程)

    前言 SDRAM控制器里面包含5个主要的模块,分别是PLL模块,异步FIFO 写模块,异步FIFO读模块,SDRAM接口控制模块,SDRAM指令执行模块。 其中异步FIFO模块解读
    的头像 发表于 03-04 10:49 2180次阅读
    SDRAM控制器的设计——Sdram_Control.v代码解析(<b class='flag-5'>异步</b>FIFO读写模块、读写SDRAM过程)

    同步整流和非同步整流有什么区别

    在电源转换领域,整流是一个关键环节,而同步整流与非同步整流作为两种常见的整流方式,它们有着诸多不同之处,这些差异直接影响着电源电路的性能表现。 从整流元件的构成来看,非同步整流通常采用
    的头像 发表于 02-04 11:31 1354次阅读