S7-200PLC 高速计数器中断编程详解 超简单!

大家好,我是微控小智,今天又跟大家见面了。学习需要坚持,做技术亦是如此,厚积才能博发。小智写的程序都是进行反复测试过的,可以放心跟着操作,有疑问的地方可以留言。

已经知道高速计数器工作在中断方式下,不经过扫描周期,对频率较高的输入信号需采用高速计数器来计数,在上一期中我们也熟悉了高速计数器的编程步骤,在高速计数器编程还经常使用中断,在中断事件列表当中,有很大一部分是用于高速计数器的中断事件,今天来总结高速计数器中断事件的编程。

如果要加入高速计数器中断事件,高速计数器的编程步骤需要增加两个:

高速计数器编程需完成以下基本操作:

设置高速计数器控制字节

设置高速计数器初始值

设置高速计数器预设值

连接高速计数器和工作模式

连接中断程序和中断事件

开放中断

激活高速计数器

中断事件优先级列表如下图所示:

高速计数器中断事件:

在普通计数器中有当前值等于预设值时计数器的状态位接通,而在高速计数器中当前值等于预设值时是会中断事件产生,所有计数器模式都支持在HSC的当前值等于预设值时产生一个中断事件。使用外部复位端的计数模式支持外部复位中断。除去模式0、1和2之外,所有计数器模式支持计数方向改变中断。

下面以HSC0为例,当前值等于预设值中断、外部复位中断和方向改变中断分别编程如下图所示:

需要注意的是当使用外部复位中断时,不要写入初始值或者是在该中断服务程序中禁止再允许高速计数器,否则会产生一个致命错误。因为外部复位就是清零,再写入初始值无效。没有复位端的工作模式是无法直接复位的,这时只能通过程序复位,可修改高速计数器的初始值特殊寄存器,但还需注意用HSC指令重新激活一次。所有的高速计数器模式都可以通过程序复位。

实践出真知,没有实践,理论就是纸上谈兵;学习中需要多加验证。如果大家觉得小智的文章写得不错,很适合大家的口味,可以分享更多的朋友。

纸上得来终觉浅,绝知此事要躬行

宝剑锋从磨砺出,梅花香自苦寒来

关注智微自控

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180117G0S2RS00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券