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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于CAN現(xiàn)場總線的發(fā)動機(jī)測試系統(tǒng)

          基于CAN現(xiàn)場總線的發(fā)動機(jī)測試系統(tǒng)

          作者: 時間:2012-10-15 來源:網(wǎng)絡(luò) 收藏

            當(dāng)前,隨著技術(shù)的逐步推廣,和開放系統(tǒng)已成為組態(tài)軟件成長所依賴的外部環(huán)境,這使得組態(tài)軟件更易于與眾多的輸入/輸出設(shè)備連接,從而促進(jìn)了組態(tài)軟件在控制系統(tǒng)中的應(yīng)用。通過對現(xiàn)有組態(tài)軟件性能及價格的比較,同時結(jié)合本技改項(xiàng)目的實(shí)際需要,選擇國產(chǎn)"世紀(jì)星"組態(tài)軟件來開發(fā)總線系統(tǒng)的監(jiān)控程序。為了將上位機(jī)人機(jī)界面程序與下位機(jī)數(shù)據(jù)采集與交換程序有機(jī)地結(jié)合起來,我們把臨控程序分成兩部分,即:將服務(wù)器-客戶機(jī)結(jié)構(gòu)應(yīng)用到總線控制系統(tǒng)的組態(tài)軟件設(shè)計(jì)中,實(shí)現(xiàn)以人機(jī)界面程序作為客戶機(jī)端程序,以與硬件進(jìn)行數(shù)據(jù)交換的程序作為服務(wù)器端程序。

            (2) 下位機(jī)軟件:

            每個柴油發(fā)動機(jī)試車臺作為總線的一個智能節(jié)點(diǎn),通過CAN通信接口將各試車臺的檢測狀態(tài)和控制結(jié)果等信息向上位機(jī)傳送,并隨時準(zhǔn)備接收上位機(jī)的控制指令。下位機(jī)控制程序采用模塊化編程,包括CAN總線通信管理模塊、柴油發(fā)動機(jī)運(yùn)行狀態(tài)監(jiān)控模塊、A/D巡檢采樣及數(shù)據(jù)轉(zhuǎn)存模塊、I/O開關(guān)量信號處理模塊等。其中,CAN節(jié)點(diǎn)通信模塊部分至關(guān)重要,它關(guān)系到整個分布式控制網(wǎng)絡(luò)能否正常工作。CAN節(jié)點(diǎn)通信模塊由CAN初始化子程序、CAN中斷程序和CAN數(shù)據(jù)收發(fā)子程序組成,如圖4所示。

            5. 結(jié)束語

            本論文的研究內(nèi)容在圍產(chǎn)135系列柴油發(fā)動機(jī)的試車臺上已經(jīng)過試驗(yàn)并運(yùn)行良好,實(shí)踐表明:基于CAN總線的分布式測試系統(tǒng)穩(wěn)定可靠,具有配置靈活簡單、成本低、可靠性高、抗干擾能力強(qiáng)和可擴(kuò)充性好等優(yōu)點(diǎn),可以對柴油機(jī)的測試過程進(jìn)行全面監(jiān)控,大大減少了測試時間,改善了監(jiān)控工作條件,提高了對設(shè)備的科學(xué)化管理,對某些故障還能夠及早發(fā)現(xiàn),防止滯后處理所造成的損失。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

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