嵌入式
返回首页

西门子博途:扫描操作数的信号下降沿

2024-07-24 来源:elecfans

说明

使用“扫描操作数的信号下降沿”指令,可以确定所指定操作数(<操作数 1>)的信号状态是否从“1”变为“0”。该指令将比较 <操作数 1> 的当前信号状态与上一次扫描的信号状态,上一次扫描的信号状态保存在边沿存储器位 <操作数 2> 中。如果该指令检测到逻辑运算结果 (RLO) 从“1”变为“0”,则说明出现了一个下降沿。


下图显示了出现信号下降沿和上升沿时,信号状态的变化:

a6c3194e-22f3-11ee-962d-dac502259ad0.png

每次执行指令时,都会查询信号下降沿。检测到信号下降沿时,<操作数 1> 的信号状态将在一个程序周期内保持置位为“1”。在其它任何情况下,操作数的信号状态均为“0”。

在该指令上方的操作数占位符中,指定要查询的操作数(<操作数 1>)。在该指令下方的操作数占位符中,指定边沿存储位(<操作数 2>)。

说明
修改边沿存储位的地址
边沿存储器位的地址在程序中最多只能使用一次,否则,会覆盖该位存储器。该步骤将影响到边沿检测,从而导致结果不再唯一。边沿存储位的存储区域必须位于 DB(FB 静态区域)或位存储区中。

参数

下表列出了“扫描操作数的信号下降沿”指令的参数:

参数声明数据类型存储区说明
<操作数 1>InputBOOLI、Q、M、D、L、T、C要扫描的信号
<操作数 2>InOutBOOLI、Q、M、D、L保存上一次查询的信号状态的边沿存储位。

示例

以下示例说明了该指令的工作原理:

满足下列条件时,将置位操作数“TagOut”:

操作数“TagIn_1”、“TagIn_2”和“TagIn_3”的信号状态为“1”。

操作数“TagIn_4”出现信号下降沿。上一次扫描的信号状态存储在边沿存储器位“Tag_M”中。

操作数“TagIn_5”的信号状态为“1”。



进入嵌入式查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • FollowMe 第二季:3 - EK_RA6M5 开发板入门

  • FollowMe 第二季: 1 Adafruit Circuit Playground Express及任务讲解

  • Azure RTOS step by step workshop

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • 从0到1:树莓派与物联网教程(英文)

精选电路图
  • 1瓦线性调频增强器

  • 家用电器遥控器

  • 12V 转 28V DC-DC 变换器(基于 LM2585)

  • 红外开关

  • DS1669数字电位器

  • HA1377 桥式放大器 BCL 电容 17W(汽车音频)

    相关电子头条文章