西門子s7-200 plc高速計數(shù)功能除用于常見的運動控制系統(tǒng)轉(zhuǎn)速測量之外,在流量計量方面也有著廣泛的用途。
由于plc內(nèi)部沒有相應(yīng)的算法來計算頻率,因此,測定脈沖輸出信號的流量計的瞬時流量就需要在step 7 micro/win中通過以下三部分編程來實現(xiàn):(1) 定義高速計數(shù)器計數(shù)流量計輸出脈沖;(2) 采用定時中斷采集周期時間內(nèi)高速脈沖輸入;(3) 計算高速輸入脈沖頻率并通過流量換算公式:瞬時流量(ml/s)=脈沖頻率(pulse/s)÷脈沖當(dāng)量(pulse/ml)計算瞬時流量。
1 定義高速計數(shù)器
脈沖輸出信號的流量計適用于單相計數(shù),因此在主程序中定義高速計數(shù)器模式0,將hsc0 的控制字節(jié)smb37賦值16#c8,啟用高速計數(shù)器﹑ 更新初始值﹑設(shè)定計數(shù)方向為增計數(shù),并使用sm0.1初始化高速計數(shù)器,如圖1所示。
圖1定義高速計數(shù)器
2 高速輸入脈沖頻率計算
為保證瞬時流量的準(zhǔn)確性及實時性,須按照一定的時間間隔采集高速輸入脈沖。示例中采用定時中斷0每隔250ms更新高速輸入脈沖值hc0,并在中斷程序中應(yīng)用該數(shù)值運算得到高速輸入脈沖頻率,如圖2,圖3所示。
圖2定時中斷
圖3 高速輸入脈沖頻率計算
為采集250ms時間間隔的脈沖值,在頻率計算的同時,需要更新高速計數(shù)器。由于只是更新初始值,因此初始化高速計數(shù)器時設(shè)定的控制字smb37 不用再做更改,調(diào)用hsc指令即可。
3 瞬時流量計算
參考流量換算公式,在中斷程序中通過編程運算即可計算出瞬時流量,如圖4所示。
圖4 瞬時流量計算