s7-1200高速计数器怎么用(s7-1200plc的高速计数器工作模式有哪些)
导语:功能篇:TIA平台S7-1200高速计数器
S7-1200产品从固件版本V4.2起新增了高速计数器的门功能、同步功能、捕获功能、比较功能,该功能通过CTRL_HSC_EXT扩展高速计数器指令实现。其他高速计数性能与V4.1 固件版本完全兼容,具体可参见“S7-1200 V4.1高速计数器特性”内容。
CTRL_HSC 高速计数器组态及编程S7-1200产品固件版本V4.2也可以使用 CTRL_HSC 高速计数器功能
CTRL_HSC_EXT 扩展高速计数器组态及编程S7-1200产品从固件版本V4.2起新增了门功能、同步功能、捕获功能、比较功能,这些功能通过 CTRL_HSC_EXT 扩展高速计数器指令实现。
CTRL_HSC_EXT 扩展高速计数器指令在博途软件集成的工艺指令文件夹中可以找到CTRL_HSC_EXT指令,如图1,图2所示。该指令各参数含义请参考表1。
图1 指令文件夹
图2 CTRL_HSC_EXT指令
表1 CTRL_HSC_EXT各参数含义
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的频率值。
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的计数值。
门功能许多应用需要根据其他事件的情况来开启或关闭计数程序。出现这类情况时,便会通过内部门功能来开启或关闭计数。每个 HSC通道有两个门:软件门和硬件门。这些门的状态将决定内部门的状态。如图11所示。
图11 门功能状态
如果软件门和硬件门都处于打开状态或尚未进行组态,则内部门会打开。如果内部门打开,则开始计数。如果内部门关闭,则会忽略其他所有计数脉冲,且停止计数。如图12所示。
图12 内部门与计数器值
图13 硬件门组态
打开数据类型为HSC_Count的变量,软件门为HSC_Count.EnHSC,如图14所示。
图14 软件门
注意:硬件门功能仅可用在组态计数模式的HSC时使用。在&34;和&34;模式下,内部门的状态与软件门的状态相同。
在周期模式下,通过&34;控制软件门。
在频率模式下,通过&34;控制软件门。
同步功能同步功能可通过外部输入信号给计数器设置起始值。也可通过执行 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 时使用。
捕获功能可使用&34;功能通过外部参照信号来保存当前计数值。通过&34;位组态并启用捕获功能后,捕获功能会在外部输入沿出现的位置捕获当前计数。无论内部门的状态如何,捕获功能始终有效。执行CTRL_HSC_EXT 指令后,程序会在&34;存储捕获值。图18显示了组态捕获功能在上升沿上进行捕获的示例。
图18 捕获示例
图19 捕获输入组态
打开数据类型为HSC_Count的变量,捕获位为HSC_Count.EnCapture,将EnCapture置1,捕获计数值并存储在CapturedCount中,如图20所示。
图20 捕获位及捕获值
注意: 必须调用CTRL_HSC_EXT指令获取捕获计数值,在内部门关闭后捕捉功能仍然有效。输入点功能仅可用在组态计数模式的 HSC 时使用
比较功能启用&34;输出值功能会生成一个可组态脉冲,每次发生组态的事件时便会产生脉冲。如果正在输出脉冲期间又发生了组态的事件,则该事件不会产生新的脉冲。图21显示了比较功能的示例。
图21 比较功能示例
比较功能参考值组态,如图22所示。
图22 参考值组态
比较输出的计数事件组态如图23所示。
图23 计数事件
硬件输出点组态如图24所示。
图24 硬件输出组态
注意:需要更改参考计数值除了更改组态外还可以通过CTRL_HSC_EXT指令更改,如果需要由参考计数1改为参考计数2,只能通过组态来更改。 输出功能仅可在组态计数模式的HSC时使用。
摘自:西门子S7-1200 Easy Plus手册
本文内容由小媛整理编辑!