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

          新聞中心

          EEPW首頁 > 模擬技術 > 設計應用 > 基于CAN總線的模擬射擊訓練系統(tǒng)設計

          基于CAN總線的模擬射擊訓練系統(tǒng)設計

          作者: 時間:2009-08-19 來源:網(wǎng)絡 收藏

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

            監(jiān)控計算機可以對各光電靶進行以下2種操作:查詢光電靶工作是否正常;回信確認已經(jīng)收到光電靶的檢測數(shù)據(jù)。監(jiān)控計算機每隔固定時間就進行一次查詢光電靶工作是否正常的操作,確保光電靶在線并且工作正常。當監(jiān)控計算機收到光電靶的擊中信息后,向光電靶回信確認已經(jīng)收到檢測數(shù)據(jù),然后光電靶的通信板刪除擊中點坐標控制工程網(wǎng)版權所有,避免通信過程中數(shù)據(jù)丟失的情況,確保通信的可靠性。

            光電靶需要向監(jiān)控計算機發(fā)送以下3種內(nèi)容的數(shù)據(jù):本靶的板子工作均正常且未被擊中;打中信號與擊中點橫縱坐標;出錯信號和出錯板的板號。程序流程圖如圖4所示。

          基于CAN總線的模擬射擊訓練系統(tǒng)設計如圖


            在的技術規(guī)范中,規(guī)定了在數(shù)據(jù)鏈路層和物理層上的標準,用戶在設計通信軟件時,必須線根據(jù)需求設計合適的通信協(xié)議,才能完成準確可靠的傳輸。在本系統(tǒng)中,根據(jù)需要制訂通訊協(xié)議如下:

            addr+cmnd+data…+data+chkxor;

            其中:addr――發(fā)送方的地址編碼;

            cmnd――命令碼;

            data――數(shù)據(jù);

            chkxor――異或校驗碼;

            在本系統(tǒng)中,數(shù)據(jù)區(qū)只有發(fā)送方地址編碼,沒有接收方地址編碼,這是由本系統(tǒng)的特點決定的。各光電靶只需要與監(jiān)控計算機通訊,相互之間沒有聯(lián)系,所以監(jiān)控計算機接收上的所有信息,其他各節(jié)點通過各自驗收濾波器過濾無用信息。

            3.2 系統(tǒng)檢測與485通訊部分軟件設計

            光電靶上的通訊板與檢測板通過485以主從方式通訊,通訊板為主機,檢測板為從機,二者以查詢方式聯(lián)系。通訊板與檢測板通訊框圖如圖5所示。

          基于CAN總線的模擬射擊訓練系統(tǒng)設計如圖


            系統(tǒng)初始化完畢后

          控制工程網(wǎng)版權所有

          ,通訊板首先查詢一塊檢測板的狀態(tài),檢測板受到查詢信息后,將擊中點坐標送回通訊板,若沒有被擊中,則回應信號,表示自己工作正常且沒有被擊中。通訊板收到檢測板回應信號后,先分析信息類型,如果回應信號表明檢測板工作正常且沒有被擊中,則通訊板直接查詢下一檢測板。如果回應信號為擊中點坐標,則通訊板此基礎上查詢其他檢測板,統(tǒng)一計算打中區(qū)域的中心點坐標并送到上位機。若通訊板在發(fā)出查詢信號100ms后仍沒有收到這塊檢測板的回應,表示這塊檢測板工作出現(xiàn)錯誤,通訊板查詢下一塊檢測板。

            若一塊檢測板連續(xù)3次沒有回應通訊板的查詢信號,則通訊板向上位機發(fā)送信息說明這塊檢測板工作錯誤。

          4 結(jié)束語

            軍用射擊訓練系統(tǒng)已在實際訓練中投入運行,運行結(jié)果表明本系統(tǒng)操作簡單,實時性高,測量點準確,運行可靠,得到很好的訓練效果,應用前景廣泛。


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();