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

2019年1月9日15:43:15 发表评论 1,650 阅读

高速计数器 (HSC) 能够对发生速率快于循环 OB 执行速率的事件进行计数。如果待计数事件的发生速率慢于 OB 执行速率,则可使用 CTU、CTD 或 CTUD 标准计数器指令。如果事件的发生速率快于 OB 的执行速率,则应使用更快的 HSC 设备。CTRL_HSC 指令允许程序更改一些 HSC 参数。

例如:可以将 HSC 用作增量轴编码器的输入。该轴编码器每转提供指定数量的计数值以及一个复位脉冲。来 自轴编码器的时钟和复位脉冲将输入到 HSC 中。

先是将若干预设值中的第一个装载到 HSC 上,并且在当前计数值小于当前预设值的时段内计数器输出一直是激活的。在当前计数值 等于预设时、发生复位时以及方向改变时,HSC 会提供一个中断。

每次出现“当前计数值等于预设值”中断事件时,将装载一个新的预设值,同时设置输出的 下一状态。当出现复位中断事件时,将设置输出的第一个预设值和第一个输出状态,并重 复该循环。

由于中断发生的频率远低于 HSC 的计数速率,因此能够在对 CPU 扫描周期影响相对较小的情况下实现对高速操作的精确控制。通过提供中断,可以在独立 的中断例程中执行每次的新预设值装载操作以实现简单的状态控制。此外,也可在单个中 断例程中处理所有中断事件。

HSC输入通道选择

使用以下表格并确保连接的 CPU 和 SB 输入通道可以支持过程信号中的最大脉冲速率。

说明

 CPU  SB 输入通道(V4 或更高版本的固件)具有可组态的输入滤波时间 早期固件版本具有无法更改的固定 HSC 输入通道和固定滤波时间。V4或更高版本可以分配输入通道和滤波时间。对于过程信号来说,默认的输入滤波器设置6.4 ms 可能过慢。必须针对 HSC 应用优化 HSC 输入的数字量输入滤波时间。

表格 10- 9 CPU 输入:最大频率

CPU CPU 输入通道 1  2 相位模式 A/B 相正交相位模式
1211C Ia.0 到 Ia.5 100 kHz 80 kHz
1212C Ia.0 到 Ia.5 100 kHz 80 kHz
Ia.6,Ia.7 30 kHz 20 kHz
1214C 和 1215C Ia.0 到 Ia.5 100kHz 80kHz
Ia.6 到 Ib.5 30 kHz 20 kHz
1217C Ia.0 到 Ia.5 100 kHz 80 kHz
Ia.6 到 Ib.1 30 kHz 20 kHz
Ib.2 到 Ib.5

(.2+,.2- 到

.5+,.5-)

1 MHz 1 MHz

表格 10- 10 SB 信号板输入:最大频率(可选信号板)

SB 信号板 SB 输入通道 1  2 相位模式 A/B 相正交相位模式
SB 1221,200 kHz Ie.0 到 Ie.3 200kHz 160 kHz
SB 1223,200 kHz Ie.0,Ie.1 200kHz 160 kHz
SB 1223 Ie.0,Ie.1 30 kHz 20 kHz

选择 HSC 的功能

所有 HSC 在同种计数器运行模式下的工作方式都相同。在 CPU 设备组态中为 HSC功能属性分配计数器模式、方向控制和初始方向。

HSC 共有四种基本类型:

  • 具有内部方向控制的单相计数器
  • 具有外部方向控制的单相计数器
  • 具有2个时钟输入的双相计数器
  • A/B相正交计数器

用户可选择是否激活复位输入来使用各种 HSC 类型。如果激活复位输入(存在一些限制,请参见下表),则它会清除当前值并在您禁用 复位输入之前保持清除状态。

  • 频率功能:有些HSC模式允许HSC被组态(计数类型)为报告频率而非当前脉冲计数值。有三种可用的频率测量周期:0.01、0.1 或 1.0 秒。频率测量周期决定 HSC计算并报告新频率值的频率。报告频率是通过上一测量周期内总计数值确定的平均值。如果该频率在快速变化,则报告值将是介于测量周期内出现的最高频率和最低频率 之间的一个中间值。无论频率测量周期的设置是什么,总是会以赫兹为单位来报告频 率(每秒脉冲个数)。
  • 计数器模式和输入:下表列出了用于与 HSC相关的时钟、方向控制和复位功能的输入。

周期测量功能:周期测量通过组态的测量间隔(10ms、100ms 或 1000ms)提供。HSC_Period SDT 返回周期测量并以两个值的形式提供周期测量:ElapsedTime 和 EdgeCount。HSC 输入 ID1000 到 ID1020 不受周期测量的影响:

– ElapsedTime 是一个以纳秒为单位的无符号双精度整数值,表示测量间隔内从第一个计数事件到 最后一个计数事件的时间。如果 EdgeCount = 0,则 ElapsedTime 是从上一个周期内的最后一个计数事件以来经过的时间。ElapsedTime 的范围是从 0 到 4,294,967,280 ns(0x0000 0000 到 0xFFFF FFF0)。如果值为4,294,967,295 (0xFFFF FFFF),则会发生溢出。自 0xFFFF FFF1 至 0xFFFFFFFE 的值为保留值。

– EdgeCount 是一个无符号的双精度整数值,表示测量间隔内计数事件的数量。 同一输入不可用于两个不同的功能,但任何未被其 HSC的当前模式使用的输入均可用于其它用途。例如,如果 HSC1 处于使用两个内置输入但不使用第三个外部复位输入(默认分配为 I0.3)的模式,则 I0.3 可用于沿中断或HSC 2。

表格10-11HSC的计数模式

类型 输入 1 输入 2 输入 3 功能
具有内部方向控制的单相 计数器 时钟 - - 计数或频率
复位 计数
具有外部方向控制的单相 计数器 时钟 方向 - 计数或频率
复位 计数
具有 2

个时钟输入的双相计数器

加时钟 减时钟 - 计数或频率
复位 计数
A/B 相正交计数器 A 相 B 相 - 计数或频率
复位1 计数

对于编码器:Z 相,归位

HSC 的输入地址

组态CPU时,可以选择为每个HSC启用和组态“硬件输入”。所有 HSC 输入必须连接到CPU模块上的端子,或插入CPU模块前方的可选信号板。

说明

如下表所示,不同 HSC 的可选信号的默认分配互相重叠。例如,HSC 1的可选外部复位使用的输入与 HSC 2 的其中一个输入相同。对于 V4 或更高版本的 CPU,可以在 CPU 组态期间重新分配 HSC输入。不必使用默认输入分配。请始终确保组态 HSC 时任何一个输入都不会被两个 HSC 使用。

下表显示了 CPU 的板载 I/O 和可选 SB 两者的默认 HSC 输入分配。(如果所选 SB

模块只有 2 个输入,则仅输入 4.0 和 4.1 可用。)

HSC 输入表定义

  • 单相:C为时钟输入,[d]为方向输入(可选),[R] 为外部复位输入(可选)(复位仅适用于“计数”模式。)
  • 双相:CU 为加时钟输入,CD 为减时钟输入,[R]为外部复位输入(可选)。(复位仅适用于“计数”模式。)
  • AB相正交:A为时钟 A 输入,B 为时钟 B 输入,[R] 为外部复位输入(可选)(复位仅适用于“计数”模式。)

表格 10- 12 CPU 1211C:HSC 默认地址分配

仅具有2个数字量输入的SB只能提供输入 4.0 和 4.1。

表格 10- 13 CPU 1212CHSC 默认地址分配

 

weinxin
plc入门知识问答
每一个PLC工程师都应该关注的微信公众账号,只需输入您的问题,就会有答案

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: