为了避免捕捉到不想要的计数脉冲,对于特定的应用是可以在运行时打开和关闭高速计数器的,例如那些由震动引起的干扰。 使用"HscGate" FB可以实现S7-1200高速计数执行的门控制。
"HscGate" FB
这个功能块是在STEP 7 V13 SP1 Update4中开发并用CPU 1211C DC/DC/DC固件V4.1.3进行测试的。
可以在循环组织块 "Main"中被调用。
"hscValue"和"hscHwId"输入可以从CPU属性里高速计数器的设置中获取。
为此,可以在STEP 7(TIA Portal)的项目导航中标记CPU并单击右键打开属性。
到"General" 标签并导航到"High-speed counters (HSC)" 条目。
对于选定(使能)的高速计数器(HSC),打开子目录"Input addresses" 和 "HW identifier"。
以起始地址作为双字输入给"hscValue" 参数、硬件标识符给"hscHwId" 参数。
程序流程图
图. 03
在“enable”给一个下降沿信号,将高速计数器的当前值传输到计数值 "newCV"中。
在“enable”给一个上升沿信号,在SFB "CTRL_HSC"的帮助下将高速计数器值设置成"newCV"的值。
在Reset指令("reset")下 ,在传送到高速计数器之前将计数值"newCV"置0。
当"enable" = TRUE,高速计数器的数值被传到"countValue" 输出。
因此,在使用"enable" = TRUE时,高速计数器的计数值与"countValue"输出值完全相同。 只有在"enable" = FALSE时高速计数器值与"countValue" 输出值不相同。
这样,当给高速计数器做事件组态时,"enable"输入变量的状态也要考虑在内。
(转载)