计数类型选择为“计数”时,用来测量输入信号的脉冲个数,并按照计数方向增加或减少计数值,硬件组态如图12-7所示。
①“计数类型”:“计数”。
②“工作模式”:参考图12-3~图12-6所示的工作模式。
③“计数方向取决于”:仅在“工作模式”为“单相”时有效。
“输入(外部方向控制)”:由组态的外部输入点控制方向。
“用户程序(内部方向控制)”:由高速计数器指令控制。
图12-7 计数类型组态
④“初始计数方向”:仅在“工作模式”为“单相”,“计数方向取决于”:用户程序(内部方向控制)”时有效。
“加计数”:计数时计数值增加。
“减计数”:计数时计数值减小。
1.计数功能
计数类型选择为“计数”时,支持门输入、捕捉输入、同步输入、比较输出等功能。
(1)门输入
可通过门功能来开启或关闭计数。每个高速计数器都有两个门,即硬件门与软件门。硬件门需要在硬件组态内激活,可组态为“高电平有效”或“低电平有效”;软件门需要调用高速计数指令“CTRL_HSC_EXT”,并创建一个“HSC_Count”类型的变量与指令关联,变量中的“HSC_Count.EnHSC”用于控制软件门的打开与关闭。将“HSC_Count.EnHSC”设为TRUE,打开软件门;将“HSC_Count.EnHSC”设为False,关闭软件门。内部门的状态取决于硬件门和软件门的状态,见表12-5。
表12-5 门功能状态
(2)同步输入
同步功能可通过外部输入信号给高速计数器设置初始值。当同步输入信号出现,用户可以将当前计数值同步为更新的初始值。更新的初始值存储在“HSC_Count.NewStartValue”内。同步输入信号可组态为“高电平有效”、“低电平有效”、“上升沿”、“下升沿”及“上升沿和下降沿”。将高速计数指令“CTRL_HSC_EXT”的“HSC_Count.EnSync”设置为TRUE,才能启用同步功能。同步功能始终以同步信号出现为准,与内部门状态无关,如图12-8所示。
图12-8 高速计数器同步输入功能
(3)捕捉输入
可通过外部输入信号来保存高速计数器的当前计数值,捕捉值存放在“HSC_Count.Captured Count”内。将高速计数指令“CTRL_HSC_EXT”的“HSC_Count.EnCapture”设置为TRUE,才能启用捕捉功能。捕捉功能始终以捕捉信号出现为准,与内部门状态无关,如图12-9所示。
图12-9 高速计数器捕捉输入功能
(4)比较输出
启用比较输出功能后,发生组态的事件时便会生成一个可组态周期时间和脉冲宽度的脉冲。如果正在输出脉冲的过程中又发生了组态的事件,则该事件不会产生脉冲,组态如图12-10所示,时序图如图12-11所示。
①“初始计数器值”:CPU从STOP模式转变为RUN模式时,程序会将“初始计数器值”设置为当前计数值。
②“初始参考值”:在当前计数到达“初始参考值”时,如已设置相关功能,则可以产生一个中断和/或脉冲。
③“初始参考值2”:在当前计数到达“初始参考值2”时,如已设置相关功能,则可以产生一个脉冲。(www.xing528.com)
图12-10 比较输出组态
④“初始值上限”:计数值的最大值,超出该值时高速计数器上溢。
⑤“初始值下限”:计数值的最小值,超出该值时高速计数器下溢。
⑥计数事件:可生成脉冲的事件。
⑦“输出脉冲的周期时间”:用于设置输出脉冲周期;
⑧“输出的脉冲宽度”:用于设置输出脉冲宽度。
图12-11 高速计数器比较输出功能
2.中断功能
S7-1200 CPU在高速计数器中提供了中断功能,用以在某些特定条件下触发程序,共有3种中断事件:
(1)计数值等于参考值中断
计数值等于“初始参考值”时,产生中断,该中断仅在“计数类型”选择“计数”时可激活,中断设置如图12-12所示。
①勾选“为计数器值等于参考值这一事件生成中断” 使能计数值等于参考值中断。
②“硬件中断” 为硬件中断分配组织块。
(2)外部同步中断
当触发同步输入时,产生中断,该中断仅在“计数类型”选择“计数”时可激活,中断设置在“事件组态”中组态,如图12-13所示。
图12-12 高速计数器CV=RV中断
图12-13 高速计数器外部同步中断
①“同步输入”:勾选“使用外部同步输入”后,为同步输入设置触发条件。
②勾选“为同步事件生成中断”:使能同步事件中断。
③“硬件中断”:为硬件中断分配组织块。
(3)计数方向改变中断
当改变计数方向时,产生中断,该中断在计数类型选择“计数”,且方向选择“输入(外部方向)”时有效,中断设置如图12-14所示。
图12-14 高速计数器计数方向改变中断
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。