秦學(xué)偉 曹銀杰
摘 要 設(shè)計(jì)了一種基于嵌入式工控機(jī)和低功耗、高性能噪聲傳感器結(jié)合在一起的方案,通過串口設(shè)置實(shí)現(xiàn)數(shù)據(jù)自動(dòng)采集,本機(jī)數(shù)據(jù)的采集、處理、存儲(chǔ)和上傳,C#網(wǎng)絡(luò)連接上位機(jī)數(shù)據(jù)庫并對(duì)數(shù)據(jù)進(jìn)行隨時(shí)上傳和調(diào)用,并提供良好的人機(jī)交互界面,以及下拉式菜單的管理和數(shù)據(jù)的實(shí)時(shí)動(dòng)態(tài)顯示。通過TCP/IP網(wǎng)絡(luò)編程與上位主機(jī)通信,可實(shí)現(xiàn)多機(jī)連接,多點(diǎn)采集的功能,達(dá)到遠(yuǎn)程實(shí)時(shí)檢測(cè)傳輸數(shù)據(jù)。噪聲傳感器具有體積小、功耗低、采集速度快等優(yōu)點(diǎn),在氣象監(jiān)測(cè)、室外檢測(cè)噪聲等相關(guān)行業(yè)中具有廣泛的應(yīng)用前景。
關(guān)鍵詞 噪聲傳感器 遠(yuǎn)程傳輸 實(shí)時(shí)采集 人機(jī)交互
中圖分類號(hào):TP274 文獻(xiàn)標(biāo)識(shí)碼:A
隨著城市化、工業(yè)化的發(fā)展,噪音污染與大氣污染、水污染并列為三大污染,但是噪聲污染常被人們忽略,以至于噪音污染只是有增無減。噪音污染會(huì)引起人的工作效率低下、注意力不集中、記憶力減退、疲勞、耳聾耳鳴、高血壓等疾病。因此研究噪音污染的監(jiān)測(cè)和制約有著一定的必要性和緊迫性。
隨著科學(xué)技術(shù)的發(fā)展,出現(xiàn)各種各樣的噪聲檢測(cè)傳感器,很多企業(yè)設(shè)計(jì)出的噪聲檢測(cè)儀器,可快速準(zhǔn)確檢測(cè)實(shí)時(shí)周圍環(huán)境噪聲情況。但是這有很多局限性,檢測(cè)當(dāng)前有限時(shí)間內(nèi)噪聲,采集數(shù)據(jù)無法實(shí)時(shí)上傳至上位主機(jī),限制了檢測(cè)點(diǎn)長時(shí)間,大數(shù)據(jù)的分析處理。
本設(shè)計(jì)克服以上不足,使用體積小、功耗低、速度快的噪聲傳感器,保證采集數(shù)據(jù)的準(zhǔn)確性,通過對(duì)城市多點(diǎn)布點(diǎn),在工控機(jī)上基于C#編程設(shè)計(jì)出具有遠(yuǎn)程自動(dòng)噪聲采集系統(tǒng),同時(shí)結(jié)合工控機(jī)易操作的優(yōu)點(diǎn),完全等同于個(gè)人電腦一樣,系統(tǒng)穩(wěn)定、高效,實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)采集、處理、存儲(chǔ)及遠(yuǎn)程傳輸至遠(yuǎn)端中心,并提供良好的人機(jī)交互界面,以及下拉式菜單的管理和數(shù)據(jù)的實(shí)時(shí)顯示,這樣組成的一個(gè)小型傳感器采集系統(tǒng),具有體積小、工作穩(wěn)定、采集數(shù)據(jù)準(zhǔn)確等優(yōu)點(diǎn)。
1系統(tǒng)整體方案介紹
1.1系統(tǒng)功能要求
(1)可在工控機(jī)上實(shí)時(shí)自動(dòng)采集周圍環(huán)境信息,具有本機(jī)存儲(chǔ)和記錄和上傳遠(yuǎn)端數(shù)據(jù)庫功能,可連續(xù)24小時(shí)全天候采集。
(2)用戶可以根據(jù)需要設(shè)置閾值和顯示采集時(shí)間間隔和上傳頻率。
(3)可通過串口連接數(shù)據(jù)庫調(diào)用顯示歷史數(shù)據(jù)。
(4)可靠穩(wěn)定的TCP/IP協(xié)議,保證數(shù)據(jù)的正確性和有效性。
1.2傳感器介紹
由于噪聲采集傳感器安裝位置不定,必須能在各種惡劣的氣候環(huán)境下長時(shí)間工作,這就要求傳感器性能可靠、功耗低、使用壽命長、響應(yīng)速度快,且有很強(qiáng)的防水、抗寒和耐腐蝕性等。一般的傳感器難以滿足這些要求,必須使用專業(yè)的防護(hù)等級(jí)高的傳感器模塊。系統(tǒng)采用專業(yè)級(jí)別傳感器,具有較低的功耗。采用噪聲傳感器通過RS485接口連接至工控機(jī)進(jìn)行數(shù)據(jù)的采集。
噪聲傳感器的特點(diǎn):實(shí)時(shí)監(jiān)控噪音,可以數(shù)據(jù)回傳,支持多種接口,體積小巧,方便兼容其他設(shè)備,方便安裝,支持多種接口輸出,廣泛應(yīng)用于工業(yè)設(shè)備噪音檢測(cè),辦公,學(xué)校,廣場(chǎng)等需要噪音檢測(cè)的場(chǎng)合。
1.3 C#簡(jiǎn)介
C#語言是用于創(chuàng)建要運(yùn)行在.NET上的應(yīng)用程序語言之一,它從C和C++語言演化而來,是Microsoft專門為使用.NET平臺(tái)而創(chuàng)建的。C#只是用于.NET開發(fā)也是.NET平臺(tái)下最好的一種語言。C#的優(yōu)點(diǎn)是唯一為.NET Framework設(shè)計(jì)的語言,是在移植到其他操作系統(tǒng)上的.NET版本中使用的主要語言。
本設(shè)計(jì)使用C#對(duì)串口初始化設(shè)置保證準(zhǔn)確的數(shù)據(jù)采集,通過對(duì)modbus協(xié)議分析對(duì)傳感器上傳的數(shù)據(jù)有效讀取顯示出來,使用chart控件設(shè)置可動(dòng)態(tài)實(shí)時(shí)顯示當(dāng)前噪聲數(shù)據(jù),然后與數(shù)據(jù)庫建立,通過網(wǎng)絡(luò)TCP/IP協(xié)議將采集數(shù)據(jù)上傳中心服務(wù)器處。
1.4 SQL Server數(shù)據(jù)庫
SQL Server是數(shù)據(jù)庫管理系統(tǒng)。在開發(fā)人員生產(chǎn)力方面,SQL Server2005引入使用了Microsoft.NET語言來開發(fā)數(shù)據(jù)庫目標(biāo)的性能,為開發(fā)人員在SQL Server查詢開發(fā)方面提供了更高的靈活性和控制力,SQLServer代理為各個(gè)級(jí)別的可伸縮性提供了一種創(chuàng)新的、分發(fā)的、異步的應(yīng)用系統(tǒng)體系結(jié)構(gòu)。
此外,在SQL Server 2005與C#的結(jié)合,達(dá)到了完美的儲(chǔ)存效果。
2硬件設(shè)計(jì)
2.1單點(diǎn)采集結(jié)構(gòu)
采集結(jié)構(gòu)如圖1所示,由工控機(jī)、RS485接口、網(wǎng)絡(luò)連接、數(shù)據(jù)上傳、中心服務(wù)器部分。
2.2系統(tǒng)總體結(jié)構(gòu)
系統(tǒng)總體結(jié)構(gòu)如圖2所示
3軟件設(shè)計(jì)
軟件采用模塊化的設(shè)計(jì)方法對(duì)系統(tǒng)的各項(xiàng)功能進(jìn)行封裝,各個(gè)模塊完成特定的功能,模塊之間相互獨(dú)立并提供必要的接口,如圖3。對(duì)串口初始化,串口設(shè)置,如下所示。
serialPort1 = new SerialPort("Com1", 9600, Parity.None, 8,
StopBits.One);//初始化串口
serialPort1.Open();
if (serialPort1.IsOpen)
{ textBox1.Text = "COM口成功打開"; }
3.1數(shù)據(jù)通信協(xié)議
采集軟件中的通信分為兩個(gè)部分:一是將工控機(jī)作為主機(jī)與傳感器之間的通訊;二是將工控機(jī)作為從機(jī)與監(jiān)控中心主機(jī)的通訊。前者采用RS485總線主從式的通訊方法,使用MODBUS協(xié)議的主機(jī)查詢和從機(jī)回復(fù)的幀消息結(jié)構(gòu),只有主機(jī)先發(fā)送命令,傳感器接受特點(diǎn)的指令,就會(huì)返回帶有噪聲數(shù)據(jù)給主機(jī),這樣有利于避免數(shù)據(jù)一直不間歇傳輸,而導(dǎo)致主機(jī)處理進(jìn)程時(shí)突然涌入的大量數(shù)據(jù)產(chǎn)生異常。后者則利用網(wǎng)絡(luò)協(xié)議TCP/IP通訊與遠(yuǎn)程監(jiān)控中心進(jìn)行數(shù)據(jù)傳輸,對(duì)下位機(jī)進(jìn)行監(jiān)控。
3.1.1 MODBUS協(xié)議
目前使用的Modbus有三個(gè)版本:Modbus ASCII、Modbus RTU和Modbus/TCP。本設(shè)計(jì)采用的是Modbus RTU版本。Modbus RTU通信采用主-從方式,最多傳送255個(gè)字節(jié)的數(shù)據(jù)。主設(shè)備與一個(gè)或多個(gè)從設(shè)備進(jìn)行通信,當(dāng)Modbus RTU主設(shè)備想要從一臺(tái)從設(shè)備得到數(shù)據(jù)的時(shí)候,主設(shè)備發(fā)送一條包含該從設(shè)備站地址、所需要的數(shù)據(jù)以及一個(gè)用于檢測(cè)錯(cuò)誤的CRC校驗(yàn)碼。網(wǎng)絡(luò)上所有其它設(shè)備都可以接收到這條信息,但是只有地址被指定的從設(shè)備才會(huì)作出反應(yīng)。Modbus網(wǎng)絡(luò)上的從設(shè)備不能發(fā)起通信,它們只能在主設(shè)備對(duì)它說話的時(shí)候回答。
3.1.2 TCP/IP協(xié)議
TCP/IP協(xié)議是現(xiàn)在互聯(lián)網(wǎng)的基礎(chǔ)。TCP/IP協(xié)議主要有如下的特點(diǎn)。
(1)TCP/IP協(xié)議是一個(gè)開放的協(xié)議標(biāo)準(zhǔn)。
(2)TCP/IP協(xié)議是不區(qū)分網(wǎng)絡(luò)硬件,在局域網(wǎng),廣域網(wǎng)和互聯(lián)網(wǎng)中都廣泛使用。
(3)TCP/IP協(xié)議使用統(tǒng)一的網(wǎng)絡(luò)地址分配方案。網(wǎng)絡(luò)中每臺(tái)電腦都具有唯一的IP地址。
(4)TCP/IP協(xié)議是標(biāo)準(zhǔn)的高層協(xié)議,擁有極高的可靠性,可以為用戶提供可靠的服務(wù)。
3.2人機(jī)交互接口
良好的人機(jī)交互接口為工作人員提供了可視化的操作環(huán)境,方便工作人員對(duì)自動(dòng)氣象站進(jìn)行監(jiān)視、參數(shù)設(shè)置、故障檢測(cè)、數(shù)據(jù)導(dǎo)出、配置傳感器等,極大地提高了自動(dòng)氣象站的靈活性、可擴(kuò)展性和可維護(hù)性。C#具有優(yōu)良的頁面發(fā)開特點(diǎn),如圖4所示,是前端采集顯示效果圖。
3.3上位機(jī)服務(wù)器
監(jiān)控中心主機(jī)在Internet中有固定的IP地址和主機(jī)名稱,方便與下位機(jī)間的數(shù)據(jù)傳輸。除了操作系統(tǒng)外,主機(jī)安裝Visual Studio 2010開發(fā)環(huán)境和SQL Server2005數(shù)據(jù)庫管理軟件,采用C#編寫數(shù)據(jù)接收與管理軟件,實(shí)現(xiàn)對(duì)數(shù)據(jù)的實(shí)時(shí)顯示、接收、處理,具有分類存儲(chǔ)、數(shù)據(jù)保存、曲線顯示、統(tǒng)計(jì)分析,歷史數(shù)據(jù)查詢等功能。如下所示與數(shù)據(jù)庫建立連接。
SqlConnection connection = new SqlConnection();
connection.ConnectionString =
@"Server=qinxuewei;uid=sa;pwd=****;DataBase=NoisyCollectingSystem";
connection.Open();
4結(jié)語
設(shè)計(jì)的噪聲數(shù)據(jù)采集系統(tǒng)觀測(cè)精度高、自動(dòng)化程序高、性價(jià)比高,可長時(shí)間全天候不間斷地進(jìn)行檢測(cè),具有良好的可靠性和穩(wěn)定性,適用于各種需要檢測(cè)噪聲的場(chǎng)合。軟件設(shè)計(jì)采用模塊化的設(shè)計(jì)方法,工作環(huán)境變化時(shí)不需對(duì)原有軟硬件進(jìn)行任何改動(dòng),只需要將配置好的硬件系統(tǒng)中,并進(jìn)行簡(jiǎn)單的軟件配置或升級(jí)即可,提高了系統(tǒng)的可擴(kuò)展性。同時(shí)進(jìn)行的多點(diǎn)檢測(cè)使其覆蓋面積廣、接入速度快、穩(wěn)定性高,數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性和準(zhǔn)確性好,對(duì)偏遠(yuǎn)或人工難以完成的地區(qū)通過遠(yuǎn)程上傳提供了方便,使得系統(tǒng)具有很高的應(yīng)用價(jià)值和廣闊的市場(chǎng)前景。
參考文獻(xiàn)
[1] 呂皓,楊志勇.噪聲污染 無形的健康殺手[J].科學(xué)生活,2007(4):26-28.
[2] 胡艷紅,姚愛琴,孫運(yùn)強(qiáng),等.環(huán)境噪聲檢測(cè)終端設(shè)計(jì)[J].電子測(cè)試,2010(11):51-55.
[3] 張金標(biāo),周劍.基于.NET平臺(tái)的廣播發(fā)射臺(tái)實(shí)時(shí)監(jiān)控系統(tǒng)[J].中國傳媒大學(xué)學(xué)報(bào):自然科學(xué)版,2006,13(1):66-70.
[4] Hagiwara M.NET Framework[J].Ipsj Sig Notes,2001,134(4):7-8.
[5] 李翠梅.綜述SQL Server數(shù)據(jù)庫管理系統(tǒng)對(duì)XML的支持[J].現(xiàn)代計(jì)算機(jī):專業(yè)版,2011(5):53-54.
[6] 何躍武.ABB變頻器與三菱PLC間的Modbus-RTU協(xié)議通信[J].自動(dòng)化應(yīng)用,2012(1):51-53.
[7] 李杰.關(guān)于TCP/IP協(xié)議安全機(jī)制有其特點(diǎn)的研究[J].安徽師范大學(xué)學(xué)報(bào):自然科學(xué)版,2002:50-55.