<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)RM9的電梯緩沖器復位時(shí)間測試儀的設計

基于A(yíng)RM9的電梯緩沖器復位時(shí)間測試儀的設計

作者: 時(shí)間:2009-07-08 來(lái)源:網(wǎng)絡(luò ) 收藏

  0 引言

  隨著(zhù)《電梯監督檢驗規程》的發(fā)布,對檢驗機構的電梯檢驗質(zhì)量提出了新的要求。但在《檢規》的實(shí)施過(guò)程中,不斷發(fā)現現有的檢驗項目缺乏必要的、科學(xué)的檢測手段。為此,探索研制一些檢測儀器,設法滿(mǎn)足特種設備檢驗的需要勢在必行。

  本研究針對復位時(shí)間的檢測要求而展開(kāi)?!稒z規》中是這樣描述的:"對耗能型緩沖器需進(jìn)行復位試驗,復位時(shí)間應不大于120s。"對應的檢驗方法是:"轎廂在空載情況下,以檢修速度下降,將緩沖器全壓縮,從轎廂開(kāi)始離開(kāi)緩沖器瞬間起,直到緩沖器回復原狀。觀(guān)察并用秒表計時(shí)。"

  上述檢測手段主觀(guān)性太大,造成實(shí)際的檢驗結果不具有科學(xué)性、準確性,應當開(kāi)發(fā)一套成本相對較低,但檢驗精度高、效率高,安裝容易,可靠性好的系統,用于緩沖器復位時(shí)間的檢驗??紤]到上述要求和用戶(hù)的易用性,我們提出了基于的嵌入式Windows CE平臺方案。

  1 系統功能特點(diǎn)

  采用三星S3C2410芯片,基于A(yíng)RM-Windows CE的復位時(shí)間測試儀具備以下功能特點(diǎn):精確性:采用轎廂運動(dòng)過(guò)程中的緩沖器受力變化狀態(tài)信號以及緩沖器復位狀態(tài)信號的實(shí)時(shí)采集、分析方式,達到檢測結果精確,瞬時(shí)性好的目標。

  實(shí)用性:應用數據通信接口規范,使檢驗結果判斷和檢驗結果輸出自動(dòng)進(jìn)行,達到有效提高檢驗的安全性和工作效率的目標。

  易用性:采用便攜式設計,提供彩色圖文界面和觸摸屏操作,直觀(guān)方便易用。

  2 系統硬件實(shí)現方案

  2.1 總體設計方案

  復位時(shí)間測試儀三星S3C2410的ARM芯片為核心,采用TFT彩色液晶圖文顯示和觸摸屏操作。預留各種通信接口。系統主要有控制部分,部分,數據存儲部分,輸入輸出部分等4個(gè)主要組成部分。硬件上主要有上位機和下位機兩部分組成,之間采用串口標準RS232通訊,具體硬件框圖如下圖1所示:

具體硬件框圖

  系統的下位機部分主要負責前端的傳感器存儲以及和上位機的有關(guān)通訊,有關(guān)數據的分析和算法處理及用戶(hù)程序設計主要有上位機的S3C2410來(lái)完成。其通過(guò)串口接收下位機上傳的數據包,負責向下位機發(fā)送包含采樣參數的信息包,并承擔數據的處理,算法分析以及靜態(tài)參數的計算和顯示等工作。

  2.2 方案

  下位機是一個(gè)基于高性能AVR單片機的超聲波測距系統,具有溫度校正和軟件補償,承擔現場(chǎng)緩沖器恢復狀態(tài)的實(shí)時(shí)數據檢測采集,并按照一定的協(xié)議打包成數據包通過(guò)串口傳給上位機。測量最小距離4cm,最大距離500cm,分辨率為1cm。圖2為數據采集的硬件框圖:

數據采集的硬件框圖

  3 系統軟件部分:

  Windows CE主要分為四個(gè)模塊,如圖所示,這四個(gè)模塊提供最重要的操作系統功能:內核,對象存儲模塊,網(wǎng)絡(luò )與通訊模塊和GWES模塊。

  Windows CE還包含其它可選模塊,支持如管理可安裝設備驅動(dòng)程序和支持COM的任務(wù),圖3為系統結構圖:

系統結構圖

  3.1 定制操作系統

  為了把Windows CE移植到特定的目標平臺上,微軟提供了一套完整的開(kāi)發(fā)工具Platform Builder。該工具以對象庫格式提供給操作系統,以便開(kāi)發(fā)人員可以將其作為特定操作系統平臺的組件。

  首先,選擇造作系統的基本配置,并且為特定的平臺選擇相應的微處理器和板級支持包BSP(Board Suppor Packet)。本測試儀采用S3C2410處理器,因此我們改造了微軟提供的基于S3C2410的BSP,自定義了符合我們要求的BSP。

  其次,制定平臺,在此階段可開(kāi)發(fā)設備驅動(dòng),適當地裁剪、添加組件。然后,封裝所需的各功能模塊,編譯生成OS鏡像文件。接著(zhù),把鏡像文件下載到目標設備,進(jìn)行調試。在此階段,我們主要進(jìn)行了串口和觸摸屏程序系統相關(guān)組件的添加和裁剪,編譯生成符合我們測試儀硬件要求的OS鏡像。

  最后,導出定制操作系統的SDK(Soltware Development Kit)軟件開(kāi)發(fā)工具包,安裝到EVC中,便可以進(jìn)行基于我們定制的測試儀硬件平臺的應用程序開(kāi)發(fā)。如圖4所示為操作系統移植流程圖:

操作系統移植流程圖

  3.2 應用軟件開(kāi)發(fā)

  操作系統的主要任務(wù)是為了管理所有硬件資源,并且提供應用軟件一個(gè)合適的操作環(huán)境。將Windows CE操作系統移植到ARM平臺上以后,下一步工作就是進(jìn)行應用軟件的開(kāi)發(fā)。本系統的上位機軟件主要在EVC的環(huán)境下開(kāi)發(fā)完成,使用C語(yǔ)言為主要編程語(yǔ)言。主函數主要包含以下幾個(gè)模塊:用戶(hù)界面模塊、上下位機串口通訊模塊、算法分析處理模塊。

  3.2.1 串口通訊協(xié)議說(shuō)明

  模塊串口波特率9600,無(wú)奇偶效驗,一位停止位??刂泼钔ㄟ^(guò)一致的幀結構通訊,幀長(cháng)度4字節:命令+數據0+數據1+校驗和。效驗和=命令+數據0+數據1的相加和的低8位。系統通過(guò)上位機串口直接對下位機模塊進(jìn)行操作。上位機向下位機發(fā)送啟動(dòng)16位距離讀取命令:Ox22+度數+NC+SUM。當測量完畢時(shí),這時(shí)返回的數據是:Ox22+距離高+距離低+SUM;當測量無(wú)效時(shí)返回的距離高位和低位數據都是Oxff。(注:NC代表任意數據,SUM代表效驗和)串行端口在Windows CE下屬于流接口設備,是串行設備接口常規I/O驅動(dòng)程序的調用與通信相關(guān)的具體函數的結合。串行設備被視為用于打開(kāi)、關(guān)閉和讀寫(xiě)串行端口的常規的可安裝的流設備。Windows CE的串口函數和Windows的串口函數基本相同,但有幾點(diǎn)值得注意:Windows CE只支持Unicode字符集,在編程時(shí)必須特別注意; Windows CE不支持重疊的I/O操作。在所有的流設備驅動(dòng)程序中,均使用CreateFile來(lái)打開(kāi)串行端口設備,如果這個(gè)端口不存在,CreateFile返回ERROR_FILE_NOT_FOUND。因此,用戶(hù)指定的端口必須是存在并且可用的,而且要遵循Windows CE流接口設備驅動(dòng)程序的命名規則,即COM后接要打開(kāi)的端口號再緊跟一個(gè)冒號。

程序

  關(guān)閉串行端口比較簡(jiǎn)單,調用CloseHandle函數就能關(guān)閉一個(gè)打開(kāi)的串行端口。CloseHandle只有一個(gè)參數,即調用CreateFile函數打開(kāi)端口時(shí)返回的句柄,方法如下:

CloseHandle(hPort);

  正如使用CreateFile打開(kāi)串行端口一樣,可以使用ReadFile和WriteFile函數來(lái)讀寫(xiě)串行端 口。假設已經(jīng)調用CreateFile成功地打開(kāi)了串行端口,那么只需調用ReadFile即可從串行端口讀取數據:

程序

  如果從主線(xiàn)程讀、寫(xiě)大量的串行數據,主線(xiàn)程就會(huì )因為等待相對較慢的串行讀或串行寫(xiě)操作而阻塞,不能即時(shí)處理其他的消息,因此這里用單獨的線(xiàn)程來(lái)讀寫(xiě)串行端口。對于串行端口來(lái)說(shuō),還必須配置超時(shí)值,否則程序可能陷入到一個(gè)等待來(lái)自串口字符的死循環(huán)。通常,配置超時(shí)值和配置串口類(lèi)似。首先用GetCommTimeouts函數獲取當前串口的超時(shí)值,然后修改CommTimeouts成員變量的值,最后用SetCommTimeouts設置新的超時(shí)值。

  3.2.2 算法分析

  根據電梯檢測規程要求,緩沖器從全壓縮到復位的時(shí)間應不大于120秒。上位機從上電檢測開(kāi)始每隔0.1秒發(fā)送一次數據采集命令,并將返回的距離值和開(kāi)關(guān)量信號存儲于不同的數組待分析。數組s(m)和F(n)分別存儲采集到的距離值和開(kāi)關(guān)信號值(0或1),t為每次數據采集循環(huán)時(shí)間,T為緩沖器回復時(shí)間。軟件的算法流程圖如5所示:

軟件的算法流程圖

  4 結束語(yǔ)

  基于A(yíng)RM技術(shù)和Windows CE系統的電梯緩沖器復位時(shí)間測試儀功能齊備,精確性高,實(shí)用性強,滿(mǎn)足了新的檢測規程的要求。本設計方案首次實(shí)現了緩沖器復位過(guò)程中瞬時(shí)脫離點(diǎn)的檢測,實(shí)現了各種狀態(tài)時(shí)刻的精確計時(shí)和狀態(tài)識別,解決了信號同步,結果自動(dòng)判斷和輸出等問(wèn)題。隨著(zhù)技術(shù)的進(jìn)一步發(fā)展,必將向著(zhù)多功能、智能化的方向發(fā)展。



關(guān)鍵詞: ARM9 電梯緩沖器 數據采集

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>