婁海強 ,衷衛聲,王文海,付 港
(1.南昌大學 機電工程學院,南昌 330031;2.南昌大學 信息工程學院,南昌 330031;3.浙江大學 信息學部,杭州 310027)
2014年,國家安全監管總局發布了《關于進一步加強化學品罐區安全管理的通知》,要求各企業必須完善化學品罐區監測監控設施,國家對罐區的監控和管理越來越重視。
液氨屬于化工企業的重大危險源,液氨儲罐的液位、壓力和罐區的氨氣濃度、氣溫都是重要監控對象。隨著企業生產規模的擴大,不同工序的原料分布在不同地方,罐區分布較散,難以做到集中管理。采用遠程監控可使分布較散的罐區做到統一管理。嵌入式系統技術和GPRS無線通信技術的發展,給罐區監控系統的發展與升級提供了優越的條件。本設計采用ARM-Linux嵌入式技術和GPRS無線通信技術來組建一個嵌入式遠程監控系統,實現對液氨罐區的遠程監控和報警。GPRS(general packet radio service)是通用分組無線業務的簡稱,它是基于現有的GSM基礎上發展的一種低成本、高效的無線分組數據業務[1]。利用GPRS技術實現的監控系統,具有實時性強、設備成本低、按流量計費、價格合理的優點,適合間斷的、長時間的數據傳輸[2]。

圖1 系統的整體結構Fig.1 Overall structure of the system
整個系統采用上位機和下位機兩層結構,分別為現場嵌入式監測終端和遠程數據監視中心。整體結構如圖1所示。ARM微處理器選擇S3C2440A,該微處理器是韓國三星公司面向手持設備以及高性價比、低功耗和低價格而設計的一款基于ARM920T內核的16/32位RISC嵌入式處理器,標準工作頻率可達400 MHz[3]。
現場嵌入式監測終端,主要完成液氨罐區參數的數據采集、語音和短信報警、數據的無線傳輸、執行安全聯鎖機構等工作。信息采集是由溫度傳感器、液位傳感器、壓力傳感器、氨氣濃度傳感器采集標準模擬信號,標準模擬信號通過A/D模數轉換芯片模塊轉為數字信號,然后ARM處理器對數據進行分析處理。當壓力、液位、溫度或空氣氨氣濃度達到報警值時,則觸發ARM處理器控制現場語音模塊進行語音報警和控制GPRS模塊向安全管理人員發送短信報警,并控制安全聯鎖執行機構排除危險。現場嵌入式監測終端通過GPRS無線網絡傳輸將罐區數據傳送給數據中心。網絡采用中國移動的GPRS的APN專網固定IP地址的方式傳輸數據。首先向中國移動公司開通GPRS的APN專網業務,開通該業務后就可以給現場監測終端和遠程數據監視中心分配中國移動內部固定IP地址。這樣,由現場嵌入式監測終端所采集的數據和圖片都可以在中國移動GPRS的APN內網傳送。監視中心負責罐區數據的接受、顯示、存儲和管理。
考慮到系統的兼容性,本系統主要選擇輸出為標準4~20 mA電流模擬傳感器。液氨儲罐壓力傳感器選擇PT212BX壓力變送器,采用防爆型殼體,耐腐蝕,可輸出4~20 mA模擬信號。液氨儲罐液位傳感器選擇HS-2000智能型液氨儲罐液位計。測量時將超聲波探頭安裝在液氨儲罐外壁的底部,不需要對儲罐開孔,安裝也非常簡單,不會影響現場的生產。儀器采用隔爆設計,滿足防爆要求。此外儀表可輸出4~20 mA標準信號。空氣液氨濃度檢測選擇MOT500-NH3氨氣檢測儀,該儀器采用安全的防爆技術,可以用在危險場所,儀器具有4~20 mA信號輸出。氣溫傳感器采用武漢新綠原科技發展有限公司生產的LVQWC-21大氣溫度傳感器,廣泛應用于化工、農業、氣象等需要測量大氣溫度的領域,可以輸出4~20 mA的標準電流信號,測量范圍-40~60℃。A/D模數轉換芯片選擇ADS8344E,該芯片為TI公司生產的16位8輸入模擬通道的模數轉換芯片,其轉換速率高達100 kHz[4]。ADS8344E支持串行接口方式[5],本系統采用串行SPI接口與S3C2440A連接。
語音模塊采用ISD1420語音芯片,其內有128 K的E2PROM用于存放語音信息,并可以分為160段,每段存儲0.125 s的語音信息,總共存儲20 s[6]。由于本設計中的報警極限值分別為液氨儲罐壓力預警和上限報警、液氨儲罐液位預警和上限報警、氣溫預警和上限報警、空氣氨氣濃度的預警和上限報警,共8段語音報警,錄音及放音功能均從設定的起始地址開始,地址由A0~A7引腳設定,8段語音的ISD1420地址空間首地址分別為00000000、00010100、00101000、00111100、01010000、01100100、01111000、10001100。
語音芯片的電平觸發引腳PLAYL與S3C2440A的GPA8引腳相連,地址控制端引腳A0~A7與GPA0~GPA7相連,放音時由ARM命令給出語音段首址和使PLAYL引腳為低電平開始放音。
GPRS網絡實現現場嵌入式監測終端和遠程數據監視中心的數據通信。本設計選擇G20模塊,它是Motor公司生產的,內嵌TCP/IP協議棧,所以設計者自己不需要實現TCP的打包過程,簡化了軟件系統開發過程和節省了軟件系統開發的時間。G20使用非常簡單,只需要將它與S3C2440A的UART1串口相連。對G20的操作是通過AT指令來實現的,G20與ARM處理器成功連接后,系統就可以通過ARM處理器給G20發送相關的AT指令。
當然,光有G20模塊是不能完成無線通信的,還必須連接用戶身份識別卡SIM卡,而且所使用的SIM卡需開通中國移動的GPRS業務。數據監視中心以無線方式接入GPRS網絡,并得到GPRS內網的靜態IP地址,將靜態IP地址與SIM卡號進行綁定。
安全聯鎖執行機構主要是電磁閥,是通過ARM微處理器控制相關繼電器來控制電磁閥的開與關。一是當液氨儲罐壓力過高時,通過控制電磁閥給液氨儲罐泄壓至備用儲罐;二是當氣溫過高時,通過控制電磁閥打開液氨儲罐頂部的噴淋水出口,從而降低液氨儲罐的溫度;三是當液氨泄漏時,通過控制電磁閥打開噴淋水吸收空氣中的氨氣;四是當向儲罐充液氨液位過高時,通過控制電磁閥快速切斷充氨口。
電磁閥由S3C2440A的GPIO引腳控制,當GPIO為高電位時,驅動三極管放大電路,從而驅動繼電器控制電磁閥。當監控要素超限達到上限報警值,ARM處理器使控制相應電磁閥的GPIO引腳產生高電平,從而執行安全聯鎖執行機構。液氨進口切斷閥、液氨儲罐泄壓閥、儲罐噴淋水出口閥、空氣噴淋水出口閥分別由S3C2440A的GPA11、GPA12、GPA13、GPA14來控制相應的繼電器。
對罐區的圖像監測采用USB高速攝像頭進行圖像采集,而視頻格式數據量太大,不方便傳輸和保存,所以采用定時對化工罐區進行圖片采集。因不需要進行圖像優化處理,只需要圖片格式文件,本系統選擇ov518芯片攝像頭。
Bootloader指系統啟動后,在操作系統內核之前運行的一段小程序,它類似于PC中的BIOS程序。通過這段程序,可以完成硬件設備的初始化,并建立內存空間的映射圖的功能,從而將系統的軟硬件帶到一個合適的狀態,為最終調用系統內核做準備。
標準Linux內核2.6版本有1000多萬行代碼,相對于資源有限的嵌入式系統來說過于龐大,因此移植之前需要根據目標平臺的實際情況對Linux內核進行裁剪和配置。裁剪配置完成后,再進行編譯內核生成內核映像文件zImage。主要使用make menuconfig來裁剪配置內核。主要配置CPU平臺、萬能驅動USB攝像頭、SD/MCC卡驅動、RTC實時時鐘驅動等。
現場嵌入式終端程序主要完成以下幾個功能:
1)完成數據采集工作:對外部的壓力傳感器、液位傳感器、溫度傳感器以及氨氣濃度傳感器的信號進行采集,并對數據進行相關處理。
2)完成報警報警工作:分析采集的數據,判斷是否達到報警值,當達到危險值時,進行語音和短信報警。
3)完成圖像采集工作:控制USB高速攝像頭完成罐區的圖片采集。
4)完成數據傳輸工作:ARM處理器發送AT命令控制G20 GPRS模塊將采集到的數據和圖片通過GPRS網絡傳送給遠程數據監視中心。
5)完成安全聯鎖控制工作:當液氨罐區狀態參數達到危險值時,控制相應的外部繼電器動作。
現場嵌入式監測終端應用程序流程如圖2所示。
要想很好地顯示數據,就要利用組態軟件來進行圖形界面設計。本系統的監視界面是采用Qt來設計的。Qt有著比較強的跨平臺特性,它的出現給嵌入式程序設計人員帶來了很大的便利,深受程序員的親睞。

圖2 場嵌入式監測終端應用程序流程Fig.2 rogram flow chart of embedded monitoring terminal
數據監視中心使用GPRS-DTU來接入中國移動的GPRS網絡,通過Socket網絡編程來傳輸數據。Qt中提供的Socket完全使用類的封裝機制,用戶不需要接觸底層的各種結構體操作[7],并且它采用Qt本身的信號與槽機制,這使得我們設計的程序非常直觀。Qt的Socket支持TCP或UDP協議,使用TCP協議去建立網絡連接及傳輸數據。
數據庫是組態軟件的核心。本系統設計選擇比較常用的MySQL數據庫對數據進行管理。MySQL運行時需要的內存較少,其代碼是開源的,所以成本低,并且MySQL可移植到不同硬件平臺。Linux GUI提供的MySQL支持對數據庫進行編程,通過Qt編程來實現,比較簡單。
通過Qt Designer就很容易將所需的控件組合在一起形成一個整齊的數據監視界面。各個控件組合起來之后,通過信號與槽機制來設置各個控件之間的響應。
本系統在實驗室進行了初步實驗。氨氣濃度直接采集實驗室室內空氣中氨氣濃度,但是我們選擇的氨氣濃度檢測儀的分辨率不是很高,不足以檢測到實驗室的氨氣,所以氨氣濃度顯示為0.0。實驗結果如圖3所示。

圖3 監視界面Fig.3 Monitoring interface
我們還可以點擊“歷史數據”、“日志”、“圖片查詢”分頁按鈕,分別進入到其他子頁面窗口進行其他操作。
越來越多的研究人員融合GPRS無線網絡技術和嵌入式技術來實現嵌入式遠程監控系統,充分體現了其廣闊的應用領域和前景。嵌入式系統技術、GPRS無線通訊技術、現代檢測與傳感技術以及語音芯片技術的發展與成熟,給罐區監控和報警系統進行改造和升級提供了優越的條件。本文就是利用基于ARM和GPRS的嵌入式遠程監控系統實現對液氨罐區的監控,并通過Qt來設計監控界面。通過實驗驗證,該系統運行穩定可靠。
[1]田羿.基于GPRS網絡的數據無線傳輸接口實現[J].計算機與網絡,2011(22):74-75.
[2]吳葉蘭,廉小親.基于GPRS的供水管網遠程監控系統設計[J].計算機測量與控制,2012,20(10):106-109.
[3]楊輝,劉海龍,高子潔.基于ARM9及WinCE6.0的塔機安全監控系統[J].計算機測量與控制,2012,20(1):78-80.
[4]趙振,鄭金吾,賈夢之.嵌入式Linux下AD驅動程序的實現與應用[J].化工自動化及儀表,2013,40(10):93-96.
[5]李琦,賀明,董利民,等.基于ARM嵌入式系統的SPI驅動程序設計[J].微型機與應用,2011,30(5):5-8.
[6]熊建云.基于ISD1420的智能儀器語音系統的設計[J].自動化與儀器儀表,2013(4):65-67.
[7]周名陽,韓秀玲.基于Qt的圖像數據網絡傳輸應用研究[J].計算機工程與設計,2011,32(6):41-45.