西门子授权代理商
西门子授权代理商
西门子授权代理商
高速计数器定义指令和高速计数器指令及编程
高速计数器定义指令(HDEF)选择指定高速计数器HSCx的操作模式。模式选择定义高速计数器的时钟、方向、开始和重设功能。可以将一个高速计数器定义指令用于每个高速计数器。高速计数器指令如图5-63所示。
设置ENO=0的错误条件:0003(输入点冲突);0004(中断中的非法的指令):000A(HSC重新定义)。
高速计数器指令
高速计数器(HSC)指令基于HSC特殊内存位的状态以配置和控制高速计数器。参数N指定高速计数器数目。高速计数器指令可以配置为*多12种不同的操作模式。
每个计数器有用于时钟、方向控制、重设和启动的输入。对于双相计数器,两个时钟都可以在*大计数率下运行。在倍数模式下,可以选择1倍(1x)或4倍(4x)*大计数率。所有运行在*大计数率的计数器不会互相干扰。高速计数器指令的有效操作数见表5-20。
设置ENO=0的错误条件:0001(HSC在HDEF前):0005(HSC/PLS)。
高速计数器常作为鼓式定时器的驱动器,在定时器中,以恒定速度旋转的轴安装有递增转轴编码器。轴编码器提供每转的指定计数数字,重设脉冲在每转产生一次。时钟和来自轴编码器的重设脉冲提供到高速计数器的输入。
高速计数器用第一个几次预置载入,期望的输出在当前计数小于当前预置的时间期间激活。安装计数器以在当前计数等于预置以及重设产生时提供中断。当每个当前计数数值等于预置数值中断事件产生时,载入新的预置,设置下一个输出状态。当重设中断事件产生时,设置第一个预置和第一个输出状态,重复周期。
因为中断发生率远远低于高速计数器的计数率,可以实现高速操作的**控制,而对全部的PLC扫描循环影响相当小。连接中断的方法,允许每次载入新预置在独立的中断程序中完成以便易于状态控制。所有中断事件也可以在单个中断程序中处理。
不同类型的高速计数器
所有计数器功能对于同样的计数器操作模式是一样的。有4种基本计数器类型:单相计数器带有内部方向控制,单相计数器带有外部方向控制,双相计数器带有两个时钟输入和AB相正交计数器。注意每种模式不能为每个计数器所支持,可以使用每种类型:没有重设或启动输入、有重设和没有启动、或启动和重设输入都有。
对于高速计数器,必须注意以下3点:
(1)当激活重设输入时,它清除当前值并保持清除直到取消激活重设。
(2)当激活启动输入时,就允许计数器计数。取消激活启动的计数器的当前值保持为常量,时钟事件忽略。
(3)如果重设激活而启动非现用,重设被忽略,而当前值不变。如果启动输入成为现用,而重设输入为现用,当前值被清除。
在使用高速计数器前,须使用HDEF指令(高速计数器定义)选择计数器模式。使用第一个扫描内存位SM0.1(此位在第一次扫描时接通,断开),来调用包含HDEF指令的子程序。
高速计数器编程
1.高速计数器编程概述
使用高速计数器指令向导配置计数器。向导包括下列信息:计数器的类型和模式、计数器预设值、计数器当前值和初始计数方向。要启动高速计数器指令向导,选择工具(Tools)>指令向导(InstructionWizard)菜单命令,从指令向导窗口选择高速计数器指令。
对高速计数器编程,进行以下设置:
(1)定义计数器和模式;
(2)设置控制字节;
(3)设置当前值(起始值);
(4)设置预设值(目标数值);
(5)分配和启用中断程序;
(6)激活高速计数器。
2.定义计数器模式和输入
使用高速计数器定义指令来定义计数器模式和输入。
与高速计数器有关的时钟、方向控制、重设和启动功能的输入,见表5-21.同样的输入不能用于两种不同的功能,但没有被其高速计数器的显示模式使用的输入可以用于其他用途。例如,如果HSC0正被用于模式1,它使用I0.0和I0.2,I0.1可用于HSC3的边沿中断。