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