西门子CPU模块6ES7232-4HB32-0XB0
*低价销售西门子PLC,200,300,400,1200,西门子PLC附件,西门子电机,西门子人机界面,西门子变频器,西门子数控伺服,西门子总线电缆现货供应咨询系列产品,折扣低,货期准时,并且备有大量库存.*有效
速计数器 (HSC)
使用高速计数器 (HSC, High-Speed Counter) 对发生速率快于 OB
执行速率的事件进行计数。 计数指令在指令树的“工艺”部分中。 CTRL_HSC 指令控制
HSC 的运行。
![]() |
说明
如果待计数事件的发生速率处于 OB 执行速率范围内,请使用 CTU、CTD 或 CTUD
计数器指令。 如果事件的发生速率快于 OB 的执行速率,则应使用 HSC。
在 CPU 的设备组态中对每个 HSC 的参数进行组态: 计数、I/O
连接、中断分配以及是作为高速计数器还是设备来测量脉冲或周期。
表格 6- 27 CTRL_HSC 指令
LAD/FBD | SCL | 说明 |
| "counter_name"( HSC:=W#16#0, DIR:=FALSE, CV:=FALSE, RV:=FALSE, Period:=FALSE, New_DIR:=0, New_CV:=L#0, New_RV:=L#0, New_Period:=0, Busy=>_bool_out_, Status=>_word_out_); | 每个 CTRL_HSC 指令使用数据块中存储的结构来保存计数器数据。 对于 SCL,必须首先为各个计数器指令创建DB 方可引用相应指令。 对于 LAD 和FBD,STEP 7 会在指令时自动创建DB。 |
CTRL_HSC 指令通常放置在触发计数器硬件中断事件时执行的硬件中断 OB 中。例如,如果CV=RV 事件触发计数器中断,则硬件中断 OB 代码块执行 CTRL_HSC 指令,并且可通过装载 NEW_RV 值更改参考值。
![]() |
说明
在 CTRL_HSC 参数中没有提供当前计数值。
在高速计数器硬件的组态期间分配存储当前计数值的映像地址。
可以使用程序逻辑直接读取计数值。 返回程序的值将是读取计数器瞬间的正确计数。计数器仍将继续对高速事件计数。
因此,程序使用旧的计数值完成处理前,实际计数值可能会更改。
可以通过用户程序来修改某些 HSC 参数,从而对计数提供程序控制:
● 将计数方向设置为 NEW_DIR 值
● 将当前计数值设置为 NEW_CV 值
● 将参考值设置为 NEW_RV 值
● 将周期值(限测量)设置为 NEW_PERIOD 值
如果执行 CTRL_HSC 指令后以下布尔标记值被设置为 1,则相应的 NEW_xxx
值将装载到计数器。 执行一次 CTRL_HSC 指令可处理多个请求(同时设置多个标记)。将以下布尔标记值设置为 0 不会引起任何变化。
● 设置 DIR = 1 会装载 NEW_DIR 值。
● 设置 CV = 1 会装载 NEW_CV 值。
● 设置 RV = 1 会装载 NEW_RV 值。
● 设置 PERIOD = 1 会装载 NEW_PERIOD 值。
CTRL_HSC_EXT 指令(控制高速计数器(扩展)指令
STEP 7 和 S7-1200 CPU 还支持扩展的高速计数器指令 CTRL_HSC_EXT。
该指令允许程序测量 HSC 的输入脉冲周期。 有关详细信息,请参见“S7-1200
可编程控制器手册”。.
西门子CPU模块6ES7232-4HB32-0XB0
所有评论仅代表网友意见,与本站立场无关。