找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6009|回复: 0
打印 上一主题 下一主题
收起左侧

如何用 S7-200 计算脉冲宽度?

[复制链接]
跳转到指定楼层
楼主
ID:26188 发表于 2015-5-28 00:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
描述

可以用以下的方式计算脉冲宽度。
  • 创建一个脉宽调制子程序
    • 使用PLS脉冲输出功能和PWM功能创建一个20 kHz 脉冲序列。使用菜单“工具> 位置向导”。
    • 选择“配置S7-200 集成的 PTO/PWM 功能”。
    • 然后选择相应的输出用于发出脉冲,生成一个自动脉冲发生器 (如 Q0.0)。
    • 选择 PWM 功能和相应的时基 (微秒时基,时钟周期 50 μs,25 μs 脉宽)。
    • 然后点击“完成”确认创建子程序。
  • 使用指令向导HSC创建高速计数器
    • 使用菜单 工具>指令向导>HSC 打开高速计数器向导。
    • 在向导中选择相应的高速计数器 (如 HSC 1 模式 2),指定初始化选项。
    • 关闭向导。

    图 01
  • 插入子程序或中断到项目中
    • 在子程序SBR_0 中, 分配中断程序 (INT_0) 到事件 1 (I0.0 的下降沿) 。
    • 在中断程序中(INT_0), 拷贝当前计数值 HC1 到双字中 (VD0) 然后重新初始化计数器,复位计数器到0。

  • 硬件连接
    • 连接输出 Q0.0 (脉冲发生器)到高速计数器输入  (例子中是 I0.6  HSC1)。
    • 将要测量的脉冲 (initiator) 连接到启动输入 (I1.1  HSC1) 然后连接到中断输入 (I0.0)。当启动输入使能的时候,20 kHz脉冲开始计数。
    • 处理输入 I1.0 (复位输入 HSC1) 防止信号被使能。
    • I0.0的每个下降沿到来时,高速计数器 HSC1的计数值都会被读出来,填写到先前定义的存储区(VD0)中,计数器复位0。
    • 通过指定的脉冲序列计算脉冲宽度 (计算公式:测量的脉冲数量 x 0.0005 μs)。
    • 系数0.0005 通过脉冲序列 20000 的1/x 算出。


STEP 7 Micro/WIN 项目下载
下载中包含所有的必须子程序,中断和程序调用。项目使用 STEP 7 Micro/WIN V3.2.4.27 创建。
S7200Pulse.exe ( 31 KB )  
复制 "S7200Pulse.exe" 文件到单独的目录中,然后双击打开文件。 STEP 7 Micro/WIN 项目自解压。然后可以用 STEP 7 Micro/WIN V3.2.4.27 打开项目。


================================================


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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