安全型数字量模块6ES7516-3FP03-0AB0安全型数字量模块6ES7516-3FP03-0AB0
功能模块计数器模块代理商 定位模块代理商 电子凸轮控制器代理商
高度布尔处理器代理商 闭环控制模块代理商 闭环温度控制模块代理商 S7-300接口模块代理商
前连接器模块代理商 S7-300连接电缆代理商 安全型数字量模块代理商 西门子电缆代理商西门子触摸屏代理商西门子PLC模块代理商
在利用PLC进行运动控制或者需要统计编码器等输入的高速脉冲信号的时候,我们常常会用到高速计数器来进行计数,高速计数器能准确的统计输入的高频脉冲信号,它是不受PLC扫描周期影响的。今天小编给大家介绍一下西门子S7-200 PLC高速计数器的介绍和使用。
高速计数器一共有四种类型,包括带有内部方向控制的单相计数器、带有外部方向控制的单相计数器、带有增减计数时钟的双相计数器、A/B相正交计数器,工作模式有12种,分别是模式0~模式11,高速计数器一共有6个,分别是HSC0~HSC5,不同的高速计数器都有其对应的输入点,并且对应不同的输入功能,如下图所示。我们在使用的使用可以查表,比如说HSC1高速计数器,选择11模式的话,那么时钟A是I0.6,时钟B是I0.7,复位是I1.0,启动是I1.1。
S7-200高速计数器有两种方法实现:HSC指令和高速计数器向导,使用HSC指令编程,就要知道HSC指令和高速计数器相关的系统存储器。对于高速计数器的使用,在使用的时候首先要对高速计数器进行初始化,在程序编写的时候我们一般会用到几个指令,HDEF:定义高速计数器,定义高速计数器的编号,以及这个高速计数器所使用的模式;HSC:高速计数器指令,启动高速计数器。高速计数器相关的系统存储器如下图所示:
程序编写的时候在利用HDEF指令定义了计数器和模式后,还要定义高速计数器的控制字节,对上图的每个位进行排列组合就可以写出不同的控制字节,一般来说常用的四种控制字节有:16#F8(更新当前值,加计数);16#F0(更新当前值,减计数);16#B8(不更新当前值,加计数);16#B0(不更新当前值,减计数)。
当我们想要向高速计数器载入新的当前值和预设值,要设置包含当前值和预设值的控制字节和特殊内存字节,然后要执行HSC指令,才能将新值传输至高速计数器。我们还可以使用HC0~HC5读取高速计数器的当前值,注意读取操作可以直接读取,但写入操作只能用HSC指令。比如使用的高速计数器是HSC0,那么当前值的存储器是SMD38,预置值的存储器是SMD42,读取HSC0 的当前计数值时要用HC0进行读取。
对于高速计数器的使用,有时还会用到高速计数器的中断,高速计数器的中断事件有如下几种,我们可以根据使用的高速计数器进行选择使用。比如当HSC1的当前值等于预置值时进入中断程序执行,这时我们就要将HSC1和模式13通过中断连接指令ATCH定义好,并利用ENI指令使能该中断事件,当该事件触发的时候,才能进入中断程序进行执行。
总结一下以上所说的,高速计数器指令使用时,必须在首次扫描先对其进行初始化,初始化主要有以下几个步骤:
1、定义高速计数器的控制字节;
2、写入初始值和预置值;
3、使用HDEF指令定义高速计数器模式和选择高速计数器;
4、连接相应的中断并编写中断程序,如计数器当前值等于预设值中断 ,计数器方向改变中断,计数器外部复位中断等;
5、允许全局中断(ENI);
6、执行HSC指令。
安全型数字量模块6ES7516-3FP03-0AB0安全型数字量模块6ES7516-3FP03-0AB0安全型数字量模块6ES7516-3FP03-0AB0安全型数字量模块6ES7516-3FP03-0AB0安全型数字量模块代理商西门子PLC模块代理商西门子触摸屏代理商西门子电机代理商