劉晨
摘 要:隨著科技的不斷發(fā)展,工業(yè)控制逐步向智能化,網(wǎng)絡(luò)化和集成化發(fā)展,數(shù)據(jù)采集與監(jiān)控在遠(yuǎn)距離數(shù)據(jù)傳輸以及工業(yè)數(shù)據(jù)采集中的要求越來越高。文章就以遠(yuǎn)程數(shù)據(jù)采集展開研究并設(shè)計(jì)多路以太網(wǎng)數(shù)據(jù)采集卡,充分利用遠(yuǎn)程資源,實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)采集。本系統(tǒng)采用STM32F系列單片機(jī)作為控制系統(tǒng)的核心,數(shù)據(jù)對(duì)象為模擬電壓信號(hào),通過12位高精度模數(shù)轉(zhuǎn)換器將信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),并經(jīng)以太網(wǎng)傳輸至計(jì)算機(jī),在計(jì)算機(jī)上位機(jī)顯示并處理。從而實(shí)現(xiàn)了基于以太網(wǎng)的遠(yuǎn)程數(shù)據(jù)采集。數(shù)據(jù)從下位機(jī)網(wǎng)卡(ENC28J60)發(fā)出,經(jīng)以太網(wǎng)傳輸至PC機(jī)網(wǎng)卡,最終由VB編寫的以太網(wǎng)客戶端撥號(hào)鏈接下位機(jī)服務(wù)器實(shí)現(xiàn)數(shù)據(jù)的采集并顯示,測試結(jié)果理想。
關(guān)鍵詞:多路以太網(wǎng);數(shù)據(jù)采集系統(tǒng);設(shè)計(jì)
中圖分類號(hào):TP274.2 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1006-8937(2016)11-0067-02
1 背景概述
以太網(wǎng)是目前應(yīng)用最廣泛的局域網(wǎng)技術(shù),憑借開放性好、成本低廉、數(shù)據(jù)傳輸率高等諸多優(yōu)勢,在工業(yè)自動(dòng)化和過程控制領(lǐng)域得到了越來越多的應(yīng)用[1]。依靠以太網(wǎng)技術(shù)實(shí)現(xiàn)信息共享,給辦公自動(dòng)化帶來很大的變革,對(duì)系統(tǒng)設(shè)計(jì)產(chǎn)生了深遠(yuǎn)的影響。數(shù)據(jù)的采集與監(jiān)控在工業(yè)生產(chǎn)中也變得尤為重要,尤其是數(shù)據(jù)的準(zhǔn)確性和實(shí)時(shí)性,本論文就以遠(yuǎn)程數(shù)據(jù)采集展開研究。
數(shù)據(jù)采集系統(tǒng)可以對(duì)設(shè)備數(shù)據(jù)進(jìn)行采集、存儲(chǔ)、處理和顯示實(shí)現(xiàn)對(duì)相關(guān)物理量的監(jiān)控、分析和保存[2]。遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)是對(duì)數(shù)據(jù)采集后進(jìn)行遠(yuǎn)程傳送具有不受環(huán)境、氣候、時(shí)間等因素影響的優(yōu)勢。以太網(wǎng)(Ethernet)技術(shù)支持幾乎所有的網(wǎng)絡(luò)協(xié)議,所以在數(shù)據(jù)信息網(wǎng)絡(luò)中得到廣泛應(yīng)用,具有傳輸速度高、距離遠(yuǎn)、低能耗、便于安裝、兼容性好、開放性高和支持設(shè)備多等方面的優(yōu)勢[3]。
2 整體系統(tǒng)方案設(shè)計(jì)
本文采用下位機(jī)負(fù)責(zé)模擬數(shù)據(jù)的采集,主控制器負(fù)責(zé)采集七路數(shù)據(jù),并應(yīng)答主機(jī)發(fā)送的命令將數(shù)據(jù)發(fā)送至上位機(jī),上位機(jī)負(fù)責(zé)處理接受過來的數(shù)字量的處理及顯示,上位機(jī)和下位機(jī)采用以太網(wǎng)進(jìn)行通信。
上位機(jī)將所有數(shù)據(jù)保存到計(jì)算機(jī)中,這樣用戶可以隨時(shí)對(duì)數(shù)據(jù)進(jìn)行有效查詢和分析,有利于工業(yè)過程的長期正常運(yùn)行和檢查。下位機(jī)采用的是STM32單片機(jī),上位機(jī)采用Visual Basic 6.0編寫。
下位機(jī)根據(jù)上位機(jī)發(fā)送的命令選擇單通道速數(shù)據(jù)采集還是低速7通道數(shù)據(jù)同時(shí)采集,然后將數(shù)據(jù)經(jīng)以太網(wǎng)發(fā)送至上位機(jī),上位機(jī)將數(shù)據(jù)顯示并保存入庫。
3 數(shù)據(jù)采集-下位機(jī)
本設(shè)計(jì)采用單通道高速采樣、多次發(fā)送方式和多通道循環(huán)采樣、實(shí)時(shí)發(fā)送兩種模式,其模式的選擇由上位機(jī)發(fā)送命令給下位機(jī),當(dāng)收到上位機(jī)發(fā)送到“duotongdao”字符串時(shí),下位機(jī)轉(zhuǎn)換到多通道模式,當(dāng)收到上位機(jī)發(fā)送到“dantonfdao”字符串時(shí),下位機(jī)轉(zhuǎn)換到單通道模式。
3.1 模式一(單通道模式)
在程序中順序定義多個(gè)緩沖區(qū),ADC高速采樣并依次將5個(gè)緩沖區(qū)填滿,一旦緩沖區(qū)全部填滿,停止采樣。當(dāng)最后一個(gè)緩沖區(qū)的數(shù)據(jù)發(fā)送完成,ADC采樣標(biāo)志位置位,將開始新一輪的數(shù)據(jù)采樣。經(jīng)測試,單通道連續(xù)采樣頻率為23 kHz。
單通道模式,如圖3-1所示,A-B,B-C分別是一次連續(xù)的ADC采樣。從圖中可看出,在一次連續(xù)采樣中,數(shù)據(jù)的連續(xù)性很好,但跳躍性大,即采樣死區(qū)時(shí)間長。
3.2 模式二(多通道模式)
多通道模式是對(duì)七路數(shù)據(jù)進(jìn)行輪詢采樣,依次將采集到的數(shù)據(jù)放置到指定的緩沖區(qū)內(nèi)。一共采集1 400次,每個(gè)通道占用200字節(jié)。在一次數(shù)據(jù)包成功發(fā)送完成后,ADC采集標(biāo)志位置位,進(jìn)行下一次的ADC采集,直到采樣完成,停止采樣并發(fā)送數(shù)據(jù)包。由于數(shù)模轉(zhuǎn)換器(ADC)采用的是單次轉(zhuǎn)換,所以,單通道模式的采樣速率是多通道的七倍,即多通道模式采樣速率約等于3 kHz。
多通道模式,如圖2所示,A-B是一次數(shù)據(jù)包,數(shù)據(jù)包到達(dá)后緊跟著下一個(gè)數(shù)據(jù)包就到,如此連續(xù)。
采集到數(shù)據(jù)需要將數(shù)據(jù)發(fā)送至上位機(jī),為了標(biāo)志通道數(shù)據(jù),下位機(jī)將數(shù)據(jù)放入IP包時(shí),分別用“A”、“B”、“C”、“D”、“E”、“F”、“G”來表示多通道模式一至七通道每個(gè)數(shù)據(jù)的開始。
3 數(shù)據(jù)顯示處理—VB上位機(jī)
3.1 上位機(jī)系統(tǒng)設(shè)計(jì)
上位機(jī)的主要功能是接收下位機(jī)數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行處理。主要包括數(shù)據(jù)的接收、顯示、保存、繪圖。上位機(jī)數(shù)據(jù)的顯示主要是對(duì)接收到的12位ADC數(shù)據(jù)顯示,以及將ADC數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的電壓值,并顯示出來。數(shù)據(jù)的保存是將接收到的所有數(shù)據(jù)按照通道數(shù)和時(shí)間順序保存到計(jì)算機(jī)上,以便于以后的查詢。數(shù)據(jù)繪圖是將接收到的數(shù)據(jù)變化曲線繪制出來,便于觀察。
3.2 上位機(jī)界面介紹
①啟動(dòng)以太網(wǎng)數(shù)據(jù)采集卡后除了出現(xiàn)客戶端界面外,還彈出了電壓比例選項(xiàng)設(shè)置面板,可以打開和關(guān)閉所要觀察的通道數(shù)據(jù)顯示,再對(duì)每個(gè)通道選擇數(shù)據(jù),“0”表示關(guān)閉“1”,“2”,“3”,“4”分別表示采集數(shù)據(jù)的1倍顯示,2倍顯示,3倍顯示,4倍顯示。
②主機(jī)名和端口號(hào)可以手動(dòng)輸入服務(wù)器的IP地址和監(jiān)聽端口號(hào),輸入之后點(diǎn)擊“鏈接”按鈕。窗體可實(shí)時(shí)收縮和還原。
③在主窗體下方有“通道一”至“通道七”七個(gè)按鈕,點(diǎn)擊按鈕,可繪圖。通道按鈕對(duì)應(yīng)的下的顏色和繪圖區(qū)通道的顏色一致,可明顯區(qū)分。
④點(diǎn)擊主窗體左下方“數(shù)據(jù)庫”按鈕,彈出上位機(jī)數(shù)據(jù)庫,如圖3所示。點(diǎn)擊后會(huì)彈出數(shù)據(jù)庫窗體,在該窗體中可以查看過去任意時(shí)刻所有通道的數(shù)據(jù)。
3.3 上位機(jī)數(shù)據(jù)保存
①寫數(shù)據(jù)。在本設(shè)計(jì)中數(shù)據(jù)保存的格式是以日期和時(shí)間分鐘為單位命名文件,寫數(shù)據(jù)格式為:數(shù)據(jù)序列號(hào)+系統(tǒng)時(shí)間+數(shù)據(jù)。
②讀數(shù)據(jù)。工業(yè)應(yīng)用中,在數(shù)據(jù)保存入庫后,還要方便查詢,因此上位機(jī)中提供了數(shù)據(jù)查看器,可以方便查詢所需要的數(shù)據(jù):所有的數(shù)據(jù)按照時(shí)間先后依次排列。
4 調(diào)試結(jié)果
用示波器給下位機(jī)輸入模擬信號(hào),上位機(jī)鏈接成功,調(diào)節(jié)輸入信號(hào)的頻率;上位機(jī)選擇單通道模式,并根據(jù)采樣點(diǎn)調(diào)整面板采樣點(diǎn)sampl的值。采1 000 Hz,20 Hz正弦波實(shí)時(shí)折線圖,如圖4、圖5所示。
從測試結(jié)果來看,當(dāng)正弦波頻率超過1 300 Hz時(shí),單通道模式下采樣得到的數(shù)據(jù)波形有一點(diǎn)失真,當(dāng)正弦波頻率是1 000 Hz時(shí),采樣的波形幾乎沒有失真,從圖4中,可以大約推算出ADC的采樣頻率。
上位機(jī)選擇多通道模式,并根據(jù)采樣點(diǎn)調(diào)整面板采樣點(diǎn)sampl的值。采集250 Hz,200 Hz正弦波實(shí)時(shí)折線圖如圖6、圖7所示。
從圖中可以看出,多通道模式下,當(dāng)正弦波頻率大于 250 Hz時(shí), 采樣到的數(shù)據(jù)波形有失真,正弦波頻率是200 Hz時(shí),幾乎沒有失真。多通道數(shù)據(jù)采集的速率是單通道的七倍,測試結(jié)果與下位機(jī)采樣頻率一致。多通道模式對(duì)數(shù)據(jù)的采樣率低,但是數(shù)據(jù)整體連續(xù)性好,不會(huì)讓大范圍的數(shù)據(jù)流失。
5 結(jié) 語
多路以太網(wǎng)數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)是基于STM32下位機(jī)采集七路模擬信號(hào)經(jīng)過模數(shù)轉(zhuǎn)換,然后通過以太網(wǎng)將數(shù)據(jù)發(fā)送至上位機(jī),最終的測試結(jié)果很理想。本設(shè)計(jì)的核心在于數(shù)據(jù)的遠(yuǎn)程發(fā)送,對(duì)于嵌入式系統(tǒng)在以太網(wǎng)中的應(yīng)用目前已經(jīng)基本成熟,數(shù)據(jù)經(jīng)以太網(wǎng)傳輸具備很大的優(yōu)點(diǎn),比如數(shù)據(jù)量大,速度快,安全等。本設(shè)計(jì)能成功的一個(gè)重要因素也在于uIP協(xié)議棧的推廣,它是TCP/IP協(xié)議的精簡版,也是縮小版,很容易應(yīng)用到各種微型控制器中。
參考文獻(xiàn):
[1] 王斐然.基于以太網(wǎng)的數(shù)據(jù)采集系統(tǒng)[J].科技傳播,2010,(17).