為了避免捕捉到不想要的計(jì)數(shù)脈沖,對(duì)于特定的應(yīng)用是可以在運(yùn)行時(shí)打開(kāi)和關(guān)閉高速計(jì)數(shù)器的,例如那些由震動(dòng)引起的干擾。 使用"HscGate" FB可以實(shí)現(xiàn)S7-1200高速計(jì)數(shù)執(zhí)行的門控制。
"HscGate" FB
這個(gè)功能塊是在STEP 7 V13 SP1 Update4中開(kāi)發(fā)并用CPU 1211C DC/DC/DC固件V4.1.3進(jìn)行測(cè)試的。
可以在循環(huán)組織塊 "Main"中被調(diào)用。
"hscValue"和"hscHwId"輸入可以從CPU屬性里高速計(jì)數(shù)器的設(shè)置中獲取。
為此,可以在STEP 7(TIA Portal)的項(xiàng)目導(dǎo)航中標(biāo)記CPU并單擊右鍵打開(kāi)屬性。
到"General" 標(biāo)簽并導(dǎo)航到"High-speed counters (HSC)" 條目。
對(duì)于選定(使能)的高速計(jì)數(shù)器(HSC),打開(kāi)子目錄"Input addresses" 和 "HW identifier"。
以起始地址作為雙字輸入給"hscValue" 參數(shù)、硬件標(biāo)識(shí)符給"hscHwId" 參數(shù)。
程序流程圖
圖. 03
在“enable”給一個(gè)下降沿信號(hào),將高速計(jì)數(shù)器的當(dāng)前值傳輸?shù)接?jì)數(shù)值 "newCV"中。
在“enable”給一個(gè)上升沿信號(hào),在SFB "CTRL_HSC"的幫助下將高速計(jì)數(shù)器值設(shè)置成"newCV"的值。
在Reset指令("reset")下 ,在傳送到高速計(jì)數(shù)器之前將計(jì)數(shù)值"newCV"置0。
當(dāng)"enable" = TRUE,高速計(jì)數(shù)器的數(shù)值被傳到"countValue" 輸出。
因此,在使用"enable" = TRUE時(shí),高速計(jì)數(shù)器的計(jì)數(shù)值與"countValue"輸出值完全相同。 只有在"enable" = FALSE時(shí)高速計(jì)數(shù)器值與"countValue" 輸出值不相同。
這樣,當(dāng)給高速計(jì)數(shù)器做事件組態(tài)時(shí),"enable"輸入變量的狀態(tài)也要考慮在內(nèi)。
(轉(zhuǎn)載)