<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于Windows CE的便攜式數(shù)據(jù)采集與處理系統(tǒng)

          基于Windows CE的便攜式數(shù)據(jù)采集與處理系統(tǒng)

          作者: 時(shí)間:2010-03-16 來(lái)源:網(wǎng)絡(luò) 收藏
          目前,一些發(fā)達(dá)國(guó)家的工業(yè)設(shè)備運(yùn)行監(jiān)測(cè)和管理已日趨信息化和專業(yè)化,但國(guó)內(nèi)這方面尚存在許多問題。有些企業(yè)出于投資規(guī)模和經(jīng)濟(jì)效益的考慮,尚未引進(jìn)現(xiàn)代化的檢測(cè)設(shè)備和管理手段,依舊使用傳統(tǒng)的人工巡檢和記錄模式。即使一些大型企業(yè)已配備了較先進(jìn)的監(jiān)測(cè)系統(tǒng)和監(jiān)測(cè)儀器,但是由于具體操作人員的素質(zhì)和責(zé)任心等方面的問題,并未使其發(fā)揮應(yīng)有的作用,且導(dǎo)致近年來(lái)國(guó)內(nèi)設(shè)備運(yùn)行故障頻繁發(fā)生。因此研制和開發(fā)過程裝備智能診斷系統(tǒng)是十分必要的。整個(gè)系統(tǒng)的設(shè)計(jì)思想是:系統(tǒng)主機(jī)對(duì)設(shè)備運(yùn)行狀況進(jìn)行分析并發(fā)出任務(wù)指令;巡檢人員按任務(wù)指令要求利用巡檢儀采集并存儲(chǔ)數(shù)據(jù),然后將采集好的數(shù)據(jù)發(fā)送到主機(jī);主機(jī)再根據(jù)巡檢儀輸入的數(shù)據(jù)分析設(shè)備的運(yùn)行狀態(tài)并發(fā)出下一次的任務(wù)指令。如此循環(huán)以達(dá)到保證設(shè)備安全運(yùn)行的目的。本文介紹針對(duì)巡檢儀提出的一種 系統(tǒng),并給出了硬件設(shè)計(jì)和軟件設(shè)計(jì)。
            選擇Window (以下簡(jiǎn)稱)作為軟件運(yùn)行平臺(tái),這主要是它的特點(diǎn)[1]考慮的。CE是多線程、多任務(wù)、完全搶占式的32位嵌入式操作系統(tǒng)。新的內(nèi)核服務(wù),例如嵌套式的中斷、更好的線程響應(yīng)、新增的任務(wù)特性、信號(hào)量等,使得它能對(duì)事件和中斷立即響應(yīng),能夠滿足中苛刻的實(shí)時(shí)性要求。它支持的多線程使得和顯示等能夠同時(shí)進(jìn)行。它具有強(qiáng)大的存儲(chǔ)和文件能力,能夠滿足數(shù)據(jù)存儲(chǔ)的需要。它對(duì)通信及網(wǎng)絡(luò)的支持,使得它與系統(tǒng)主機(jī)的通信變得更加容易。
          1 系統(tǒng)的硬件結(jié)構(gòu)
            系統(tǒng)硬件的主要組成如圖1所示。

          本文引用地址:http://www.ex-cimer.com/article/163210.htm

            TPC-650是為CE或其他高級(jí)操作系統(tǒng)設(shè)計(jì)的硬件平臺(tái)。它適合于各種工業(yè)應(yīng)用,包括工業(yè)自動(dòng)化、自動(dòng)化生產(chǎn)線、精密加工、生產(chǎn)過程控制、環(huán)境控制、終端信息系統(tǒng)、娛樂管統(tǒng)等。它具有高質(zhì)量的6.4“VGA TFT/5.7”QVGA STN液晶顯示器、Intel Pentium 266 MMX微處理器、10/100 Base-T網(wǎng)口、二個(gè)串口(RS-232,RS-232/422/485)、一個(gè)快閃卡插槽、一個(gè)外部16位PC/104模塊擴(kuò)展槽和觸摸屏。它的核心是微型X86 CPU,但它在圖形顯示和網(wǎng)絡(luò)通信方面的性能更優(yōu)。
            PCM-3718H是一個(gè)高效的多通道數(shù)據(jù)采集模塊,插在TPC-650的PC-104插槽。它支持12位的A/D轉(zhuǎn)換和數(shù)字輸入/輸出,能夠?qū)崿F(xiàn)DMA方式的單/多通道的A/D轉(zhuǎn)換。其DMA轉(zhuǎn)換的采樣頻率可達(dá)100kHz。它具有靈活的觸發(fā)選擇,包括軟件觸發(fā)、實(shí)時(shí)同步觸發(fā)和外部脈沖觸發(fā)。
            PCLD-880是通用螺絲端子板,能提供方便的信號(hào)接線,并能與數(shù)據(jù)采集卡的20芯扁平電纜相連。它還帶有一個(gè)DB-37接口,可以支持帶有DB-37的數(shù)據(jù)采集控制卡。它是能在惡劣的環(huán)境下實(shí)現(xiàn)可靠連接的工業(yè)端子塊。
          本系統(tǒng)的主要工作過程是用位移/速度/加速度傳感器提取模擬電壓信號(hào),經(jīng)過PCLD-880,輸入到PCM-3718H。通過軟件編程控制PCM-3718H數(shù)據(jù)采集模塊,對(duì)模擬電壓信號(hào)進(jìn)行采樣,完成A/D轉(zhuǎn)換和數(shù)據(jù)的存儲(chǔ)及處理。
          2 軟件設(shè)計(jì)
          2.1 應(yīng)用程序執(zhí)行數(shù)據(jù)采集的工作過程

            首先,從上位機(jī)下載任務(wù)文件,打開任務(wù)文件,在用戶界面上顯示為任務(wù)列表。操作人員將信息鈕只讀器與設(shè)備上的信息鈕貼合,程序自動(dòng)從任務(wù)表中找到匹配項(xiàng),進(jìn)行數(shù)據(jù)采集。每采集完一個(gè)設(shè)備,該設(shè)備號(hào)從任務(wù)列表中自動(dòng)刪除。
            采集開始的同時(shí)會(huì)顯示三種曲線:實(shí)時(shí)曲線、平均值曲線和FFT曲線。操作人員根據(jù)平均值曲線的平穩(wěn)程度決定是否將采集到的數(shù)據(jù)存儲(chǔ)起來(lái)。實(shí)時(shí)曲線可以反應(yīng)所測(cè)物理量的真實(shí)變化情況。FFT曲線體現(xiàn)所測(cè)物理量的頻域特征。采集完成后,向上位機(jī)發(fā)送數(shù)據(jù)。
          2.2 多線程的數(shù)據(jù)采集
            因?yàn)樾枰谳^短的時(shí)間內(nèi)完成數(shù)據(jù)采集、分析、圖形顯示和數(shù)據(jù)存儲(chǔ)等任務(wù),所以采用多線程模型利用多個(gè)線程分別完成各項(xiàng)任務(wù)。
            本系統(tǒng)充分利用CE 操作系統(tǒng)的多線程特點(diǎn)將不同的任務(wù)分布到各個(gè)線程中,使各個(gè)任務(wù)同步而協(xié)調(diào)地進(jìn)行。主線程負(fù)責(zé)創(chuàng)建用戶界面、接收消息等工作。為了保證數(shù)據(jù)采集不被其他線程中斷,專門開辟一個(gè)優(yōu)先級(jí)較高的線程來(lái)采集數(shù)據(jù)。各個(gè)線程(數(shù)據(jù)采集線程、數(shù)據(jù)動(dòng)態(tài)顯示線程和數(shù)據(jù)存儲(chǔ)線程)中所要完成的工作并行進(jìn)行。線程間的通信通過消息響應(yīng)函數(shù)PostMessage 和CEvent對(duì)象來(lái)實(shí)現(xiàn)。
            數(shù)據(jù)采集線程和顯示線程之間的同步通過使用線程同步對(duì)象Critical Section來(lái)實(shí)現(xiàn)。它能夠保證在同一時(shí)間只有一個(gè)線程訪問數(shù)據(jù)緩沖區(qū)。當(dāng)采集線程向緩沖區(qū)中寫數(shù)據(jù)時(shí),采集線程擁有Critical Section,顯示線程就不能夠訪問緩沖區(qū);只有當(dāng)采集線程將Critical Section對(duì)象釋放之后,顯示線程獲得了Critical Section對(duì)象,進(jìn)而才能讀取緩沖區(qū)中的數(shù)據(jù)。這就保證了顯示線程讀到正確的數(shù)據(jù)。數(shù)據(jù)存儲(chǔ)線程、采集線程及顯示線程三者之間的同步也是如此。
          2.3 軟件模塊關(guān)系和各個(gè)模塊的功能
            系統(tǒng)各軟件模塊關(guān)系如圖2所示。

          2.3.1 通信模塊
            通信模塊負(fù)責(zé)本系統(tǒng)與上位機(jī)之間的通信,包括從上位機(jī)下載文件和向上位機(jī)傳送采集的數(shù)據(jù)。使用CSocket類建立TPC-650上的客戶端和桌面PC上的服務(wù)器程序。用CSocket類與CSocketFile和CArchive類一起使用來(lái)完成數(shù)據(jù)的發(fā)送和接收。在程序運(yùn)行時(shí),為了“聽”由客戶端程序發(fā)出的連接請(qǐng)求,服務(wù)器程序首先運(yùn)行。下面是建立服務(wù)器和客戶端通信程序的步驟。
            (1)構(gòu)造一個(gè)CSocket類對(duì)象。使用BOOL Create(UINT nSocketPort=0,int nSocketType=SOCK_STREAM,LPCTSTR lpszSocketAddress=NULL)函數(shù)。在服務(wù)器程序中使用該函數(shù)時(shí),要指定nSocketPort值。
            (2)客戶端CSocket調(diào)用CAsynCSocket∷Connect函數(shù)連接服務(wù)器Csocket。服務(wù)器端用CAsynCSocket∷Listen函數(shù)“聽”客戶端發(fā)送的連接消息。調(diào)用CAsynCSocket∷Accept函數(shù)接收客戶端發(fā)送的消息。注意,virtual BOOL Accept(CAsynCSocket rConnectedSocket,SOCKADDR*lpSockAddr=NULL,int*lpSockAddrLen=NULL)函數(shù)需要一個(gè)新的rConnectedSocket作為參數(shù)。因此在接收之前,要先構(gòu)造一個(gè)新的CSocket類。
            (3)構(gòu)造一個(gè)CSocketFile類對(duì)象,它與CSocket類對(duì)象相關(guān)聯(lián)。
            (4)構(gòu)造一個(gè)CArchive類對(duì)象,它與CSocketFile對(duì)象相關(guān)聯(lián)。
            (5)使用CArchive類對(duì)象在服務(wù)器和客戶端之間傳遞數(shù)據(jù)。
            系統(tǒng)程序中有二部分要用到客戶端和服務(wù)器之間的通信。一是從上位機(jī)即桌面PC上下載任務(wù)文件;二是向上位機(jī)發(fā)送采集的數(shù)據(jù)。
            在TPC-650上運(yùn)行的客戶端程序主要完成:(1)連接服務(wù)器;(2)向服務(wù)器發(fā)送采集到的數(shù)據(jù);


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();