馬志艷,石 敏
(1.湖北工業(yè)大學(xué) 農(nóng)業(yè)機械工程研究設(shè)計院,湖北 武漢 430068;2.湖北省農(nóng)業(yè)機械工程研究設(shè)計院,湖北 武漢 430068)
“智能”時代的到來引發(fā)大量數(shù)據(jù)采集需求,無論是機械設(shè)備、生物環(huán)境等領(lǐng)域還是航天航空、軍事、金融等行業(yè)都需要大量的數(shù)據(jù)采集。目前市面上的采集設(shè)備在通用數(shù)據(jù)采集領(lǐng)域已經(jīng)達到較高水平,但面對多種類型并且數(shù)量較多的傳感器同時采集搭建系統(tǒng)時,時間和經(jīng)濟成本都較高。基于此,本文提出一種多通路數(shù)據(jù)采集系統(tǒng)快速實現(xiàn)方法,以滿足在多傳感器場合數(shù)據(jù)采集需求。LabVIEW 虛擬儀器軟件是圖形化的編程語言,被工業(yè)界、學(xué)術(shù)界和研究實驗室所采用,在電力能源、農(nóng)業(yè)機械、高溫等領(lǐng)域都有著非常廣泛的應(yīng)用。萬茂科等設(shè)計散熱器的監(jiān)測平臺,采用三個同類型的傳感器僅對電壓一種模擬量進行采集,依據(jù)采集電壓進行擬合得到最終溫度值,監(jiān)測平臺搭建采集量少、費力。金開軍等基于無線設(shè)備的數(shù)據(jù)采集,在低溫環(huán)境中無線設(shè)備供電問題上對無線設(shè)備提出要求,但無線設(shè)備成本較高。韓賓等主要基于單一的從設(shè)備上掛載多節(jié)點實現(xiàn)多通道數(shù)據(jù)采集,系統(tǒng)精度高但多傳感器時應(yīng)用拓展性較差。針對不同種類的多傳感器數(shù)據(jù)采集快速、低成本搭建系統(tǒng),本文提出一種基于RS 485 總線模塊化形式設(shè)計的多通路數(shù)據(jù)采集方案。
RS 485 接口采用一對平衡驅(qū)動差分信號線,屬于半雙工通信方式。RS 485 總線有強大的抗共膜干擾能力,總線中最多可接128 個設(shè)備,實際傳輸距離超過1 km。因為遠(yuǎn)距離、多節(jié)點以及傳輸線低成本的特性,使RS 485 總線在自動化領(lǐng)域應(yīng)用十分廣泛。利用RS 485 總線進行組網(wǎng),各個傳感器數(shù)據(jù)經(jīng)不同采集終端后通過ModBus RTU 通信協(xié)議封裝流入總線,最后傳輸至監(jiān)測主機。
本文以某冷庫數(shù)據(jù)采集系統(tǒng)為例,為實現(xiàn)對溫度場和實時運行工況數(shù)據(jù)的采集,該系統(tǒng)需要采集27 路溫度、4 路流量、6 路壓力。由于溫度采集量相對較多,采用兩個工業(yè)級溫度采集模塊DAM PT16 即可實現(xiàn)對27 路溫度進行采集。在DAM PT16 內(nèi)部集成24 位A/D,測溫精度達±0.1,內(nèi)嵌數(shù)字濾波采集溫度穩(wěn)定不跳變,每個模塊支持16 路溫度同時采集。溫度傳感器采用三線制PT100 熱敏電阻溫度傳感器,其測量范圍為-200~650 ℃;冷庫內(nèi)部空間較大,溫度傳感器遍布所需線長偏長,溫度傳感器的線損修正為380 mΩ/℃,可根據(jù)實際情況進行修正以保證采集精度。工業(yè)級模擬量采集模塊DAM 10AIAO 完成對系統(tǒng)中流量、壓力等信號采集。DAM 10AIAO 內(nèi)部集成12 位A/D,分辨率為1 4 096,信號類型支持4~20 mA/0~10 V,支持10 路模擬量的同時采集。渦街流量計口徑為15 mm,測量范圍為0.3~5 m/h,通過測量卡曼渦街分離頻率便可計算出瞬時流量。壓力傳感器測量范圍為0~2 MPa,測量介質(zhì)溫度范圍為-40~80 ℃,傳感器引線向上豎直安裝,焊接式測量,測量原理是通過DC 10~30 V 的工作電壓輸入,提供一個介質(zhì)壓力成比例的4~20 mA 信號輸出,無需測量終端信號放大。
系統(tǒng)中監(jiān)測主機通過RS 485 Hub 向各個采集從機設(shè)備進行輪流通信,完成所有采集數(shù)據(jù),同時將采集的部分?jǐn)?shù)據(jù)發(fā)送至遠(yuǎn)程服務(wù)器。RS 485 Hub 的接口兼容RS 232C、RS 485,工作方式為異步半雙工,支持傳輸速率最高達115.2 Kb/s,各個端口都具有短路、開路保護且含有故障指示燈。在RS 485 工作模式下,電路能夠自動感知數(shù)據(jù)流方向,并且自動切換使能控制電路解決收發(fā)延時問題。為了防止RS 485 總線出現(xiàn)通信受到干擾的情況,通常在RS 485 總線上增加上下拉電阻。本文系統(tǒng)中使用隔離RS 485 收發(fā)模塊,由于模塊內(nèi)部具有上下拉電阻,因此在模塊外部一般不需要增加上下拉電阻。RS 485 Hub 設(shè)備通過設(shè)置不同的設(shè)備地址對總線上掛有的多個RS 485 設(shè)備進行區(qū)分,因此各采集模塊上的地址可通過撥碼開關(guān)或軟件來設(shè)置好對應(yīng)設(shè)備的地址。在該系統(tǒng)中,可將設(shè)備1 地址設(shè)為0x01,設(shè)備2地址設(shè)置為撥碼開關(guān)地址0x02,以此類推。傳感器分別接在各個采集終端上,采集終端通過RS 485 Hub 與監(jiān)測主機連接,監(jiān)測主機再與4G DTU 模塊連接,將采集到的數(shù)據(jù)發(fā)送至服務(wù)器。監(jiān)測系統(tǒng)的結(jié)構(gòu)框和硬件采集平臺分別如圖1、圖2 所示。
圖1 監(jiān)測系統(tǒng)的結(jié)構(gòu)框圖
圖2 采集系統(tǒng)硬件平臺
監(jiān)測主機采用LabVIEW 進行程序設(shè)計,主要包括數(shù)據(jù)采集解析模塊、數(shù)據(jù)庫文件創(chuàng)建及數(shù)據(jù)存儲模塊、數(shù)據(jù)發(fā)送、前面板中的人機交互模塊。程序設(shè)計涉及數(shù)據(jù)采集和數(shù)據(jù)保存的多線程編程,因此整體框架采用“生產(chǎn)者—消費者”模式,該模式下能很好地處理數(shù)據(jù)采集與數(shù)據(jù)處理之間的速率不一致而造成的數(shù)據(jù)丟失現(xiàn)象。軟件設(shè)計流程如圖3 所示。監(jiān)測主機與從機之間通信指令遵循ModBus RTU 通信協(xié)議主從問答方式,本系統(tǒng)中主要使用功能碼為0x03 讀配置數(shù)據(jù),0x04 讀取數(shù)據(jù),0x06 修改配置數(shù)據(jù)。上位機發(fā)送指令格式示例如圖4 所示,接收到的返回數(shù)據(jù)的格式如圖5 所示。在采集過程中如發(fā)現(xiàn)異常數(shù)據(jù),前面板中報警燈就開始閃爍,提醒操作者及時停機檢查異常。
圖3 軟件設(shè)計流程圖
圖4 ModBus RTU 協(xié)議上位機發(fā)送讀指令
圖5 ModBus 協(xié)議上位機接收數(shù)據(jù)
圖4 中:設(shè)備地址=撥碼開關(guān)地址+設(shè)備基地址,設(shè)備基地址默認(rèn)為0,0x01 此處表示設(shè)備1 地址;0x04 為讀數(shù)據(jù)指令;0x0000 為設(shè)備模擬量寄存器首地址;0x0010為查詢模擬量的數(shù)量,此處表示查詢16 路溫度;0x25C5 校驗。
圖5 中:設(shè)備地址=撥碼開關(guān)地址+設(shè)備基地址,設(shè)備基地址默認(rèn)為0,0x01 此處表示設(shè)備1 地址;0x04 表示返回查詢指令如查詢錯誤則返回0x82;0x20 表示返回數(shù)據(jù)字節(jié)數(shù),表示返回32 字節(jié);0x0953,…,0x8066 表示返回溫度數(shù)據(jù),如0x0953 共同表示第一路溫度值,剩余溫度字節(jié)此處省略;0x803C 校驗。
數(shù)據(jù)采集模塊首先進行串口初始化,而后監(jiān)測主機發(fā)送指令寫入串口等待0.2 s,下位機返回數(shù)據(jù),通過串口讀取緩沖字節(jié)內(nèi)數(shù)據(jù),經(jīng)過數(shù)據(jù)解析子VI 后存入數(shù)組,將輸出數(shù)組組合為二維數(shù)組數(shù)據(jù)打包入隊。設(shè)置采集時間間隔為1 s,監(jiān)測主機循環(huán)發(fā)送指令,為滿足一主多從通信要求,盡可能減少后面板使用空間。循環(huán)內(nèi)部采用的是平鋪式順序結(jié)構(gòu),分別向設(shè)備1、設(shè)備2、設(shè)備3發(fā)送請求讀溫度數(shù)據(jù),完成數(shù)據(jù)采集。其中數(shù)據(jù)解析子VI 依據(jù)從機返回數(shù)據(jù)格式截取模擬量數(shù)據(jù)字節(jié)進行解析,解析過程中將PT100 溫度傳感器的返回數(shù)據(jù)值除以100 得到實際溫度值,流量傳感器返回數(shù)據(jù)值除以1 000 得到實際流量值,壓力傳感器返回數(shù)據(jù)值為實際值。數(shù)據(jù)采集模塊程序如圖6 所示。采集過程中可以設(shè)置閾值與當(dāng)前采集值進行比對,以溫度為例,當(dāng)閾值上限大于所有采集值中的最大值,閾值下限低于所有采集值中最低值,采集正常進行,如不滿足閾值條件則進行報警。
圖6 數(shù)據(jù)采集模塊
數(shù)據(jù)庫文件創(chuàng)建及數(shù)據(jù)存儲模塊中使用LabVIEW訪問數(shù)據(jù)庫,將利用LabVIEW SQL Toolkit 與數(shù)據(jù)庫連接。首先檢查目標(biāo)文件夾是否創(chuàng)建指定數(shù)據(jù)庫,沒有則打開自動化引用調(diào)用節(jié)點,在目標(biāo)文件夾目錄下創(chuàng)建數(shù)據(jù)庫文件coldstorage.mdb;其次使用LabVIEW SQL Toolkit 進行數(shù)據(jù)庫訪問,鏈接目標(biāo)數(shù)據(jù)庫并打開數(shù)據(jù)庫創(chuàng)建的數(shù)據(jù)庫內(nèi)的表和表內(nèi)字段,此處以本地采集時間為數(shù)據(jù)庫的表名。數(shù)據(jù)存儲模塊作為消費者處理數(shù)據(jù)時,將隊列中的元素依次列出,插入數(shù)據(jù)庫進行本地保存,最后關(guān)閉數(shù)據(jù)庫。數(shù)據(jù)庫內(nèi)元素插入如圖7 所示。
圖7 數(shù)據(jù)庫內(nèi)元素插入
將本地采集數(shù)據(jù)發(fā)送至遠(yuǎn)程服務(wù)器。首先進行串口配置,波特率為115 200 b/s,8 位數(shù)據(jù)位,1 位停止位;其次通過串口配置4 GB DTU 模塊,選擇工作模式為網(wǎng)絡(luò)透傳模式,設(shè)置服務(wù)器地址和端口號,啟用心跳包心跳時間30 s;保存DTU 配置后進入通信狀態(tài),將部分溫度值寫入DTU 中;最后程序按設(shè)定的時間間隔發(fā)送數(shù)據(jù),程序如圖8 所示。
圖8 遠(yuǎn)程數(shù)據(jù)發(fā)送
系統(tǒng)設(shè)計的前面板包括調(diào)試面板、實時顯示和曲線監(jiān)測、歷史數(shù)據(jù)查詢。在冷庫運行監(jiān)測界面點擊“開始”,可看到冷庫運行時各個監(jiān)測點的實時狀態(tài),如出現(xiàn)監(jiān)測點不在設(shè)定閾值范圍內(nèi)即視為異常,布爾燈由灰色變?yōu)榧t色則提醒用戶注意,必要時關(guān)機斷電。實時顯示和曲線監(jiān)測界面將各個部件的測量值用儀表的形式顯示。添加部分監(jiān)測點的歷史曲線可以看到在運行過程中的一個變化周期。歷史數(shù)據(jù)回顧方便回看采集數(shù)據(jù)而不退出采集界面,用戶根據(jù)提示輸入采集時間即可查詢到對應(yīng)時間段內(nèi)的采集數(shù)據(jù),適當(dāng)調(diào)整索引框用戶可以查看到這段時間內(nèi)所有數(shù)據(jù)。
驗證系統(tǒng)采集的可靠性與穩(wěn)定性,設(shè)置采集系統(tǒng)模擬量采集周期為1 s,系統(tǒng)連續(xù)運行過程中保持穩(wěn)定,未出現(xiàn)掉數(shù)據(jù)或死機現(xiàn)象。給出系統(tǒng)各個采集點實時數(shù)據(jù),采集值均在設(shè)置報警值之內(nèi)時布爾燈為灰色,用戶可根據(jù)需求設(shè)置溫度預(yù)警值的上下限。數(shù)據(jù)實時顯示與報警界面如圖9 所示。列舉部分采集點的歷史曲線,曲線顯示同一時刻內(nèi)部不同點溫度相差不大,穩(wěn)定運行狀態(tài)下內(nèi)部溫度值在-15~-21 ℃之間,如圖10 所示。用戶可根據(jù)溫度測試點的歷史曲線合理調(diào)整冷庫開機時間,以減少能耗。歷史數(shù)據(jù)查詢是指用戶輸入查詢時間,系統(tǒng)反饋出這時間段內(nèi)的所有量的采集數(shù)據(jù),如圖11所示。
圖9 數(shù)據(jù)實時顯示與報警
圖10 溫度歷史曲線
圖11 歷史數(shù)據(jù)查詢
本文基于RS 485 的多通路采集系統(tǒng)可快速實現(xiàn)對冷庫內(nèi)部溫度、出口壓力、膨脹閥流量等數(shù)據(jù)采集,同時能夠完成故障預(yù)警、數(shù)據(jù)的本地存儲以及數(shù)據(jù)的遠(yuǎn)程發(fā)送。在前面板中多個板塊設(shè)計滿足系統(tǒng)調(diào)試和人機交互界面的不同需求,根據(jù)不同報警燈的顏色判斷可能出現(xiàn)故障的設(shè)備,可有助于工作人員及時恢復(fù)設(shè)備正常運作。該系統(tǒng)可應(yīng)用在采集信息量大、采集速率無過高要求的同類型場合,具有拓展性強、搭建快速、成本低、便于分析、準(zhǔn)確率高、模塊化強、維護方便等優(yōu)點。
注:本文通訊作者為石敏。