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

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 電梯緩沖器復(fù)位時(shí)間測試儀的設(shè)計(jì)

          電梯緩沖器復(fù)位時(shí)間測試儀的設(shè)計(jì)

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

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

          CloseHandle(hPort);

            正如使用CreateFile打開串行端口一樣,可以使用ReadFile和WriteFile函數(shù)來讀寫串行端 口。假設(shè)已經(jīng)調(diào)用CreateFile成功地打開了串行端口,那么只需調(diào)用ReadFile即可從串行端口讀取數(shù)據(jù):

          程序

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

            3.2.2 算法分析

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

          軟件的算法流程圖

            4 結(jié)束語

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


          上一頁 1 2 3 下一頁

          評論


          技術(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); })();