S7 您所在的位置:网站首页 js48j计数器怎样使用 S7

S7

2023-12-07 05:38| 来源: 网络整理| 查看: 265

AB相编码器转速的测量

编码器Omron E6B2-CWZ5B 500脉冲/圈

测量编码器转速的两种方式: 方法一:在博图软件高速计数器的组态中,已经提供了捕捉编码器频率的组态选项。 频率的单位为:脉冲/秒,而我们现在使用的编码器为 500脉冲/转 所以进过简单的换算,将高速计数器采集到的频率 /500,即可得到我们所需要的转速:转/秒 在这里插入图片描述 方法二:利用循环中断,在固定的时间间隔内捕捉高速计数器所采集到的的脉冲个数,将数据进行转换得到我们所需要的转速。实际上在方法一中,高速计数器在采集频率数据的时候PLC系统内部也是根据这个逻辑来计算的。 下面我们对方法二进行一个简单的演示。

1.硬件接线 将编码器的A相接入I0.3,B相接入I0.4,Z相接入I0.5 2. 添加cpu 1214C,调整输入滤波时间 在PLC的 “属性”>“常规”>“DI14/DQ10”>“数字量输入”页面, 调整I0.3和I0.4的滤波时间 滤波时间的调整需要根据实际测量时的转速范围进行匹配,如果滤波时间设置的太长,在转速很快的情况下,就会出现丢失脉冲的情况。 默认滤波时间为6.4millisec,我们将其调整为3.2microsec。 在这里插入图片描述 3. 组态高速计数器HSC1 HSC1的计数类型选择“计数”,工作模式选择“A/B计数器”,初始计数方向选择“加计数”。 在这里插入图片描述 时钟发生器A的输入选择“I0.3” 时钟发生器B的输入选择“I0.4”

启用同步输入功能 同步输入选择 “I0.2” 在这里插入图片描述

记录下HSC1的硬件标识符 在这里插入图片描述

5.创建变量 新建DB块,在DB块内创建HSC_Count型变量,系统会自动识别变量类型。 展开count变量列表可以看到包含很多变量,我们需要用到CurrentCount,EnHSC,以及EnSync

CurrentCount:高速计数器的当前值 EnHSC:启用高速计数器,为1时开始启用,为0时停止启用。(调用CTRL_HSC_EXT指令,且在硬件门未组态的情况下) EnSync:同步输入,把count.NewStartValue的值赋值给高速计数器,本程序中NewStartValue保持默认值为0,相当于复位功能(需要在组态中启用同步输入功能,即I0.2与EnSync同时为1,同步输入才生效)

在这里插入图片描述 6.编写程序 在OB1中调用CTRL_HSC_EXT指令,HSC内填入HSC1的硬件标识符,CTRL内填入上面新建的变量

*MD200为循环中断读取到的高速计数器数值,下面会做介绍。 MD200 / 循环间隔 0.2s ,得到MD204 频率(脉冲/秒) MD204 / 500脉冲 , 得到MD208 转速(转/秒) MD208 乘以 60 , 得到MD212 转速(转/分钟) 在这里插入图片描述

创建循环中断,循环时间设置为200ms 在这里插入图片描述 循环中断内的程序如下: 循环中断将每隔200ms执行一次,相当于每隔200ms读取一次HSC1的计数值,将其赋值给MD200,然后将高速计数器清零,再开始新的200ms循环。

在这里插入图片描述 7.进入监控界面 将I0.2置位(必须置位后count.EnSync才发挥作用) 将count.EnHSC置位 转动编码器,采集到的转速经过计算在界面中实时显示 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有