下面通过一个示例介绍高速计数器计数测量的组态及编程。假设一个A/B正交编码器,要求实现以下功能:
•有硬件门。
•当前计数值等于8000时,比较输出一个脉冲,脉冲周期为100ms,脉冲宽度为50%。
•当前计数值等于10000时,并将计数器复位,周而复始。
针对以上要求,配置高速计数器HSC1,激活门输入、比较输出及CV=RV的硬件中断。硬件输入点分配如下:A相为I0.0,B相为I0.1,门输入为I0.3,比较输出为Q0.3。
1.硬件组态
1)激活高速计数器,选择计数类型:计数。工作模式:A/B计数器。
2)设置初始计数器值、初始参考值、初始参考值2,如图12-19所示。
3)激活门输入、比较输出,如图12-20所示。
4)激活CV=RV中断,新建硬件中断OB40,如图12-21所示。
5)选择高速计数器硬件输入/输出点,相关输入/输出点均可由用户自行分配,如图12-22所示。
图12-19 设置初始值
①—初始参考值:RV ②—初始参考值2—比较输出值
图12-20 激活门输入、比较输出
图12-21 激活中断
①—激活中断功能 ②—新建中断OB40(www.xing528.com)
6)设置当前高速计数器I/O地址,如图12-23所示。
7)设置I0.0与I0.1的滤波时间,如图12-24所示。
图12-22 分配硬件输入/输出点
图12-23 选择高速计数器I/O地址
图12-24 硬件滤波
2.程序编写
1)新建全局数据块“HSC_1”,在数据块中手动创建数据类型为“HSC_Count”的变量“Count”。
2)打开主程序OB1,在程序中拖入“CTRL_HSC_EXT”指令后,软件会自动创建指令的背景数据块,填写相关参数,如图12-25所示。
①“HSC” 高速计数器硬件标识符。
②“CTRL” 连接“HSC_1”.Count变量。
3)打开硬件中断OB40编程,每次进入中断后置位更新当前值位,编程如图12-26所示。
图12-25 调用程序块
图12-26 硬件中断内编程
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。