如何用 S7-200 计算脉冲宽度? 点击:868 | 回复:1



纵横军团-王道火山

    
  • 精华:2帖
  • 求助:5帖
  • 帖子:86帖 | 1878回
  • 年度积分:0
  • 历史总积分:7858
  • 注册:2012年1月11日
发表于:2012-09-20 22:06:51
楼主

描述
可以用以下的方式计算脉冲宽度。

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


    图 01
     

  3. 插入子程序或中断到项目中
    • 在子程序SBR_0 中, 分配中断程序 (INT_0) 到事件 1 (I0.0 的下降沿) 。
    • 在中断程序中(INT_0), 拷贝当前计数值 HC1 到双字中 (VD0) 然后重新初始化计数器,复位计数器到0。
       
  4. 硬件连接
    • 连接输出 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 打开项目。




991154773

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 34回
  • 年度积分:0
  • 历史总积分:24
  • 注册:2014年5月09日
发表于:2014-05-11 15:42:14
1楼

文件怎么打不开啊?????????


热门招聘
相关主题

官方公众号

智造工程师