CAN總線協(xié)議到EtherCAT從站協(xié)議的轉換網(wǎng)關設計
3 CAN/EtherCAT協(xié)議轉換網(wǎng)關軟件設計
CAN/EtherCAT協(xié)議轉換網(wǎng)關軟件由EtherCAT從站通信處理模塊和CAN總線主站通信處理模塊組成。CAN/EtherCAT協(xié)議轉換網(wǎng)關軟件在功能上實現(xiàn)EtherCAT從站通信協(xié)議和CAN總線主站通信協(xié)議功能。
CAN/EtherCAT協(xié)議轉換網(wǎng)關軟件基于不帶操作系統(tǒng)的硬件平臺,采用C語言編寫。應用程序各任務串行執(zhí)行,可以直接操作硬件的中斷和定時器,保證了任務執(zhí)行的速度和系統(tǒng)的性能。
3.1 EtherCAT從站報文幀結構
EtherCAT協(xié)議數(shù)據(jù)直接使用以太網(wǎng)數(shù)據(jù)幀傳輸,數(shù)據(jù)幀類型為0x88A4。數(shù)據(jù)區(qū)最大可達1 498字節(jié)。數(shù)據(jù)區(qū)由1個或多個EtherCAT子報文組成,每個子報文對應獨立的設備或從站存儲區(qū)域。EtherCAT從站子報文幀結構如圖3所示。本文引用地址:http://www.bjwjmy.cn/article/153523.htm
每個EtherCAT子報文包括子報文頭、數(shù)據(jù)區(qū)和相應的工作計數(shù)器(Working Counter,WKC)。發(fā)送子報文的WKC初始值為0,子報文被CAN /EtherCAT協(xié)議轉換網(wǎng)關正確處理后,增加一個增量,主站根據(jù)WKC是否正確,來判斷該子報文是否被正確響應。
3.2 EtherCAT從站通信處理模塊
EtherCAT從站通信處理模塊實現(xiàn)與EtherCAT主站之間的通信,EtherCAT從站通信處理模塊以EtherCAT從站控制器為核心,從站協(xié)議控制器實現(xiàn)EtherCAT數(shù)據(jù)的接收、發(fā)送以及錯誤處理。從站MCU操作EtherCAT從站協(xié)議控制器,實現(xiàn)應用層協(xié)議。
EtherCAT協(xié)議有2種數(shù)據(jù)交換形式:一種是周期性過程數(shù)據(jù)通信,另一種是非周期性郵箱數(shù)據(jù)通信。周期性過程數(shù)據(jù)通信用來傳輸數(shù)據(jù)刷新率要求較高的輸入輸出數(shù)據(jù),非周期性郵箱數(shù)據(jù)通信則用來配置或讀取從站的參數(shù)信息。
自動化控制系統(tǒng)中,系統(tǒng)一般要求先采集下面設備的輸入數(shù)據(jù),對輸入數(shù)據(jù)進行相應的邏輯處理,然后產(chǎn)生輸出控制信號,發(fā)送到輸出設備。EtherCAT協(xié)議的狀態(tài)機通信模式很好地解決了這個問題,保證了通信的安全可靠。
CAN/EtherCAT協(xié)議轉換網(wǎng)關支持4種狀態(tài):初始化(Init)、預運行(Pre-Operational)、安全運行(Safe-Operational)和運行(Operation al)。各狀態(tài)之間的轉換關系如圖4所示。狀態(tài)機依次在不同的狀態(tài)及狀態(tài)轉換期間完成不同的任務。
CAN/EtherCAT協(xié)議轉換網(wǎng)關處于初始化狀態(tài)時,主站初始化EtherCAT從站控制器的一些配置寄存器、配置郵箱通道參數(shù)。預運行狀態(tài)下,CAN/EtherCAT協(xié)議轉換網(wǎng)關與主站使用郵箱通信交換通信配置信息,此時,不允許過程數(shù)據(jù)通信。安全運行狀態(tài)下,CAN/EtherCAT協(xié)議轉換網(wǎng)關應用程序讀入輸入數(shù)據(jù),但不產(chǎn)生輸出信號,設備無輸出,處于“安全狀態(tài)”。運行狀態(tài)下,CAN/EtherCAT協(xié)議轉換網(wǎng)關應用程序讀入輸入數(shù)據(jù),此時,主站應用程序發(fā)出的輸出數(shù)據(jù)有效,CAN/EtherCAT協(xié)議轉換網(wǎng)關產(chǎn)生輸出信號。
3.3 CAN總線主站通信處理模塊
CAN總線主站通信處理模塊主要實現(xiàn)與CAN總線從站設備之間的數(shù)據(jù)交換、參數(shù)配置和故障診斷等。數(shù)據(jù)的收發(fā)采用定時器和中斷相配合的模式。
上電硬件初始化,配置好CAN總線通信的參數(shù)后,CAN總線主站通信處理模塊首先請求下面各CAN總線從站設備的輸入數(shù)據(jù),所有輸入數(shù)據(jù)掃描完成后,置輸入數(shù)據(jù)掃描完成標志,EtherCAT主站接收到該標志后,轉換CAN/EtherCAT協(xié)議轉換網(wǎng)關狀態(tài)到運行狀態(tài)。此時,輸出數(shù)據(jù)有效,CAN總線主站通信處理模塊發(fā)送輸出數(shù)據(jù)到相關CAN總線從站設備。所有的從站一輪掃描結束后,判斷統(tǒng)計是否有從站出現(xiàn)通信故障,并進行相應的處理。
3.4 CAN/EtherCAT協(xié)議轉換網(wǎng)關對象字典設計
EtherCAT協(xié)議使用對象字典實現(xiàn)標準的參數(shù)信息配置和輸入、輸出數(shù)據(jù)讀寫操作,每個對象字典有一個主索引和多個子索引。在CAN/Et herCAT協(xié)議轉換網(wǎng)關采用協(xié)議轉換網(wǎng)關和CAN總線從站設備的多級對象字典設計模式,如圖5所示。
光耦相關文章:光耦原理
評論