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

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > CAN總線協(xié)議到EtherCAT從站協(xié)議的轉(zhuǎn)換網(wǎng)關(guān)設(shè)計

          CAN總線協(xié)議到EtherCAT從站協(xié)議的轉(zhuǎn)換網(wǎng)關(guān)設(shè)計

          作者: 時間:2013-04-23 來源:網(wǎng)絡(luò) 收藏

          3 CAN/EtherCAT軟件設(shè)計
          CAN/EtherCAT軟件由通信處理模塊和主站通信處理模塊組成。CAN/EtherCAT軟件在功能上實現(xiàn)通信協(xié)議和主站通信協(xié)議功能。
          CAN/EtherCAT協(xié)議轉(zhuǎn)換網(wǎng)關(guān)軟件基于不帶操作系統(tǒng)的硬件平臺,采用C語言編寫。應(yīng)用程序各任務(wù)串行執(zhí)行,可以直接操作硬件的中斷和定時器,保證了任務(wù)執(zhí)行的速度和系統(tǒng)的性能。
          3.1 報文幀結(jié)構(gòu)
          EtherCAT協(xié)議數(shù)據(jù)直接使用以太網(wǎng)數(shù)據(jù)幀傳輸,數(shù)據(jù)幀類型為0x88A4。數(shù)據(jù)區(qū)最大可達1 498字節(jié)。數(shù)據(jù)區(qū)由1個或多個EtherCAT子報文組成,每個子報文對應(yīng)獨立的設(shè)備或從站存儲區(qū)域。EtherCAT從站子報文幀結(jié)構(gòu)如圖3所示。

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

          c.JPG


          每個EtherCAT子報文包括子報文頭、數(shù)據(jù)區(qū)和相應(yīng)的工作計數(shù)器(Working Counter,WKC)。發(fā)送子報文的WKC初始值為0,子報文被CAN /EtherCAT協(xié)議轉(zhuǎn)換網(wǎng)關(guān)正確處理后,增加一個增量,主站根據(jù)WKC是否正確,來判斷該子報文是否被正確響應(yīng)。
          3.2 EtherCAT從站通信處理模塊
          EtherCAT從站通信處理模塊實現(xiàn)與EtherCAT主站之間的通信,EtherCAT從站通信處理模塊以EtherCAT從站控制器為核心,從站協(xié)議控制器實現(xiàn)EtherCAT數(shù)據(jù)的接收、發(fā)送以及錯誤處理。從站MCU操作EtherCAT從站協(xié)議控制器,實現(xiàn)應(yīng)用層協(xié)議。
          EtherCAT協(xié)議有2種數(shù)據(jù)交換形式:一種是周期性過程數(shù)據(jù)通信,另一種是非周期性郵箱數(shù)據(jù)通信。周期性過程數(shù)據(jù)通信用來傳輸數(shù)據(jù)刷新率要求較高的輸入輸出數(shù)據(jù),非周期性郵箱數(shù)據(jù)通信則用來配置或讀取從站的參數(shù)信息。
          自動化控制系統(tǒng)中,系統(tǒng)一般要求先采集下面設(shè)備的輸入數(shù)據(jù),對輸入數(shù)據(jù)進行相應(yīng)的邏輯處理,然后產(chǎn)生輸出控制信號,發(fā)送到輸出設(shè)備。EtherCAT協(xié)議的狀態(tài)機通信模式很好地解決了這個問題,保證了通信的安全可靠。
          CAN/EtherCAT協(xié)議轉(zhuǎn)換網(wǎng)關(guān)支持4種狀態(tài):初始化(Init)、預(yù)運行(Pre-Operational)、安全運行(Safe-Operational)和運行(Operation al)。各狀態(tài)之間的轉(zhuǎn)換關(guān)系如圖4所示。狀態(tài)機依次在不同的狀態(tài)及狀態(tài)轉(zhuǎn)換期間完成不同的任務(wù)。

          d.JPG


          CAN/EtherCAT協(xié)議轉(zhuǎn)換網(wǎng)關(guān)處于初始化狀態(tài)時,主站初始化EtherCAT從站控制器的一些配置寄存器、配置郵箱通道參數(shù)。預(yù)運行狀態(tài)下,CAN/EtherCAT協(xié)議轉(zhuǎn)換網(wǎng)關(guān)與主站使用郵箱通信交換通信配置信息,此時,不允許過程數(shù)據(jù)通信。安全運行狀態(tài)下,CAN/EtherCAT協(xié)議轉(zhuǎn)換網(wǎng)關(guān)應(yīng)用程序讀入輸入數(shù)據(jù),但不產(chǎn)生輸出信號,設(shè)備無輸出,處于“安全狀態(tài)”。運行狀態(tài)下,CAN/EtherCAT協(xié)議轉(zhuǎn)換網(wǎng)關(guān)應(yīng)用程序讀入輸入數(shù)據(jù),此時,主站應(yīng)用程序發(fā)出的輸出數(shù)據(jù)有效,CAN/EtherCAT協(xié)議轉(zhuǎn)換網(wǎng)關(guān)產(chǎn)生輸出信號。
          3.3 主站通信處理模塊
          CAN總線主站通信處理模塊主要實現(xiàn)與CAN總線從站設(shè)備之間的數(shù)據(jù)交換、參數(shù)配置和故障診斷等。數(shù)據(jù)的收發(fā)采用定時器和中斷相配合的模式。
          上電硬件初始化,配置好CAN總線通信的參數(shù)后,CAN總線主站通信處理模塊首先請求下面各CAN總線從站設(shè)備的輸入數(shù)據(jù),所有輸入數(shù)據(jù)掃描完成后,置輸入數(shù)據(jù)掃描完成標(biāo)志,EtherCAT主站接收到該標(biāo)志后,轉(zhuǎn)換CAN/EtherCAT協(xié)議轉(zhuǎn)換網(wǎng)關(guān)狀態(tài)到運行狀態(tài)。此時,輸出數(shù)據(jù)有效,CAN總線主站通信處理模塊發(fā)送輸出數(shù)據(jù)到相關(guān)CAN總線從站設(shè)備。所有的從站一輪掃描結(jié)束后,判斷統(tǒng)計是否有從站出現(xiàn)通信故障,并進行相應(yīng)的處理。
          3.4 CAN/EtherCAT協(xié)議轉(zhuǎn)換網(wǎng)關(guān)對象字典設(shè)計
          EtherCAT協(xié)議使用對象字典實現(xiàn)標(biāo)準(zhǔn)的參數(shù)信息配置和輸入、輸出數(shù)據(jù)讀寫操作,每個對象字典有一個主索引和多個子索引。在CAN/Et herCAT協(xié)議轉(zhuǎn)換網(wǎng)關(guān)采用協(xié)議轉(zhuǎn)換網(wǎng)關(guān)和CAN總線從站設(shè)備的多級對象字典設(shè)計模式,如圖5所示。

          e.JPG

          光耦相關(guān)文章:光耦原理




          評論


          相關(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); })();