可编程序控制器的普通计数器的计数过程与扫描工作方式有关,CPU通过每一扫描周读取一次被测信号的方法来捕捉被测信号的上升沿,被测信号的频率较高时,会丢失计数脉冲,因此普通计数器的工作频率很低,一般仅有几十赫兹。高速计数器可以对普通计数器无能为力的事件进行计数,CPU221和CPU222有4个高速计数器,其余的CPU有6个高速计数器,{zg}计数频率为30 kHz,可设置多达12种不同的操作模式。
一般来说,高速计数器与鼓形定时器配套使用,该设备有一个安装了增量式编码器的轴,它以恒定的转速旋转。编码器每圈发出一定数量的计数时钟脉冲和一个复位脉冲,作为高速计数器的输入。高速计数器有一组预置值,开始运行时装入{dy}个预置值,当前计数值小于当前预置值时,设置的输出有效。当前计数值等于预置值或有外部复位信号时,产生中断。发生当前计数值等于预置值的中断时,装载入新的预置值,并设置下一阶段的输出。有复位中断事件发生时,设置{dy}个预置值和{dy}个输出状态,循环又重新开始。
因为中断事件产生的速率远远低于高速计数器计数脉冲的速率,所以用高速计数器可实现高速运动的xx控制,并且与可编程序控制器的扫描周期的关系不大。
可用定时中断来执行一个周期性的操作,以1 ms为增量,周期的时间可取1~255 ms。定时中断0和中断1的时间间隔分别写入特殊存储器字节SMB34和SMB35。每当定时器的定时时间到时,执行相应的定时中断程序,例如可以用定时中断来采集模拟量和执行PID程序。如果定时中断事件已被连接到一个定时中断程序,为了改变定时中断的时间间隔,首先必须修改SMB34或SMB35的值然后重新把中断程序连接到定时中断事件上。重新连接时,定时中断功能xx前一次连接的定时值,并用新的定时值重新开始定时。
定时中断一旦被允许,中断就会周期性地不断产生,每当定时时间到时,就会执行被连接的中断程序。如果退出RUN状态或定时中断被分离,则定时中断被禁止。如果执行了全局中断禁止指令,则定时中断事件仍会连续出现,每个定时中断事件都会进入中断队列,直到中断队列满。
定时器T32/T96中断允许及时地响应一个给定的时间间隔,这些中断只支持1 ms分辨率的通电延时定时器(TON)和断电延时定时器(TOF)即T32和T96。一旦中断允许,当定时器的当前值等于设定值时,在CPU的1 ms定时刷新中,将执行被连接的中断程序。
【例】 定时中断的定时时间最长为255 ms,用定时中断1实现周期为2s的高精度定时。