合信论坛

快捷导航
查看: 3098|回复: 0

上升沿下降沿不够用时怎么办?

[复制链接]

148

主题

236

帖子

3141

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3141
发表于 2022-7-7 14:43:30 | 显示全部楼层 |阅读模式
使用以下库可以实现过多的边沿检测。通常CPU仅支持256个边沿检测。本程序例程也可以用于子程序中。
这个库包含两个例行程序:分别适用于上升沿和下降沿。

上升沿

上升沿子程序调用
参数
变量类型
说明
EN
BOOL
必须始终高(1)
Input
BOOL
信号输入,当发生(0 -> 1)改变时,激 活输出1个循环周期.
Memory
BOOL
临时存储区
Output
BOOL
信号输出
表1:上升沿的参数说明
功能:
如果信号输入(input)的状态发生变化0 -> 1(上升沿),那么信号输出(output)将被置位一个循环周期。
存储位保留该状态。为了识别另一个边沿,信号输入(input)必须运行一个零循环。这样存储位将被复位。

图3:上升沿的时序图
下降沿

图4:下降沿子程序调用
参数
变量类型
说明
EN
BOOL
必须始终高(1)
Input
BOOL
信号输入,当发生(0 -> 1)改变时,激活输出1个循环周期
Memory
BOOL
临时存储区
Output
BOOL
信号输出
表2:下降沿的参数说明
功能:
如果信号输入 (input) 的状态发生1 -> 0 (下降沿)变化,那么信号输出 (output) 将被置位一个循环周期.
存储位保留该状态。为了识别另一个边沿,信号输入 (input) 必须被复位为 High 1个循环周期。这样存储位将被复位。

图5:下降沿的时序图
上升沿与下降沿(块: Edge_detect)

图6:子程序调用块Edge_detect
参数
变量类型
说明
EN
[BOOL]
使能: 使能功能,必须一直为TRUE (1)
IN
[BOOL]
信号输入,在上升沿(0->1)或下降沿(1->0),将被设置为“ OUT”一个循环周期。
Memory
[BOOL]
临时存储区
OUT
[BOOL]
信号输出
表3:Edge_detect的参数
功能:
如果信号输入“IN”出现上升沿(0->1)或下降沿 (1->0)变化,那么信号输出“OUT2”将被置位一个循环周期。存储位保存“IN”信号的当前状态。

图7:Edge_detect 信号图

rising_falling_edge.ctmwl

13.44 KB, 下载次数: 94

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

客服热线
400-700-4858 周一至周五:09:00 - 18:00
深圳市南山区打石一路深圳国际创新谷6栋A座9层

深圳市合信自动化技术有限公司(简称“合信技术”)成立于2003年,高新技术企业,专注于工业自动化产品的研发、生产、销售和技术服务,依靠高质量、高性能的自动化控制产品与方案为客户创造最大价值,立志于成为全球领先的工业自动化解决方案供应商。

Archiver|手机版|小黑屋|COTRUST Inc. ( 粤ICP备13051915号 )

GMT+8, 2024-5-16 05:16 , Processed in 0.071172 second(s), 23 queries .

快速回复 返回顶部 返回列表