陸 旭 明
(常州紡織服裝職業技術學院,江蘇 常州 213164)
在工業和日常生活方面,可燃氣作為燃料而廣泛地被使用。然而,可燃氣體一旦泄露,易引起中毒和爆炸事故。近些年來,此類事故頻頻發生,如礦井爆炸、煤氣中毒,嚴重危害了人們的生命財產安全。有鑒于此,氣體檢測系統顯得十分重要[1-2],可有效解除此類隱患,從而保障了人們的生命財產安全和生產安全。
MCGS工控組態是數據采集與過程控制的專用軟件,是監視和控制軟件,靈活多樣的組態方式提供良好的用戶開發界面,利用各種軟件模塊非常容易實現和完成監控的各種功能,與AVR單片機結合,可進行靈活多變的可燃氣體檢測系統集成。
系統中計算機PC作為主機,采用AVR單片機作為從機對可燃氣體濃度進行采集,主機采用MCGS組態軟件,主從機通過RS-485接口按照ModBus協議進行通信,由主機定時對4路下位機進行數據采集,監視可燃氣體濃度是否超標,一旦氣體濃度超標,主機立即向從機發出命令,啟動風扇等自排設備[3]。主機對從機進行參數設置,可燃氣體檢測報警控制系統框架如圖1所示[4]。

圖1 可燃氣體檢測報警控制系統框架
采用的AVR單片機是ATmega系列中一種高性能、低功耗的8位AVR RISC微處理器[5]。通過在一個時鐘周期執行一條指令,AVR單片機可以獲得接近1 MI/s/MHz的性能。該單片機集多種器件和多種功能于一身,功能強大,價格適宜,是一款性價比很高的MCU。AVR單片機端口A,除了作為I/O口,還可以進行A/D轉換,對需要進行A/D轉換的可燃氣體的檢測非常方便。
AVR可燃氣體檢測控制硬件原理圖如圖2所示。
4路可燃氣體經傳感器輸出4~20 mA電流信號,經放大電路后轉換成電壓信號AD0、AD1、AD2、AD3(可以擴展到8個)送至AVR單片機端口A進行A/D轉換,輸出的數字信號經AVR單片機端口C送至液晶顯示屏顯示濃度參數。在圖2中8-3優先編碼器74HC148輸入端連著4個按鈕,它們分別是UP、DOWN、SETUP、REQ,針對4個可燃氣體進行參數設置,UP為數字“+”,DOWN為數字“-”,它們主要的作用是選擇第幾個可燃探測點,SETUP為“高報和低報參數設置”,REQ為“查詢”,優先編碼器74HC148輸出端將上述四個按鍵的兩位編碼值KEYDB0、KEYDB1送至AVR單片機的B端口,AVR單片機根據編碼值進行相應的功能操作。

圖2 AVR可燃氣體檢測控制硬件原理圖
同時AVR單片機對檢測到的可燃氣體濃度進行判斷,對各個探頭信號濃度正常與否(COM0、COM1、COM2、COM3濃度正常指示燈)、低報警狀態(RELATCOL0)、高報警狀態(RELATCOL1)、操作面板背景燈(BACKLIGHT)、警報(SPERKER)等8個信息狀態,通過AVR單片機B端口的PB5按照串行信號輸出,送至MC74HC595數據串行輸入端DS端,數據在SH的上升沿輸入,在ST的上升沿進入存儲寄存器中去,當使能OE時(為低電平),存儲寄存器的數據輸出到MC74HC595總線Q端,在MC74HC595的Q端并口上輸出上述8個信號。
當低報警狀態RELATCOL0為“1”時,繼電器K1吸合,高報警狀態RELATCOL1為“1”時,繼電器K2吸合同時控制外接電路的自排功能如風扇等信號控制,警報SPERKER為“1”時,啟動報警音響。報警控制連接圖如圖3所示。

AVR單片機串口通過SN75176收發器芯片將TTL電平轉換為RS-485接口電平[6-8]和PC機主機通信。
Modbus是MODICON公司最先倡導的一種軟的通訊規約,經過大多數公司的實際應用,逐漸被認可,成為一種標準的通訊規約,只要按照這種規約進行數據通訊或傳輸,不同的系統就可以通訊。目前,在RS232/RS485通訊過程中,更是廣泛采用這種規約。在本文設計中采用了Modbus RTU規約。
考慮到通信的通用性,本文以MODBUS RTU協議為基礎[9,10],重新定義報文。MODBUS協議的報文基本結構如下表1所示[11-13]。

表1 報文結構表
根據功能碼以及實際通信的需要,報文的長度與信息也將隨著改變。
地址碼為構成通信網絡的基本要素,通過地址碼各個設備才能從網絡上獲取自己需要的數據,主機才能知道哪一個設備傳送了數據。在報文中占據1個字節,可以編輯的地址從1~255,一般0號分配給主機。
功能碼是MODBUS協議為了處理基本數據獲取的一種識別碼,本文采用MODBUS RTU協議相關功能碼,MODBUS協議功能碼基本定義如表2所示。
在報文中數據的地址以及通信的數據可以被重新定義。這種定義并不影響報文的完整性,也不影響通信的效率。因此,對可燃氣體檢測的數據重新編制,并加入報文,使其數據格式固定化,從而實現可燃氣體檢測通信網絡。

表2 MODBUS協議功能碼
可燃氣體檢測從機需要傳送給主機的數據為四個通道的可燃氣體濃度,而主機給可燃氣體檢測從機設置參數有四個通道的高報警值、低報警值。對于不同的要求需要進行對應的報文設計與參數地址安排。
主機要取得四個通道的可燃氣體濃度,報文如下:
地址碼+03h(固定功能碼)+00h+04h(表示四個通道)+CRC校驗。
從機正?;貞獔笪娜缦拢?/p>
地址碼+03h(固定功能碼)+00h+04h(表示四個通道)+四個通道濃度數據+CRC校驗。
主機要對從機的參數進行設置,必須首先定義好參數的具體地址??梢詫档牡刂愤M行順序定義,按照通道1的低報警值、高報警值;通道2的低報警值、高報警值;通道3的低報警值、高報警值;通道4的低報警值、高報警值??梢杂幸韵聢笪?。
主機發出報文:
地址碼+06h(固定功能碼)+0000h(表示通道一的低報警值)+低報警數據(兩個字節)+CRC校驗
上述表達中的第3段即表示通道一的低報警值,那么依次,0001h則表示通道一的高報警值,等等。
通過這樣的設計,使得整個通信網絡構成了主從機的網絡體系。數據可以方便的從主機發送到從機,或者從機返回主機。同時通過類似的設計以及擴展,還可以讓從機交換數據。
AVR單片機信號處理流程圖如圖4所示[14]。
3.2.1可燃氣體信號線性轉換
可燃氣體檢測輸出和輸入氣體濃度之間存在非線性問題[15],可燃氣體非線性的轉換曲線如圖5所示。



3.2.2AVR單片機數據采集
AVR單片機信號處理流程中主要將可燃氣體濃度進行A/D轉換及數據線性轉換,其中A/D轉換操作函數如下:
void ADConversion(void)//AD全部值
{
unsigned char ucRoad,i;
AD_ON_FirstOne(); //啟動第一次AD轉換
ucAD_Complete_Flag[0] = 0;
for( ucRoad = 0; ucRoad { WDR(); while( !ucAD_Complete_Flag[ucRoad] ) //等待相應通路AD轉換完成 { NOP(); } ucAD_Complete_Flag[ucRoad] = 0; SampleGasValue[ucRoad] = AD_Filter(siAD_Temp,AD_COLLECT_AMOUNT); //濾波處理相應通路的AD轉換值 if( ucRoad < (sizeof(ucADCollectStruct)-1) ) //因為AD_ON_FirstOne()中已啟動一次AD轉換,故ucRoad等于Sizeof(ucADCollectStruct)-1時已完成所有通路AD轉換 { ADCSR = 0b10011110; ADCSR |= 0X40; //開啟AD } } ADCSR =0;//關閉AD轉換器 } 3.2.3AVR單片機和上位機通信 AVR單片機和上位機進行串口通信程序流程圖如圖6所示。 組態控制技術是一種計算機控制技術(Monitor and Control Generated System,MCGS)一套基于Windows平臺,用于快速構造和生成上位機監控系統的組態軟件系統,基于MCGS開發了可燃氣體檢測與報警監控和人機交互界面,能夠完成可燃氣體現場數據采集、實時和歷史數據處理、報警和安全機制、流程控制、動畫顯示、趨勢曲線和報表輸出等功能[16]。 可燃氣體工程組態: 3.3.1添加設備 打開MCGS選擇設備窗口,從設備工具箱進入設備管理:將“通用串口父設備”和用戶定制設備下的“ModbusRTU”增加到選定設備之中,通信對象要與實際數量對應上,并修改相應的地址。 3.3.2參數設置 各讀寫數據通過通道采集或輸出,為此進行通道添加,從“ModbusRTU設備”設置內部屬性,進入“ModbusRTU設備”通道屬性設置,使用“增加通道”加入需要測試的寄存器對應的通道:添加后,對應的通道顯示在通道列表之中,通道參數設置如圖7所示。四路讀數據將由主機讀取四路從機的可燃氣體濃度,八路寫數據由主機對從機進行報警參數的設置。 3.3.3工程調試結果 工程組態界面及調試結果如圖8所示。 本設計采用了基于AVR單片機和組態軟件的智能可燃氣體檢測與報警系統后,基于MCGS 開發的人機交互界面友好,操作方便.在進行多個通道可燃氣體檢測和報警方面具有很強的可擴展性,同時,采用組態軟件可以對可燃氣體進行歷史數據的保存和查詢,便于對歷史數據進行分析和研究,對可燃氣體的使用起到安全的保障作用。 [1] 孟 綾.天然氣管道專業監測技術[J]. 油氣田地面工程,2011,30(11):89-90. MENG Lin. Natural gas pipeline professional monitoring technology[J].Oil and Gas Field Surface Engineering,2011,30(11):89-90. [2] 張紅俊.礦用便攜式甲烷檢測報警儀的原理及設計[J].山西煤炭管理干部學院學報,2005(1):78-79. ZHANG Hong-jun. Mine explosion-proof portable methane detection principle and the design of the alarming device [J]. Journal of Shanxi Coal Management Cadre Iinstitute,2005(1):78-79. [3] 王來忠,馮展杭,趙 忠,等.可燃氣體檢測報警聯動排風控制系統[J].工業安全與環保,2007,33(8):39-40. WANG Lai-zhong,FENG Zhan-hang,ZHAO Zhong,etal.Activating Ventilation control system on inflammable gas detecting and alarming[J]. Industrial Safety and Environmental Protect ion, 2007,33(8):39-40. [4] 陳昌濤,任麗靜,程 明,等.基于化工生產過程的有害氣體智能監測系統[J].儀表技術與傳感器,2011(10):56-63. CHEN Chang-tao,REN Li-jing,CHENG Ming,etal. Intelligent monitoring system of harmful gasesBased on chemical engineering process[J]. Instrument Technique and Sensor, 2011(10):56-63. [5] 楊 永.ATmega16單片機項目驅動教程[M]. 北京:電子工業出版社,2011. [6] 蔣 鵬,蔣路茸.一種新型氯氣濃度在線檢測裝置[J].化工自動化及儀表,2008,35(5): 42-50. JIANG Peng, JIANG Lu-rong. A new type of chlorine gas concentration online detect device[J]. Control and Instruments in Chemical Industry,2008,35(5): 42-50. [7] 蘇小會, 黎 超, 郎寶華, 等.便攜式光纖光譜煙氣分析儀的研制[J].儀表技術與傳感器,2011(6):23-28. SU Xiao-hui, LI Chao, LANG Bao-hua,etal. Development of portable smog analyzer instrument[J]. Instrument Technique and Sensor,2011(6):23-28. [8] 武小紅,成 立,秦 云.基于CAN 總線的分布式安全報警系統[J].中國安全科學學報,2005,15(1):70-81. WU Xiao-hong, CHENG Li, QIN Yun. Distributive security and alarm system based on CAN bus[J]. China Safety Science Journal,2005,15(1):70-81. [9] 郭 慶,李成貴,田宏杰.智能測試儀器和系統中Modbus協議的實現[J]. 計量與測試技術,2009,36(1):47-49. GUO Qin,LI Cheng-gui,TIAN Hong-jie. Application of modbus protocol in intelligent instruments and system[J]. Measurement and testing technology,2009,36(1):47-49. [10] 崔 鵬. 基于MODBUS協議智能控制系統設計[J]. 山西電子科技, 2010(3): 24-25. CUI Peng. Design of intelligent control system based on modbus protocol[J]. Shanxi Electronic Science and Technology, 2010(3): 24-25. [11] 侯莉莉,楊翠蘭,賈存德.基于Modbus協議的儀表上位機與PLC的通信[J].中國儀器儀表,2009(10):47-49. HOU Li-li,YANG Cui-lan,JIA Cun-de.Communication between the upper computer software and PLC based on modbus protocol[J]. China Instrumentation,2009(10):47-49. [12] 付 青,丁金華,王 輝,等.Modbus協議在智能信號變送器中的應用[J]. 儀表技術與傳感器,2011(6):26-28. FU Qing, DING Jin hua, WANG Hui,etal. Application of modbus TCP protocol in intelligent signal transducer[J]. Instrument Technique and Sensor,2011(6):26-28. [13] 徐成杰,朱全銀,王紅華.基于MODBUS ASCII協議的變頻器遠程監控系統設計與實現[J].工業控制計算,2009, 22(8):44-46. XU Cheng-jie,ZHU Quan-yin,WANG Hong-hua.Frequency converter monitoring system based on modbus ASCII model[J]. Industrial Control Calculation,2009, 22(8):44-46. [14] 趙 娜,宋文愛.基于MSP430單片機的溫度和瓦斯報警系統的設計[J].儀表技術與傳感器,2008(8): 49-60. ZHAO Na, SONG Wen-ai. Design of alarm system of temperature and gas based on MSP430[J]. Instrument Technique and Sensor,2008(8): 49-60. [15] 吳艷麗,郭慧勇,張瑞敏,等.如何提高可燃氣體檢測報警器的準確性[J].工業計量增刊,2004:90-92. WU Yang-li,GUO Hui-yong,ZHANG Rui-min,etal. How to improve the accuracy of the combustible gas detection alarm system[J]. Industrial Metrology Supplement,2004:90-92. [16] 張文明.組態軟件控制技術[M]. 北京:清華大學出版社,2007.
3.3 基于MCGS上位機設計


4 結 語