1、S7-1200 V4.2 CPU 高速计数器
S7-1200产品从固件版本V4.2起新增了高速计数器的门功能、同步功能、捕获功能、比较功能,该功能通过CTRL_HSC_EXT扩展高速计数器指令
实现。
其他高速计数性能与V4.1 固件版本完全兼容,具体可参见“S7-1200 V4.1高速计数器特性”内容。
2、CTRL_HSC 高速计数器组态及编程
S7-1200产品固件版本V4.2也可以使用 CTRL_HSC 高速计数器功能。
3、CTRL_HSC_EXT 扩展高速计数器组态及编程
S7-1200产品从固件版本V4.2起新增了门功能、同步功能、捕获功能、比较功能,这些功能通过 CTRL_HSC_EXT 扩展高速计数器指令实现。
4、CTRL_HSC_EXT 扩展高速计数器指令
在博途软件集成的工艺指令文件夹中可以找到CTRL_HSC_EXT指令,如图1,图2所示。该指令各参数含义请参考表1。
图1 指令文件夹
图2 CTRL_HSC_EXT指令
表1 CTRL_HSC_EXT各参数含义
5、CTRL_HSC_EXT 扩展高速计数器指令-周期测量
周期测量请参考以下章节:
S7-1200 V4.1高速计数器特性/
6、
CTRL_HSC_EXT 扩展高速计数器指令-频率测量
1 硬件组态,计数类型选择频率,设定频率测量周期,如图3所示。
图3 频率组态
2 建立全局DB块,并建立数据类型为HSC_Frequency的变量,如图4所示。
图4 HSC_Frequency数据
3 在OB1里调用指令块 CTRL_HSC_EXT,如图5所示。
图5 调用CTRL_HSC_EXT
4 使用脉冲发生器,发送频率为1kHz的脉冲信号,使能高速计数器,并监控频率值,如图6所示。
图6 监控频率值
注意:将HSC配置成频率模式时调用CTRL_HSC/CTRL_HSC_EXT指令不是必须的。只要在硬件配置里使能并组态高速计数器即可正常计数,
ID1000的值即为HSC1的频率值。
7、CTRL_HSC_EXT 扩展高速计数器指令-计数
1 硬件组态,计数类型选择计数,工作模式选择单相,如图7所示。
图7 计数组态
2 建立DB块,并建立数据类型为HSC_Count的变量,如图8所示。
图8 HSC_Count数据
3 在OB1里调用指令块 CTRL_HSC_EXT,如图9所示。
图9 调用CTRL_HSC_EXT
4 使用脉冲发生器,发送频率为1kHz的脉冲信号,使能高速计数器,并监控计数值,如图10所示。
图10 监控计数值
注意:将HSC配置成计数模式时调用CTRL_HSC/CTRL_HSC_EXT指令不是必须的。只要在硬件配置里使能并组态高速计数器即可正常计数,
ID1000的值即为HSC1的计数值。
8、门功能
许多应用需要根据其他事件的情况来开启或关闭计数程序。出现这类情况时,便会通过内部门功能来开启或关闭计数。每个 HSC通道有两个
门:软件门和硬件门。这些门的状态将决定内部门的状态。如图11所示。
图11 门功能状态
如果软件门和硬件门都处于打开状态或尚未进行组态,则内部门会打开。如果内部门打开,则开始计数。如果内部门关闭,则会忽略其他所
有计数脉冲,且停止计数。如图12所示。
图12 内部门与计数器值
硬件门组态,如图13所示。
图13 硬件门组态
打开数据类型为HSC_Count的变量,软件门为HSC_Count.EnHSC,如图14所示。
图14 软件门
注意:硬件门功能仅可用在组态计数模式的HSC时使用。在"周期"和"频率"模式下,内部门的状态与软件门的状态相同。
在周期模式下,通过"HSC_Period.EnHSC"控制软件门。
在频率模式下,通过"HSC_Frequency.EnHSC"控制软件门。
9、同步功能
同步功能可通过外部输入信号给计数器设置起始值。也可通过执行 CTRL_HSC_EXT指令对起始刻度值进行更改。这样,用户可以将当前计数值
与所需的外部输入信号出现值同步,同步示例如图15所示。
图15 同步示例
硬件组态,如图16所示。
图16 同步输入组态
打开数据类型为HSC_Count的变量,软件门为HSC_Count.EnSync,如图17所示。
图17 软件同步信号
注意:CPU启动后,HSC计数值=组态页面中的“初始计数器值”
如果未启用EN_SV, “起始值”=0,如果调用了CTRL_HSC_EXT指令并启用了EN_SV, “起始值” =NewStartValue
在内部门关闭后同步仍然有效。内部门为0,EN_SYNC=1,启用外部同步输入,高速计数器的数值为NewStartValue,默认为0
输入点功能仅可用在组态计数模式的 HSC 时使用。
10、捕获功能
可使用"捕获"功能通过外部参照信号来保存当前计数值。通过"HSC_Count.EnCapture"位组态并启用捕获功能后,捕获功能会在外部输入沿出
现的位置捕获当前计数。无论内部门的状态如何,捕获功能始终有效。执行CTRL_HSC_EXT 指令后,程序会在"HSC_Count.CapturedCount"存
储捕获值。图18显示了组态捕获功能在上升沿上进行捕获的示例。
图18 捕获示例
捕获外部输入组态,如图19所示。
图19 捕获输入组态
打开数据类型为HSC_Count的变量,捕获位为HSC_Count.EnCapture,将EnCapture置1,捕获计数值并存储在CapturedCount中,如图20所示。
图20 捕获位及捕获值
注意:必须调用CTRL_HSC_EXT指令获取捕获计数值,在内部门关闭后捕捉功能仍然有效。输入点功能仅可用在组态计数模式的 HSC 时使用
。
比较功能
启用"比较"输出值功能会生成一个可组态脉冲,每次发生组态的事件时便会产生脉冲。如果正在输出脉冲期间又发生了组态的事件,则该事
件不会产生新的脉冲。图21显示了比较功能的示例。
图21 比较功能示例
比较功能参考值组态,如图22所示。
图22 参考值组态
比较输出的计数事件组态如图23所示。
图23 计数事件
硬件输出点组态如图24所示。
图24 硬件输出组态
注意:需要更改参考计数值除了更改组态外还可以通过CTRL_HSC_EXT指令更改,如果需要由参考计数1改为参考计数2,只能通过组态来更改
。输出功能仅可在组态计数模式的HSC时使用。
微信扫一扫
- 九江西门子交换机6GK5602-0BA10-2AA3授权代理商 2023-10-26
- 6ES7954-8LE03-0AA0哈尔滨西门子授权代理商 2023-10-26
- 6ES7954-8LC03-0AA0黑龙江西门子授权代理商 2023-10-26
- 6ES7231-5QA30-0XB0白城西门子授权代理商 2023-10-26
- 6ES7231-5PA30-0XB0松原西门子授权代理商 2023-10-26
- 6ES7231-4HA30-0XB0白山西门子授权代理商 2023-10-26
- 6ES7232-4HA30-0XB0通化西门子授权代理商 2023-10-26
- 6ES7223-3BD30-0XB0辽源西门子授权代理商 2023-10-26
- 6ES7223-3AD30-0XB0四平西门子授权代理商 2023-10-26
- 6ES7223-0BD30-0XB0长春西门子授权代理商 2023-10-26