目前,污染物總量控制是以環(huán)境質(zhì)量目標(biāo)為基本依據(jù),政府環(huán)保管理機(jī)構(gòu)以行政手段對(duì)區(qū)域內(nèi)各污染源的污染物或重點(diǎn)污染物的排放總量實(shí)施控制。而隨著排放污染物的增加和不斷變化,迫切需要通過(guò)工業(yè)信息化手段來(lái)解決污染物的總量控制。
排污總量控制系統(tǒng)采集企業(yè)各排污口各類監(jiān)測(cè)數(shù)據(jù),通過(guò)設(shè)置總量控制指標(biāo),為總量減排指標(biāo)的落實(shí)提供科學(xué)依據(jù),實(shí)現(xiàn)對(duì)工業(yè)企業(yè)重點(diǎn)污染排放物的濃度及總量的雙控制,為鞏固和落實(shí)總量減排工作成果提供了科學(xué)的方法。
1 系統(tǒng)概述
排污總量控制系統(tǒng)是用于對(duì)工業(yè)企業(yè)主要污染物的排放數(shù)據(jù)進(jìn)行實(shí)時(shí)采集、監(jiān)視、自動(dòng)控制和管理的一套應(yīng)用管理系統(tǒng)。系統(tǒng)由觸控一體機(jī)、數(shù)據(jù)采集控制器、在線監(jiān)控應(yīng)用軟件組成。系統(tǒng)應(yīng)用示意圖如圖1所示。
系統(tǒng)應(yīng)用過(guò)程中包含定量、監(jiān)視、關(guān)閥、開(kāi)閥等環(huán)節(jié)。
(1)定量:對(duì)企業(yè)廢水排放總量和污染物(COD或氨氮等)排放總量進(jìn)行設(shè)置等。
(2)監(jiān)視:實(shí)時(shí)獲取企業(yè)污染物的排放總量數(shù)據(jù)和閥門運(yùn)行狀態(tài),在接近總排放量限額時(shí)(如90%),進(jìn)行報(bào)警。
(3)關(guān)閥:企業(yè)的實(shí)際排污量達(dá)到總排放量限額時(shí),自動(dòng)下發(fā)關(guān)閥指令關(guān)閉電動(dòng)閥門。
(4)開(kāi)閥:對(duì)排污閥門被關(guān)閉的企業(yè),在購(gòu)買排污量后,再重新設(shè)置并且導(dǎo)入排污量后,自動(dòng)下發(fā)開(kāi)閥指令開(kāi)啟電動(dòng)閥門。
圖1 系統(tǒng)應(yīng)用示意圖
2 系統(tǒng)功能
排污總量控制系統(tǒng)在線監(jiān)控應(yīng)用軟件界面如圖2所示。系統(tǒng)包括以下功能:
(1)設(shè)置系統(tǒng)排放量:設(shè)置排放總量信息,并且存儲(chǔ)到數(shù)據(jù)采集控制器中,作為污染物排放量的上限指標(biāo)。
(2)實(shí)時(shí)監(jiān)視:以文本和圖像形式查看流量計(jì)數(shù)據(jù)信息(瞬時(shí)流量、累計(jì)流量)、閥門實(shí)時(shí)狀態(tài)信息。
(3)實(shí)時(shí)數(shù)據(jù)查看:查看流量計(jì)、閥門實(shí)時(shí)數(shù)據(jù)信息。
(4)歷史數(shù)據(jù)查看:查詢系統(tǒng)數(shù)據(jù)庫(kù)中已保存的排放量歷史數(shù)據(jù)信息。
(5)報(bào)警提示功能:當(dāng)總量超過(guò)允許總量的90%、100%時(shí),系統(tǒng)會(huì)進(jìn)行分級(jí)別預(yù)警,可直接啟動(dòng)報(bào)警,并保存報(bào)警信息記錄,啟動(dòng)關(guān)閉閥門操作。
(6)自動(dòng)閥門控制:系統(tǒng)檢測(cè)到余量排放完時(shí),自動(dòng)關(guān)閥。重新購(gòu)買和設(shè)定排放量后,自動(dòng)開(kāi)閥。
(7)日志信息查詢:系統(tǒng)可查詢系統(tǒng)中指定時(shí)間內(nèi)的操作日志信息。
(8)報(bào)警信息查詢:系統(tǒng)可查詢系統(tǒng)中指定時(shí)間內(nèi)的報(bào)警信息。
圖2 排污總量控制系統(tǒng)界面
3 Modbus Tcp 在系統(tǒng)中的應(yīng)用
Modbus是由Modicon在1979年發(fā)明的,是全球第一個(gè)真正用于工業(yè)現(xiàn)場(chǎng)的總線協(xié)議。1996年施耐德公司推出了基于以太網(wǎng)TCP/IP的Modbus TCP協(xié)議,Modbus TCP是一個(gè)請(qǐng)求/應(yīng)答協(xié)議,通過(guò)功能碼與寄存器地址進(jìn)行數(shù)據(jù)讀寫操作。Modbus在2004年成為我國(guó)的國(guó)家標(biāo)準(zhǔn)。
在排污總量控制系統(tǒng)中,在線監(jiān)控應(yīng)用軟件與數(shù)據(jù)采集控制器的通信功能都是應(yīng)用Modbus TCP來(lái)實(shí)現(xiàn)的。Modbus TCP中共包括13類功能碼,本系統(tǒng)中用到了其中5種功能碼,如表1所示。
表1 Modus TCP5種功能碼
在實(shí)際應(yīng)用中,數(shù)據(jù)采集控制器作為Modbus TCP Server,在線監(jiān)控應(yīng)用軟件作為Modbus TCP Client,在線監(jiān)控應(yīng)用軟件先要通過(guò)Socket對(duì)象和502端口連接數(shù)據(jù)采集控制器,然后根據(jù)功能需要向Modbus TCP Server發(fā)送構(gòu)造字節(jié)數(shù)組進(jìn)行寄存器的讀寫操作。
(1)設(shè)置系統(tǒng)排放量:設(shè)置排放總量信息,并且存儲(chǔ)到數(shù)據(jù)采集控制器中。此處首先讀取數(shù)據(jù)采集控制器中存儲(chǔ)的排放總量信息,然后對(duì)其進(jìn)行設(shè)置,最后將新數(shù)值寫入保持寄存器,需要使用的Modbus TCP的功能碼為3和16。讀取保持寄存器的主要字節(jié)構(gòu)造代碼如下:
List
sendMessage.AddRange(GetBytes(this.NextDataIndex()));//1~2位 標(biāo)識(shí)位
sendMessage.AddRange(new byte[] { 0, 0 });//3~4位 modbus標(biāo)識(shí)
sendMessage.AddRange(GetBytes((short)6));//5~6位 后續(xù)byte數(shù)量
sendMessage.Add(0);//7位 默認(rèn)為0
sendMessage.Add((byte)3);//8位 讀保持寄存器功能碼
sendMessage.AddRange(GetBytes((short)startAddress));//9~10位 讀起始地址
sendMessage.AddRange(GetBytes((short)registerCount));//11~12位 讀取的寄存器數(shù)量
圖3 設(shè)置系統(tǒng)排放量界面
(2)實(shí)時(shí)監(jiān)視:獲取流量計(jì)數(shù)據(jù)信息(瞬時(shí)流量、累計(jì)流量)、閥門實(shí)時(shí)狀態(tài)信息,需要使用的Modbus TCP的功能碼為4和2。讀取輸入狀態(tài)的主要字節(jié)構(gòu)造代碼如下:
List
sendMessage.AddRange ( vt.GetBytes ( this.NextDataIndex()));//1~2位 標(biāo)識(shí)位
sendMessage.AddRange(new byte[] { 0, 0 });//3~4位 modbus標(biāo)識(shí)
sendMessage.AddRange(vt.GetBytes((short)6));//5~6位 后續(xù)byte數(shù)量
sendMessage.Add(0);//7位 默認(rèn)為0
sendMessage.Add((byte)2);//8位 讀輸入狀態(tài)功能碼
sendMessage.AddRange(vt.GetBytes((short)startAddress));//9~10位 讀起始地址
sendMessage.AddRange(vt.GetBytes((short)registerCount));//11~12位 讀取的寄存器數(shù)量
圖4 實(shí)時(shí)監(jiān)視界面
(3)自動(dòng)閥門控制:系統(tǒng)檢測(cè)到累計(jì)排放量達(dá)到限值時(shí),自動(dòng)關(guān)閥。購(gòu)買排放量并且導(dǎo)入后,自動(dòng)開(kāi)閥。并且顯示當(dāng)前閥門狀態(tài)。需要使用的Modbus TCP的功能碼為5。寫入線圈狀態(tài)的主要字節(jié)構(gòu)造代碼如下:
List
sendMessage.AddRange(GetBytes(this.NextDataIndex()));//1~2位 標(biāo)識(shí)位
sendMessage.AddRange(new byte[] { 0, 0 });//3~4位 Modbus標(biāo)識(shí)
sendMessage.AddRange(GetBytes((short)6));//5~6位 后續(xù)byte數(shù)量
sendMessage.Add(0);//7位 默認(rèn)為0
sendMessage.Add((byte)5);//8位 寫狀態(tài)位功能碼
sendMessage.AddRange(GetBytes((short)startAddress));//9~10位 寫入地址if (ceilStatus)
{
sendMessage.AddRange(BitConverter.GetBytes((short)255));//11~12位 寫入狀態(tài)位on
}
else
{
sendMessage.AddRange(dt.GetBytes((short)0));//11~12位 寫入狀態(tài)位off
}
圖5 閥門狀態(tài)界面
4 應(yīng)用情況
目前,排污總量控制系統(tǒng)已經(jīng)在工業(yè)現(xiàn)場(chǎng)進(jìn)行了實(shí)驗(yàn)應(yīng)用,對(duì)污水實(shí)時(shí)和累計(jì)排放總量進(jìn)行了數(shù)據(jù)監(jiān)視,對(duì)排放總量接近存儲(chǔ)排污量限值時(shí)進(jìn)行報(bào)警,當(dāng)排放總量達(dá)到存儲(chǔ)排污量限值時(shí)自動(dòng)關(guān)閉電動(dòng)閥門停止排污。
5 總結(jié)
基于Modbus TCP實(shí)現(xiàn)的排污總量控制系統(tǒng),實(shí)現(xiàn)了讀取和寫入數(shù)據(jù)采集控制器中相關(guān)寄存器中的數(shù)據(jù),從而實(shí)現(xiàn)工業(yè)現(xiàn)場(chǎng)排污數(shù)據(jù)的讀取和閥門狀態(tài)的監(jiān)視與控制,目前主流的數(shù)據(jù)采集控制器均支持標(biāo)準(zhǔn)的Modbs TCP通訊協(xié)議,所以本系統(tǒng)具有廣泛的現(xiàn)場(chǎng)適用性。通過(guò)系統(tǒng)的成功部署與運(yùn)行,有效地實(shí)現(xiàn)了對(duì)工業(yè)企業(yè)排放污染物的濃度及總量的雙控制,在實(shí)際應(yīng)用中還可以將累計(jì)排污數(shù)據(jù)發(fā)送到環(huán)保部門的在線監(jiān)測(cè)平臺(tái),使環(huán)保部門清晰了解每個(gè)工業(yè)企業(yè)的污染物排放情況,從而為環(huán)境治理以及環(huán)保執(zhí)法提供了有力的保障。
參考文獻(xiàn):
[1] 張力軍等. 主要污染物總量減排管理實(shí)用手冊(cè)[M].中國(guó)環(huán)境科學(xué)出版社,2008.
[2] 王琴. 污染源總量控制實(shí)施[J]. 能源環(huán)境保護(hù),2013, 27(2): 61- 64.
[3] 耿元一. Modbus TCP國(guó)際領(lǐng)先 工業(yè)以太網(wǎng)前景看好[J]. 機(jī)電一體化,2005 (4): 15.
[4] 鄔書金等. 基于Modbus TCP協(xié)議實(shí)現(xiàn)PC機(jī)與PLC的串行通信[J]. 可編程控制器與工廠自動(dòng)化,2009(9): 63 - 64.
作者簡(jiǎn)介
馮皓晨(1996-),男,黑龍江大慶人,現(xiàn)就讀于電子科技大學(xué)自動(dòng)化專業(yè)。
摘自《自動(dòng)化博覽》2016年2月刊