很多時候使用模擬量時會有干擾,當做了抗干擾處理以后,還是解決不了,那么久可以通過濾波程序來解決這個問題,本文章講會詳細講解西門子S7-200smart PLC通過間接尋址編寫模擬量濾波程序。
軟件使用 STEP 7-MicroWIN SMART,硬件為S7-200 SMART ST40
一、指令調用
調用庫如圖1所示,指令庫說明如下:
Pointer為指針引腳,指向存放數據的起始地址,數據類型為字;
Number為數據的長度,可以是變量也可以是常量,數量不能輸入負值;
INDX為FOR循環的次數地址,可以忽略,但是不能外部進行賦值干擾;
MAX為輸入數值中的最大值;
MIN為輸入數值中的最小值;
Out為求得平均值輸出地址,數據類型為浮點數。
▲圖1▲
二、AVG_MAX_MIN指令庫編寫重復調用的庫,需要變量建立的正確,否則多次調用無法正常運行,如果你這邊對建立庫不太會,你這邊可以先去看一下這方面的課程學習一下,對于指針指令不太熟悉的可以看看小編前面寫的文章《西門子S7-200smart間接尋址的使用方法》
1、形參變量表建立
變量表建立如圖2所示,每個變量表的作用可以看注釋說明,這里不做介紹,如果有問題可以留言。
▲圖2▲
2、AVG_MAX_MIN形參子程序
AVG_MAX_MIN子程序每一段程序都有注釋講解,如圖3至圖7所示,這里不做介紹,如果有問題可以留言。
▲圖3▲
▲圖4▲
▲圖5▲
▲圖6▲
▲圖7▲
三、模擬量濾波程序1、系統塊組態
由于文章設備接線為通道3,在系統塊中選擇通道3,如圖8所示。步驟2 傳感器輸入是電流還是電壓進去修改,通道2和通道3為一組,修改需要在通道2中修改電流或者電壓。步驟3中選擇濾波周期,輸入通道采集多少次算平均值,并寫入到AI存儲區,設置組態后確認,需要下載到PLC中才生效。
▲圖8▲
2、程序編寫
每一段程序都有注釋講解,如圖9和圖10所示,這里不做介紹,如果有問題可以留言。
▲圖9▲
▲圖10▲
3、程序測試
程序檢控可以看到模擬量采集的10個數值進行減去最大和最小值,然后求8個數的平均值,并輸出到VD208中。
▲圖11▲
總結:模擬量輸入濾波處理,常用的有加磁環、等電位處理、加隔離設備。當加了抗干擾處理以后還是不理想可以考慮軟件中的通道濾波處理,這些做完波動還是很大,那么就需要用到用到濾波程序,濾波程序有很多,這里小編舉例了模擬量中位濾波程序。
以上就是整個西門子S7-200smart間接尋址應用—模擬量濾波程序的內容,文章內容如有錯誤或者有不懂的問題請聯系我們。
注意:文章程序只供學習參考,實際應用需要修改并測試