西门子PLC高速计数器使用方法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

高速计数器对CPU扫描速率无法控制的高速事件进行计数,最多可配置12种不同的操作模式。高速计数器的最高计数频率取决于您的CPU类型。

每台计数器对支持此类功能的时钟、方向控制、复原和起始均有专用输入。对于二相计数器,两个时钟均可以最高速率运行。在正交模式中,可选择1乘以(1x)或4乘以(4x)最高计数速率。所有计数器均以最高速率运行,互不干扰。

本标题讨论下列主题:

使用高速计数器

识别高速计数器的详细计时功能

为高速计数器连接输入线

高速计数器编址(HC)

识别不同的高速计数器

选择现用状态和1x/4x模式

高速计数器初始化顺序

控制字节

HSC模式

设置当前值和预设值

状态字节

为中断赋值

使用高速计数器

返回顶端

通常高速计数器被用作鼓式计数器驱动器,以恒速旋转的转轴配有增量轴式编码器。轴式编码器提供每次旋转的指定计数以及每次旋转一个复原脉冲。轴式编码器的时钟和复原脉冲为高速计数器提供输入。

用最先的几个预设值载入高速计数器,并在当前计数小于当前预设值的期间内激活所需输出。当前计数等于预设值或复原时,计数器设置提供中断。

每次发生当前计数值等于预设值中断事件时,载入新预设值,并设置下一个输出状态。发生复原中断事件时,设置第一个预设值和第一个输出状态,并重复该循环。

因为中断的发生速率远远低于高速计数器的计数速率,可对高速操作执行精确的控制,并对整体PLC扫描循环产生相对较小的影响。中断附加方法允许在独立中断例行程序中执行每个载入的新预设值,以便进行状态控制。(另一种方法是在单个中断例行程序中处理所有的中断事件。)

识别高速计数器的详细计时功能

返回顶端

下列时序图显示根据模式分类的每台计数器的功能。在另一个时序图中显示复原和起始输入操作,并应用于所有使用复原和起始输入的模式。在复原和起始输入图中,复原和起始的现用状态均被编程为高级。

有复原、无起始的操作举例

有复原和起始的操作举例

模式0、1和2操作举例

模式3、4和5操作举例

使用计数模式6、7和8时,上下时钟输入的上升沿间隔0.3微秒,高速计数器可能认为这些事件同时发生。如果发生这种情况,当前值不改变,而且计数方向不改变。只要上下时钟输入的上升沿之间的间隔大于该时段,高速计数器就能够单独捕获每个事件。在两种情况下,均不生成错误,而且计数器保持当前计数值。

模式6、7和8操作举例

模式9、10和11操作举例(正交1x 模式)

模式9、10和11操作举例(正交4x 模式)

为高速计数器连接输入线

返回顶端

使用"高速计数器定义"指令定义计数器模式和输入。

下表显示与高速计数器相关的用于时钟、方向控制、复原和起始功能的输入。

高速计数器专用输入

高速计数器使用的输入

HSC0 I0.0, I0.1, 0.2

HSC1 I0.6, I0.7, I1.0, I1.1

HSC2 I1.2, I1.3, I1.4, I1.5

HSC3 I0.1

HSC4 I0.3, I0.4, I0.5

HSC5 I0.4

有些高速计数器和边缘中断的输入点赋值存在某些重叠。同一个输入不能用于两种不同的功能;但是高速计数器当前模式未使用的任何输入均可用于其他目的。例如,如果在模式2中使用HSC0,模式2使用I0.0和I0.2,则I0.1可用于边缘中断或用于HSC3。

如果所用的HSC0模式不使用输入I0.1,则该输入可用于HSC3或边缘中断。与此相似,如果所选的HSC0模式不使用I0.2,则该输入可用于边缘中断;如果所选HSC4模式不使用I0.4,则该输入可用于HSC5。

请注意HSC0的所有模式均使用I0.0,HSC4的所有模式均使用I0.3,因此当使用这些计数器时,这些输入点绝不会用于其他用途。

HSC模式

返回顶端

为高速计数器编址(HC)

返回顶端

欲存取高速计数器的计数值,您需要利用内存类型(HC)和计数器号码(例如HC0)指定高速计数器的地址。如下所示,高速计数器的当前值是只读数值,只能作为双字(32位)编址。

格式:HC[高速计数器号码],以HC2为例。

存取高速计数器的当前值

识别不同的高速计数器

返回顶端

对于相同的计数器操作模式,所有计数器的功能均相同。如上所示,共有四种基本计数器模式类型。请注意并非每一种计数器均支持每种模式。您可以使用每种类型:无复原或起始输入、有复原但无起始或有起始和复原输入。

激活复原输入时,会清除当前值并保持清除状态直至取消激活复原。

激活起始输入时,会允许计数器计数。起始被取消激活时,计数器的当前值保持恒定,并忽略时钟事件。

如果在起始未激活时激活复原,则会忽略复原,当前值不变。如果激活复原输入时激活起始输入,则当前值被清除

使用高速计数器之前必须选择计数器模式,您可以利用HDEF指令(高速计数器定义)选择计数器模式。利用首次扫描内存位SM0.1(首次扫描时该位打开,随后关闭),调用包含HDEF

指令的子程序。

选择激活状态和1x/4x模式

返回顶端

上图显示的复原和起始输入操作适用于使用复原和起始输入的所有模式。在复原和起始输入图形中,复原和起始均显示为现用状态编程为高位。

四台计数器有三个控制位,用于配置复原和起始输入的激活状态并选择1x或4x计数模式(仅限正交计数器)。这些控制位位于各自计数器的控制字节内,只在执行HDEF指令时才使用。执行HDEF指令之前,必须将这些控制位设为所需的状态,否则计数器采用所选计数器模式的默认配置。复原输入和起始输入的默认设置为现用水平高,正交计数速率为4x(或4乘以输入时钟频率)。一旦执行了HDEF指令,就不能再改变计数器设置,除非首先将CPU 设为STOP(停止)模式。

HDEF控制位(仅在执行HDEF时使用)

HSC0 HSC1 HSC2 HSC4 说明

SM37.0 SM47.0 SM57.0 SM147.0 "复原"现用水平控制位**:0 = 复原现用水平高1 = 复原现用水平低

SM47.1 SM57.1 "起始"现用水平控制位**:0 = 起始现用水平高1 = 起始现用水平低SM37.2 SM47.2 SM57.2 SM147.2 "正交"计数器的计数速率选项:0 = 4x计数速率1 = 1x 计数速率

**复原输入和起始输入的默认值为现用水平高,正交计数率为4x(或4乘以输入时钟频率)。控制字节

返回顶端

一旦定义了计数器和计数器模式,您就可以为计数器动态参数编程。每台高速计数器均有一个控制字节,允许完成以下作业:

启用或禁止计数器

控制方向(仅限模式0、1和2)或初始化所有其他模式的计数方向

载入当前值

通过执行HSC指令可激活控制字节以及相关当前值和预设值检查。下表说明每个控制位。

用于HSC参数的SM控制位

HSC0 HSC1 HSC2 HSC3 HSC4 HSC5 说明

SM37.3 SM47.3 SM57.3 SM137.3 SM147.3 SM157.3 计数方向控制位:0 = 向下计数1 = 向上计数

SM37.4 SM47.4 SM57.4 SM137.4 SM147.4 SM157.4 向HSC写入计数方向:0 = 无更新1 = 更新方向

SM37.5 SM47.5 SM57.5 SM137.5 SM147.5 SM157.5 向HSC写入新预设值:0 = 无更新1

相关文档
最新文档