基于PLC的實時測量技術在遠程污水監控系統中的應用
本文介紹的分布式遠程污水監控系統采用分布式的構建方案,利用基于西門子PLC的實時測量技術對各污水排放點的排污流量、管道壓力等參數進行采集、監測,以達到分散連接、集中監控的目的。西門子PLC的I/O接口多,兼具模擬量、數字量和串行通信這幾類接口,擴展模塊豐富;能工作于惡劣環境,故障率低、壽命長,非常適合在工業環境下使用。所以系統以西門子S7-200 PLC、傳感器和智能檢測儀表作為下層基本測量單元,將各個污水監控點的測量數據經過PLC初步處理后,按照自由口通信方式打包傳送給基于ARM9的嵌入式數據采集模塊進行匯總和存儲,然后再通過以太網送給本地機上層應用軟件進行顯示。整個下層測量單元相當于一個結構靈活可變、功能多樣的智能儀表子系統,PLC相當于這個子系統的通信接口。可以根據不同的測量需要對下層測量單元的硬件結構和測量功能進行適當改變,使整個系統具有很大的靈活性,稍作修改即可用于其他監控系統。
1 分布式系統結構
系統的分布式結構示意圖如圖1所示。當系統啟動或復位后,各排污點的下層測量單元開始定時采樣、上傳數據;嵌入式模塊接收到PLC傳來數據后,存入自身的數據庫中并判斷是否要觸發報警設備,同時將數據定時傳給上位機。這些實時監控數據最后均匯總到網絡服務器上,從而使整個系統構成了分布式的監控結構體系,主管部門只要通過應用軟件的人機交互界面就可在各自辦公位置對排污點的各項指標數據有一個準確的了解,進而達到對分布區域廣泛的各個排污點運行情況進行集中監控的目的。
嵌入式數據采集模塊上的每個串口可連接多達253個不同速率和協議的設備,因此為了降低成本,將距離較近的排污點測量單元通過一個串口集中管理器后接在同一個嵌入式數據采集模塊上。在PLC程序中設置好與上位機通信時所需的PLC站號后,嵌入式數據采集模塊就可通過輪巡的檢測方式接收各測量單元傳來的數據。但是實際中同一嵌入式數據采集模塊上所接的下層測量單元不應過多,因為這會造成輪巡一次的時間過長,影響報警的實時性。
2 PLC下層測量單元硬件設計
根據實際情況只需對各排污點的管道壓力、污水瞬時流量、污水總流量、紅外線人體探頭的開關狀態和供電的開關狀態進行監測。其中管道壓力由水壓傳感器測量,其測量數據為4~20 mA的模擬量;紅外線人體探頭的開關狀態和供電的開關狀態由PLC測量,其測量數據為數字量;污水瞬時流量和總流量由基于HART協議的智能電磁流量計測量,其測量數據通過串行通信傳送給PLC。由于PLC還要將處理后的數據傳送給嵌入式數據采集模塊,這需要占用一個串行通信口,所以系統選用帶有2個RS-485串行通信口的西門子S7-200 224XP型PLC。根據西門子224XP PLC的硬件資源,基于PLC的下層基本測量單元硬件連接圖如圖2所示。
如圖2所示,紅外線人體探頭和供電開關分別接到PLC的數字量輸入口I0.0和I0.1上;水壓傳感器接在PLC上的模擬量輸入口0(AIW0)上;PLC的通信口0通過屏蔽雙絞線與嵌入式數據采集模塊的RS-485接口相連;電磁流量計需要經過基于HART協議的調制解調器后才能接到PLC的串口上。系統中采用的調制解調器一端帶有4~20 mA的模擬傳輸線路(如電話線)接口,一端帶有RS-232接口,因此還需在調制解調器串口端再接一個RS-232轉RS-485模塊后才能接到PLC的通信口1上。HART協議是半雙工協議,同一時間內調制解調器只能處于調制或解調的工作狀態,所以需要通過PLC產生高低電平來進行控制,故將PLC的Q0.1口接到調制解調器的工作狀態控制端上。當PLC輸出高電平時,處于調制工作狀態;當輸出低電平時,處于解調工作狀態。
3 PLC下層測量單元軟件設計
根據PLC在系統中的作用,PLC程序應具有定時采集數據并通過自由口通信方式發送到上位機、自動報警、自動向上位機發送保持連接信號等功能。另外還要能響應上位機的數據補調命令,返回相應數值;響應上位機的參數修改命令,修正PLC的系統時間等。
整個PLC程序采用模塊化設計,將完成某一功能的代碼段編寫為子程序,設置入口參數和出口參數,當需要完成這項功能時,只需設置合適的參數并在程序中直接調用即可。這樣可縮短程序的長度,便于程序的修改和移植。整個PLC程序是由主程序、子程序和中斷程序3部分組成,每個功能模塊程序包含若干子程序和中斷程序,下面分別介紹。
3.1 PLC主程序
主程序主要是對自由口通信參數進行設置以及對程序中用到的各計數器和標志位寄存器進行復位,以免PLC斷電重啟之后產生未知錯誤。電磁流量計采用HART協議長幀結構命令,因此要先發送0#命令獲得生產廠家的代碼、設備型號碼和設備識別碼等總共38 bit的信息[4],用于填寫其他長幀命令的地址。PLC每次重啟后,在主程序中調用一次0#命令子程序,并將流量計返回的地址存儲在固定的寄存器中。另外,PLC采集的壓力模擬量是一個緩慢變化的過程量,為了避免測量誤差,還需對壓力采集量進行濾波;本文采用了平均值濾波法,每隔0.1 s觸發平均值濾波中斷程序對壓力測量數據進行處理。主程序流程圖如圖3所示。
評論