分享

【跟着我一起来学习s7-200】41高速计数器的使用

 老黄兄 2015-01-14

前面学习了高速计数器的基本内容,包括了解高速计数器和使用高速计数器的流程,那么今天就继续学习一下高速计数器的其他内容。

我们把高速计数器和前面学习的中断结合在一起来学习,对于这个指定中断,我们要知道几个要点的内容,第一,所有计数器模式都支持在HSC的当前值等于预设值时产生一个中断事件;第二,使用外部复位端的计数模式支持外部复位中断;第三,除了模式0、1、2之外,所有计数器模式支持计数方向改变中断。我们在使用时要注意的是当使用外部复位中断时,不要写入初始值,或者是在该中断服务程序中禁止再允许高速计数器。

我们再看一下高速计数器的状态字节。我们要知道每一个高速计数器都有一个状态字节,该字节的每一位都反映了这个计数器的工作状态。这些状态位表示当前计数方向以及当前值是否大于或等于预设值。我们要注意的是只有在执行中断服务程序时,状态位才有效。下面就附上高速计数器的状态位表。

2014-10-21 14:37 上传

下载附件 (6.74 KB)

下面我们就看一下HSC指令的使用。

2014-10-21 14:37 上传

下载附件 (5.61 KB)

2014-10-21 14:37 上传

下载附件 (4.62 KB)

2014-10-21 14:37 上传

下载附件 (955 Bytes)

以上程序中,首次扫描首先传送16#F8到SMB47定义控制字节,然后执行HEDF指令定义高速计数模式和选择高速计数器,然后是写入初始值和预设值,然后是ATCH连接中断程序0和中断事件号13,那么就是为计数器当前值CV等于预设值PV连接中断,然后是一个ATCH连接中断程序1和中断事件号14,那么就是连接计数器方向改变中断,然后又是一个ATCH连接中断程序2和中断事件号15,那么就是连接计数器外部复位中断,建立连接中断后要允许全局中断,执行ENI指令,最后是激活高速计数器,执行HSC指令。

那么以上是用HSC指令来编程这个高速计数器的程序,除此之外,我们还可以用向导来生成高速计数器程序。

高速计数器向导可以从菜单栏的“工具-指令向导”里面打开,弹出指令向导对话框后,我们选择“HSC”再点击下一步就可以了。

2014-10-21 14:37 上传

下载附件 (50.62 KB)

出现“HSC指令向导”后,我们可以选择配置哪个计数器和选择哪个模式,这里我们选择HC1和模式5,然后点击下一步。

2014-10-21 14:38 上传

下载附件 (53.77 KB)

选择计数器和模式之后,我们可以设置计数器的预置值、初始值和计数方向等,这里我们写入预设值为100,其他保持默认,然后点击下一步。

2014-10-21 14:38 上传

下载附件 (56.6 KB)

然后我们可以配置中断事件和编程步数,在这里配置的中断事件不是必须的,我们可以根据自己的要求来选择使用,我们要注意的是一个高速计数器最多只能有3个中断事件。

2014-10-21 14:38 上传

下载附件 (56.67 KB)

对于当前值等于预置值时产生的中断,我们还可以写入新的预置值和当前值,我们可以定义高速计数器每一步的操作。定义好之后,点击下一步,就会完成向导生成一个子程序HSC_INT。

2014-10-21 14:38 上传

下载附件 (54.81 KB)

使用时我们在主程序块中使用SM0.1或边沿触发指令调用这个子程序就可以了。

主程序:

2014-10-21 14:39 上传

下载附件 (1.27 KB)

HSC_INIT子程序:

2014-10-21 14:39 上传

下载附件 (4.7 KB)

2014-10-21 14:39 上传

下载附件 (3.66 KB)

2014-10-21 14:39 上传

下载附件 (977 Bytes)

那么以上就是高速计数器的内容,在后面我们再以程序案例的形式来学习一下高速计数器的应用。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多