摘 要:本文結(jié)合江門市區(qū)篁邊飲用水源地水質(zhì)自動(dòng)監(jiān)測(cè)系統(tǒng)建設(shè),用簡(jiǎn)易的方法實(shí)現(xiàn)飲用水源地水質(zhì)自動(dòng)監(jiān)測(cè)數(shù)據(jù)實(shí)時(shí)共享,實(shí)現(xiàn)監(jiān)測(cè)數(shù)據(jù)應(yīng)用于環(huán)境監(jiān)督管理和自來(lái)水生產(chǎn)控制,推進(jìn)環(huán)境信息化建設(shè)。
關(guān)鍵詞:水源地?cái)?shù)據(jù)共享
中圖分類號(hào):X143;TP393文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1674-098X(2011)08(a)-0141-02
隨著經(jīng)濟(jì)的發(fā)展,大量工業(yè)廢水和生活污水的排放,導(dǎo)致河流污染有進(jìn)一步加重趨勢(shì),為保障飲用水源安全,全國(guó)各地在飲用水源地等水質(zhì)要求比較敏感的斷面,建立起水質(zhì)自動(dòng)監(jiān)測(cè)系統(tǒng),實(shí)行24小時(shí)不間斷連續(xù)監(jiān)測(cè),監(jiān)控飲用水源地水質(zhì)。
2008年江門市區(qū)在篁邊自來(lái)水廠吸水點(diǎn)建設(shè)水質(zhì)自動(dòng)監(jiān)測(cè)系統(tǒng),實(shí)時(shí)監(jiān)控飲用水源地水質(zhì)現(xiàn)狀,為自來(lái)水生產(chǎn)提供水質(zhì)預(yù)警,有效保障飲用水安全。水質(zhì)自動(dòng)監(jiān)測(cè)系統(tǒng)由江門市自來(lái)水有限公司提供場(chǎng)地,江門市環(huán)境保護(hù)局負(fù)責(zé)系統(tǒng)建設(shè)及日常運(yùn)營(yíng)管理,實(shí)現(xiàn)監(jiān)測(cè)數(shù)據(jù)共享,減少重復(fù)建設(shè),互惠共贏。
1 水質(zhì)自動(dòng)監(jiān)測(cè)系統(tǒng)數(shù)據(jù)傳輸概況
江門市區(qū)篁邊水質(zhì)自動(dòng)監(jiān)測(cè)系統(tǒng)由湖南力合科技有限公司承建。該系統(tǒng)中心控制系統(tǒng)通過RS485或RS232串口定期采集各儀器的實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù),存儲(chǔ)于由ACCESS構(gòu)建的數(shù)據(jù)庫(kù)中。環(huán)保局監(jiān)控中心定期向現(xiàn)場(chǎng)工控機(jī)調(diào)取監(jiān)測(cè)數(shù)據(jù)并保存于由SQL Server構(gòu)建的數(shù)據(jù)庫(kù)中,為確保數(shù)據(jù)安全,數(shù)據(jù)傳輸鏈路采用內(nèi)網(wǎng)方式構(gòu)建,直接通過光纖對(duì)接。
該系統(tǒng)建設(shè)調(diào)試初期,只向環(huán)保局監(jiān)控中心傳輸數(shù)據(jù),未能與江門市自來(lái)水有限公司實(shí)現(xiàn)數(shù)據(jù)共享。根據(jù)水質(zhì)自動(dòng)監(jiān)測(cè)系統(tǒng)與自來(lái)水吸水點(diǎn)監(jiān)控中心距離短的現(xiàn)狀,我們探索通過網(wǎng)卡和網(wǎng)線直接實(shí)現(xiàn)數(shù)據(jù)交互,實(shí)現(xiàn)方便且數(shù)據(jù)共享成本幾乎為零。
2 實(shí)現(xiàn)數(shù)據(jù)共享
2.1 選擇開發(fā)軟件及數(shù)據(jù)庫(kù)類型
水質(zhì)自動(dòng)監(jiān)測(cè)系統(tǒng)與自來(lái)水吸水點(diǎn)監(jiān)控中心數(shù)據(jù)傳輸,用Visual Studio .net 2005來(lái)開發(fā),用SQL Server構(gòu)建后臺(tái)數(shù)據(jù)庫(kù)。
2.2 硬件連接
在水站工控機(jī)和自來(lái)水有限公司數(shù)據(jù)接收電腦上分別安裝網(wǎng)卡,用網(wǎng)線連接。
2.3 數(shù)據(jù)傳輸流程圖(圖1)
2.4 軟件操作界面(圖2)
2.5 關(guān)鍵代碼
2.5.1 配置信息代碼
// TODO: 設(shè)定檢查是否有可傳數(shù)據(jù)的時(shí)間
// TODO:限制部分檢測(cè)項(xiàng)目數(shù)據(jù)向自來(lái)水廠傳輸
2.5.2 鏈接數(shù)據(jù)庫(kù)
// TODO: 打開水站數(shù)據(jù)連接
try
{
srcConn.Open();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
ShowMessage(EPDataTrans.Properties.Resources.OpeningSourceConnectionFailed);
this.UseWaitCursor = 1;
timer1.Enabled = true;
return;
}
// TODO:打開自來(lái)水廠數(shù)據(jù)連接
try
{
dstConn.Open();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
ShowMessage(EPDataTrans.Properties.Resources.OpeningDestConnectionFailed);
this.UseWaitCursor = 1;
timer1.Enabled = true;
return;
}
2.5.3 數(shù)據(jù)傳輸
try
{
// TODO:取得自來(lái)水廠數(shù)據(jù)庫(kù)最近傳送的記錄時(shí)間
SqlCommand dstGetLastTimeCmd = new SqlCommand(\"SELECT MAX([DataTime]) FROM [ShuiZhi] WHERE [Source] = 1\", dstConn);
Object result = dstGetLastTimeCmd.ExecuteScalar();
DateTime lastTime = DateTime.MinValue;
if(!DateTime.TryParse(Convert.ToString(result), out lastTime))
{
lastTime = DateTime.MinValue;
}
// TODO:找出水站數(shù)據(jù)庫(kù)中未傳送的記錄
OleDbCommand srcCmd = new OleDbCommand(String.Format(\"SELECT [DataTime], [CodeID], [dValue], [Flags] FROM [T_GenData] WHERE ([DataTime] > LastTime) AND ([CodeID] NOT IN ({0}))\", EPDataTrans.Properties.Settings.Default.ForbiddenFields), srcConn);
OleDbParameter srcPara = srcCmd.Parameters.Add(\"@LastTime\", OleDbType.Date);
srcPara.Value = lastTime;
OleDbDataReader srcReader = srcCmd.ExecuteReader();
if (srcReader.HasRows)
{
// TODO:將數(shù)據(jù)傳送到自來(lái)水廠數(shù)據(jù)庫(kù)中
SqlCommand dstCmd=new SqlCommand(\"INSERT [ShuiZhi] ([DataTime], [CodeID], [dValue], [Source]) VALUES (@DataTime, @CodeID, @dValue, 1)\", dstConn);
SqlParameter dstParaDataTime = dstCmd.Parameters.Add(\"@DataTime\", SqlDbType.DateTime);
SqlParameter dstParadCodeID = dstCmd.Parameters.Add(\"@CodeID\", SqlDbType.VarChar, 8);
SqlParameter dstParadValue = dstCmd.Parameters.Add(\"@dValue\", SqlDbType.Float);
while (srcReader.Read())
{
dstParaDataTime.Value = srcReader[\"DataTime\"];
dstParadCodeID.Value = srcReader[\"CodeID\"];
dstParadValue.Value = srcReader[\"dValue\"];
// TODO:統(tǒng)計(jì)實(shí)際傳輸記錄條數(shù)
recordsAffected+=dstCmd.ExecuteNonQuery();
}
}
srcReader.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
ShowMessage(EPDataTrans.Properties.Resources.TransferingGenDataFailed);
this.UseWaitCursor = 1;
timer1.Enabled = true;
return;
}
2.6 存在問題
此鏈接方式只適合距離少于100米的數(shù)據(jù)共享,如果距離較遠(yuǎn),則需改用光纖對(duì)接,并在兩端加裝光纖收發(fā)器,增加硬件投入成本,但通訊成本依然為零。
3 數(shù)據(jù)共享的意義及發(fā)展趨勢(shì)
各個(gè)機(jī)構(gòu)或單位各自建立了不同的監(jiān)測(cè)系統(tǒng),如不共享,勢(shì)必形成數(shù)據(jù)孤島;如統(tǒng)籌共建,數(shù)據(jù)共享,既避免了重復(fù)建設(shè),同時(shí)也避免數(shù)據(jù)矛盾沖突引發(fā)的爭(zhēng)端,互惠共贏,從某種意義上講,是節(jié)能減排,踐行科學(xué)發(fā)展觀的實(shí)際舉措。環(huán)保系統(tǒng)在打造“數(shù)字環(huán)保”的過程中,就應(yīng)該加強(qiáng)與其它相關(guān)機(jī)構(gòu)和單位的合作,理順行政管理關(guān)系,共享數(shù)據(jù)資源,減少重復(fù)建設(shè)。例如在水環(huán)境監(jiān)測(cè)管理中,與水利、水文部門加強(qiáng)合作,共享水質(zhì)和水文的動(dòng)態(tài)監(jiān)測(cè)成果,綜合分析水文條件引起水質(zhì)變化,從而加強(qiáng)對(duì)上、下游污染源的管理力度,有效遏制河流水質(zhì)加重污染;在大氣質(zhì)量監(jiān)測(cè)管理中,加強(qiáng)與氣象部門合作,實(shí)時(shí)動(dòng)態(tài)共享雙方的監(jiān)測(cè)數(shù)據(jù),建立污染物擴(kuò)散氣象動(dòng)態(tài)分析模型,準(zhǔn)確提供大氣質(zhì)量預(yù)報(bào)工作。
環(huán)境保護(hù)部周生賢部長(zhǎng)在2010年1月5日第一次全國(guó)環(huán)境信息化工作會(huì)議中,指出環(huán)境信息種類繁多、數(shù)量巨大,只有通過深入推進(jìn)環(huán)境信息化建設(shè),實(shí)現(xiàn)環(huán)境信息采集、傳輸和管理的數(shù)字化、智能化、網(wǎng)絡(luò)化,才能從大量繁雜的信息中發(fā)現(xiàn)趨勢(shì)、把握重點(diǎn),使環(huán)境管理決策體現(xiàn)時(shí)代性、把握規(guī)律性、富于創(chuàng)造性,提高環(huán)境管理決策的水平和能力,推動(dòng)各類環(huán)境問題的有效解決。[1]這標(biāo)志著我國(guó)環(huán)境管理將步入一個(gè)新階段,實(shí)時(shí)監(jiān)控和遠(yuǎn)程管理將得到空前發(fā)展,數(shù)據(jù)共享和技術(shù)合作將提到更高水平。
參考文獻(xiàn)
[1] 周生賢.第一次全國(guó)環(huán)境信息化工作會(huì)議講話摘錄.2010.