西门子PLC处理器模块CPU1211C 西门子PLC处理器模块CPU1211C
我公司大量现货供应,价格优势,品质保证,德国原装进口
如果不请求更新参数值,则将忽略相应的输入值。
2 仅当组态的计数方向设置为“用户程序(内部方向控制)”(User program (internal direction control)) 时,DIR 参数才有效。 用户在 HSC 设备组态中确定如何使用该参数。
3 对于 CPU 或 SB 上的 HSC,BUSY 参数的值始终为 0。
在 CPU 的设备组态中对每个 HSC 的参数进行组态: 计数、I/O 连接、中断分配以及是作为高速计数器还是设备来测量脉冲。
可以通过用户程序来修改某些 HSC 参数,从而对计数提供程序控制:
如果执行 CTRL_HSC 指令后以下布尔标记值置位为 1,则相应的 NEW_xxx 值将装载到计数器。 CTRL_HSC 指令执行一次可处理多个请求(同时设置多个标记)。
CTRL_HSC 指令通常放置在触发计数器硬件中断事件时执行的硬件中断 OB 中。 例如, 如果 CV=RV 事件触发计数器中断,则硬件中断 OB 代码块执行 CTRL_HSC 指令并且可通过装载 NEW_RV 值更改参考值。
在 CTRL_HSC 参数中没有提供当前计数值。 在高速计数器硬件的组态期间分配存储当前计数值的映像地址。 可以使用程序逻辑直接读取计数值。 返回给程序的值将是读取计数器瞬间的正确计数。 但计数器仍将继续对高速事件计数。 因此,程序使用旧的计数值完成处理前,实际计数值可能会更改。
条件代码: 发生错误时,ENO 设置为 0,并且 STATUS 输出包含条件代码。
表格 9- 3 STATUS 值 (W#16#)
高速计数器的使用
高速计数器 (HSC) 对发生速率快于 OB 执行速率的事件进行计数。 如果待计数事件的发生速率处于 OB 执行速率范围内,则可使用 CTU、CTD 或 CTUD 计数器指令。 如果事件的发生速率快于 OB 的执行速率,则应使用 HSC。 CTRL_HSC 指令允许用户程序通序更改一些 HSC 参数。
例如: 可以将 HSC 用作增量轴编码器的输入。 该轴编码器每转提供数量的计数值以及一个复位脉冲。 来自轴编码器的时钟和复位脉冲将输入到 HSC 中。
先是将若干预设值中的个装载到 HSC 上,并且在当前计数值小于当前预设值的时段内计数器输出一直是的。 在当前计数值等于预设时、发生复位时以及方向改变时,
HSC 会提供一个中断。
每次出现“当前计数值等于预设值”中断事件时,将装载一个新的预设值,同时设置输出的 下一状态。 当出现复位中断事件时,将设置输出的个预设值和个输出状态,并重复该循环。
由于中断发生的远低于 HSC 的计数速率,因此能够在对 CPU 扫描周期影响相对较小的情况下实现对高速操作的控制。 通过提供中断,可以在的中断例程中执行每次的新预设值装载操作以实现简单的状态控制。 (或者,所有中断事件也可在单个中断例程中进行处理。)
表格 9- 4 大 (KHz)
选择 HSC 的功能
所有 HSC 在同种计数器运行下的工作都相同。 HSC 共有四种基本类型:
用户可选择是否复位输入来使用各种 HSC 类型。 如果复位输入(存在一些,请参见下表),则它会当前值并在您禁用复位输入之前保持状态。
测量周期决定 HSC 计算并报告新值的。 报告是通过上一测量周期内总计数值确定的平均值。 如果该在快速变化,则报告值将是介于测量周期内出现的高和低之间的一个中间值。 无论测量周期的设置是什么,总是会以赫兹为单位来报告(每秒脉冲个数)。
同一输入不可用于两个不同的功能,但任何未被其 HSC 的当前使用的输入均可用于其它用途。 例如,如果 HSC1 处于使用内置输入但不使用外部复位 (I0.3) 的, 则 I0.3 可以用于沿中断或 HSC2。