電梯緩沖器復位時(shí)間測試儀的設計
關(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ā)展。
評論