S7-1200梯形圖採樣濾波源程序

S7-1200梯形圖採樣濾波源程序

在使用S7-1200模擬量輸入模塊讀取現場信號時,除了外圍硬件的濾波外,建議在程序中加入濾波程序,這樣可以過濾掉信號的不正常的突變,濾波算法有多種,這裡舉一個比較常用也好用的例子,該例子是用梯形圖設計,直觀易懂,就是略顯繁瑣,如果想簡練,可以考慮用SCL語句來完成。

S7-1200梯形圖採樣濾波源程序

2. 初始化

S7-1200梯形圖採樣濾波源程序

3. 讀入新數據,舊數據逐一堆棧。

S7-1200梯形圖採樣濾波源程序
S7-1200梯形圖採樣濾波源程序
S7-1200梯形圖採樣濾波源程序

4.查找最大最小值。

S7-1200梯形圖採樣濾波源程序
S7-1200梯形圖採樣濾波源程序

5. 求累加和。

S7-1200梯形圖採樣濾波源程序

6.濾掉最大最小值。

S7-1200梯形圖採樣濾波源程序

7.求濾波值。

S7-1200梯形圖採樣濾波源程序

8.在時間中斷程序中調用就可以,中斷時間根據自己的要求設置。

9. 有幾點注意: 數據類型WORD和INT的區別,WORD滅有正負,數據範圍0~65535,INT有正負-32768~32767,雙極性輸入注意正負。 INT數據累加溢出的問題,如果用來做平均的數據比較多,要注意累加和數據溢出的問題,此處累加和使用了DINT的數據類型。 指令MOVE和CONVERT的區別,INT向DINT轉化時,使用CONVERT而不要使用MOVE。


分享到:


相關文章: