電梯緩沖器復位時間測試儀的設計
關閉串行端口比較簡單,調用CloseHandle函數(shù)就能關閉一個打開的串行端口。CloseHandle只有一個參數(shù),即調用CreateFile函數(shù)打開端口時返回的句柄,方法如下:
CloseHandle(hPort);
正如使用CreateFile打開串行端口一樣,可以使用ReadFile和WriteFile函數(shù)來讀寫串行端 口。假設已經調用CreateFile成功地打開了串行端口,那么只需調用ReadFile即可從串行端口讀取數(shù)據(jù):
如果從主線程讀、寫大量的串行數(shù)據(jù),主線程就會因為等待相對較慢的串行讀或串行寫操作而阻塞,不能即時處理其他的消息,因此這里用單獨的線程來讀寫串行端口。對于串行端口來說,還必須配置超時值,否則程序可能陷入到一個等待來自串口字符的死循環(huán)。通常,配置超時值和配置串口類似。首先用GetCommTimeouts函數(shù)獲取當前串口的超時值,然后修改CommTimeouts成員變量的值,最后用SetCommTimeouts設置新的超時值。
3.2.2 算法分析
根據(jù)電梯檢測規(guī)程要求,緩沖器從全壓縮到復位的時間應不大于120秒。上位機從上電檢測開始每隔0.1秒發(fā)送一次數(shù)據(jù)采集命令,并將返回的距離值和開關量信號存儲于不同的數(shù)組待分析。數(shù)組s(m)和F(n)分別存儲采集到的距離值和開關信號值(0或1),t為每次數(shù)據(jù)采集循環(huán)時間,T為緩沖器回復時間。軟件的算法流程圖如5所示:
4 結束語
基于ARM技術和Windows CE系統(tǒng)的電梯緩沖器復位時間測試儀功能齊備,精確性高,實用性強,滿足了新的檢測規(guī)程的要求。本設計方案首次實現(xiàn)了緩沖器復位過程中瞬時脫離點的檢測,實現(xiàn)了各種狀態(tài)時刻的精確計時和狀態(tài)識別,解決了信號同步,結果自動判斷和輸出等問題。隨著技術的進一步發(fā)展,必將向著多功能、智能化的方向發(fā)展。
評論