鹿海霞,王丹麟,楊衛(wèi)民
(國電南京自動化股份有限公司 研究院南京210003)
隨著工業(yè)自動化的發(fā)展,大量現(xiàn)場設(shè)備的信息傳遞不再采用模擬信號電纜傳送,而是替換為智能化現(xiàn)場設(shè)備,通過通信方式傳遞設(shè)備的狀態(tài)和控制信息。在這個過程中,現(xiàn)場總線設(shè)備得到了大量的應(yīng)用。而現(xiàn)場總線設(shè)備的多樣性,導(dǎo)致在一個大型的自動化控制系統(tǒng)中設(shè)備的通信協(xié)議不同、通信速率不同、網(wǎng)絡(luò)拓?fù)湫问讲煌?,給中央監(jiān)控系統(tǒng)和這些現(xiàn)場設(shè)備之間的信息交互帶來困擾。
為了更好地解決控制系統(tǒng)內(nèi)自動化數(shù)據(jù)傳輸及互連的問題,部分國際自動化系統(tǒng)廠家借助以太網(wǎng)現(xiàn)有協(xié)議框架及其100M 的帶寬資源,在現(xiàn)有的以太網(wǎng)協(xié)議上進(jìn)行相應(yīng)的修改,推出了不同的實(shí)時工業(yè)以太網(wǎng)技術(shù),比較流行的有EtherCAT、Sercos III、Profinet、Powerlink、Ethernet/IP等。其中,EtherCAT(Ethernet for Control Automation Technology)是開放的實(shí)時工業(yè)以太網(wǎng)通信協(xié)議,最初由德國倍福自動化有限公司研發(fā)。它基于標(biāo)準(zhǔn)的以太網(wǎng)技術(shù),支持多種設(shè)備連接拓?fù)浣Y(jié)構(gòu),具有配置簡單、有效數(shù)據(jù)率高、全雙工、數(shù)據(jù)傳輸容量大、傳輸速度快、時鐘同步性高、成本低、開放性好等特點(diǎn),是一種用于工業(yè)自動化的實(shí)時、高速以太網(wǎng)通信協(xié)議。EtherCAT 協(xié)議使用全雙工100 Mbps以太網(wǎng),系統(tǒng)由一個通信主站和若干從站通信節(jié)點(diǎn)組成,主站發(fā)送以太網(wǎng)幀給各從站,從站從數(shù)據(jù)幀中抽取數(shù)據(jù)或?qū)?shù)據(jù)插入數(shù)據(jù)幀。主站使用標(biāo)準(zhǔn)的以太網(wǎng)控制器,協(xié)議和驅(qū)動程序由軟件實(shí)現(xiàn),從站通信節(jié)點(diǎn)使用專門的EtherCAT 從站控制器。
本文設(shè)計(jì)了CAN 總線主站協(xié)議轉(zhuǎn)換為EtherCAT 從站協(xié)議的協(xié)議轉(zhuǎn)換網(wǎng)關(guān)設(shè)備(以下簡稱CAN/EtherCAT協(xié)議轉(zhuǎn)換網(wǎng)關(guān)),實(shí)現(xiàn)了工業(yè)自動化現(xiàn)場CAN 總線通信設(shè)備與EtherCAT 主站控制系統(tǒng)的互連通信。
CAN/EtherCAT 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)存在兩個方向的外部接口,對上通過以太網(wǎng)與EtherCAT 主站進(jìn)行數(shù)據(jù)交換,通信協(xié)議符合EtherCAT 實(shí)時工業(yè)以太網(wǎng)技術(shù)規(guī)范要求;對下與CAN 總線從站設(shè)備實(shí)現(xiàn)通信,包括實(shí)時數(shù)據(jù)通信、故障診斷恢復(fù)和冗余切換處理等。系統(tǒng)總體的網(wǎng)絡(luò)架構(gòu)如圖1所示。
圖1 系統(tǒng)總體網(wǎng)絡(luò)架構(gòu)
CAN/EtherCAT 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)硬件包括EtherCAT從站協(xié)議控制器、從站MCU、CAN 總線協(xié)議控制器等。EtherCAT 協(xié)議控制器實(shí)現(xiàn)EtherCAT 的物理層與數(shù)據(jù)鏈路層的協(xié)議。從站MCU 主要負(fù)責(zé)運(yùn)行用戶的應(yīng)用程序,實(shí)現(xiàn)EtherCAT 和CAN 總線協(xié)議之間的協(xié)議及數(shù)據(jù)轉(zhuǎn)換。CAN 總線協(xié)議控制器實(shí)現(xiàn)CAN 總線的物理層與數(shù)據(jù)鏈路層的協(xié)議。
考慮到實(shí)際應(yīng)用中,開發(fā)成本及軟硬件設(shè)計(jì)的實(shí)現(xiàn)復(fù)雜度,EtherCAT 從站協(xié)議控制器選用ET1100。ET1100是一款強(qiáng)大的EtherCAT 從站控制器ESC 專用芯片,具有豐富的接口資源。它具有4個數(shù)據(jù)收發(fā)端口、8個FMMU 單元、8個SM、4KB控制寄存器、8KB過程數(shù)據(jù)存儲器、支持64位的分布時鐘。
從站MCU 選用LPC2292芯片。LPC2292是一款基于16/32位ARM7TDMI-S核,支持實(shí)時仿真和跟蹤的MCU。LPC2292自帶2路高級CAN 總線通道,可節(jié)省設(shè)計(jì)成本。
CAN/EtherCAT 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)主要由通信控制回路、Ethernet 回路、CAN 總線回路3 部分電路構(gòu)成。CAN/EtherCAT 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)硬件框圖如圖2所示。
圖2 EtherCAT/CAN協(xié)議轉(zhuǎn)換網(wǎng)關(guān)硬件框圖
在EtherCAT 回路中,EtherCAT 協(xié)議控制器ET1100可選擇使用SPI或8 位、16 位總線與LPC2292 連接。ET1100的相關(guān)信息保存在EEPROM 中。數(shù)據(jù)收發(fā)端口使用PORT0和PORT1,采用MII方式連接PHY 芯片,經(jīng)過網(wǎng)絡(luò)變壓器隔離,通過RJ45接口與主站或其他從站連接。
通信管理控制回路由MCU(LPC2292)、狀態(tài)顯示電路、外部存儲器及單片機(jī)外圍電路構(gòu)成。CAN/EtherCAT協(xié)議轉(zhuǎn)換網(wǎng)關(guān)的配置信息、通信數(shù)據(jù)使用256 KB 外部RAM 或F-RAM 存儲,可以顯示運(yùn)行狀態(tài)和通信狀態(tài)等信息。
CAN 總線第3方通信協(xié)議中,使用LPC2292的內(nèi)置CAN 總線控制器,可根據(jù)需要使用1 路或2 路CAN 總線。為了提高CAN/EtherCAT 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)的電磁兼容性EMC,使用高速光耦對CAN 總線通信信號進(jìn)行隔離。
CAN/EtherCAT 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)軟件由EtherCAT 從站通信處理模塊和CAN 總線主站通信處理模塊組成。CAN/EtherCAT 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)軟件在功能上實(shí)現(xiàn)Ether-CAT 從站通信協(xié)議和CAN 總線主站通信協(xié)議功能。
CAN/EtherCAT 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)軟件基于不帶操作系統(tǒng)的硬件平臺,采用C 語言編寫。應(yīng)用程序各任務(wù)串行執(zhí)行,可以直接操作硬件的中斷和定時器,保證了任務(wù)執(zhí)行的速度和系統(tǒng)的性能。
2.中國國際稅收遵從管理能力的挑戰(zhàn)。AP-BEPS的最終目標(biāo)是通過跨境稅收活動的合規(guī)管理,避免國際雙重不征稅。在高速全球化時代,跨境活動量呈指數(shù)式上升,要促進(jìn)納稅人跨境稅收活動的合規(guī),這對于發(fā)展中國家中國的國際稅收遵從管理能力更是一個嚴(yán)峻挑戰(zhàn)。
EtherCAT 協(xié)議數(shù)據(jù)直接使用以太網(wǎng)數(shù)據(jù)幀傳輸,數(shù)據(jù)幀類型為0x88A4。數(shù)據(jù)區(qū)最大可達(dá)1 498字節(jié)。數(shù)據(jù)區(qū)由1個或多個EtherCAT 子報(bào)文組成,每個子報(bào)文對應(yīng)獨(dú)立的設(shè)備或從站存儲區(qū)域。EtherCAT 從站子報(bào)文幀結(jié)構(gòu)如圖3所示。
圖3 EtherCAT從站子報(bào)文幀結(jié)構(gòu)
每個EtherCAT 子報(bào)文包括子報(bào)文頭、數(shù)據(jù)區(qū)和相應(yīng)的工作計(jì)數(shù)器(Working Counter,WKC)。發(fā)送子報(bào)文的WKC初始值為0,子報(bào)文被CAN/EtherCAT 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)正確處理后,增加一個增量,主站根據(jù)WKC是否正確,來判斷該子報(bào)文是否被正確響應(yīng)。
EtherCAT 從站通信處理模塊實(shí)現(xiàn)與EtherCAT 主站之間的通信,EtherCAT 從站通信處理模塊以EtherCAT從站控制器為核心,從站協(xié)議控制器實(shí)現(xiàn)EtherCAT 數(shù)據(jù)的接收、發(fā)送以及錯誤處理。從站MCU 操作EtherCAT從站協(xié)議控制器,實(shí)現(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ù)進(jìn)行相應(yīng)的邏輯處理,然后產(chǎn)生輸出控制信號,發(fā)送到輸出設(shè)備。EtherCAT 協(xié)議的狀態(tài)機(jī)通信模式很好地解決了這個問題,保證了通信的安全可靠。
CAN/EtherCAT 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)支持4 種狀態(tài):初始化(Init)、預(yù)運(yùn)行(Pre-Operational)、安全運(yùn)行(Safe-Operational)和運(yùn)行(Operational)。各狀態(tài)之間的轉(zhuǎn)換關(guān)系如圖4所示。狀態(tài)機(jī)依次在不同的狀態(tài)及狀態(tài)轉(zhuǎn)換期間完成不同的任務(wù)。
圖4 EtherCAT從站狀態(tài)轉(zhuǎn)換圖
CAN/EtherCAT 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)處于初始化狀態(tài)時,主站初始化EtherCAT 從站控制器的一些配置寄存器、配置郵箱通道參數(shù)。預(yù)運(yùn)行狀態(tài)下,CAN/EtherCAT 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)與主站使用郵箱通信交換通信配置信息,此時,不允許過程數(shù)據(jù)通信。安全運(yùn)行狀態(tài)下,CAN/EtherCAT協(xié)議轉(zhuǎn)換網(wǎng)關(guān)應(yīng)用程序讀入輸入數(shù)據(jù),但不產(chǎn)生輸出信號,設(shè)備無輸出,處于“安全狀態(tài)”。運(yùn)行狀態(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)生輸出信號。
CAN 總線主站通信處理模塊主要實(shí)現(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)到運(yùn)行狀態(tài)。此時,輸出數(shù)據(jù)有效,CAN 總線主站通信處理模塊發(fā)送輸出數(shù)據(jù)到相關(guān)CAN 總線從站設(shè)備。所有的從站一輪掃描結(jié)束后,判斷統(tǒng)計(jì)是否有從站出現(xiàn)通信故障,并進(jìn)行相應(yīng)的處理。
EtherCAT 協(xié)議使用對象字典實(shí)現(xiàn)標(biāo)準(zhǔn)的參數(shù)信息配置和輸入、輸出數(shù)據(jù)讀寫操作,每個對象字典有一個主索引和多個子索引。在CAN/EtherCAT 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)采用協(xié)議轉(zhuǎn)換網(wǎng)關(guān)和CAN 總線從站設(shè)備的多級對象字典設(shè)計(jì)模式,如圖5所示。
圖5 多對象字典設(shè)計(jì)模型
CAN/EtherCAT 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)和CAN 總線從站設(shè)備1的對象字典輸出數(shù)據(jù)(RxPDo)的主索引為十六進(jìn)制數(shù)據(jù)0xl600~0xl6FF,每個輸出主索引的子索引為0x7xx0~0x7xxF,最多16個子索引;輸入(TxPDo)的主索引為十六進(jìn)制數(shù)據(jù)0xlA00~0xlAFF,每個輸入主索引的子索引為0x6xx0~0x6xxF,也是最多16個子索引。每個CAN 總線從站設(shè)備通信配置信息主索引為0x8xx0~0x8xxF。CAN 總線主站通信參數(shù)對象字典主索引為0xF800。CAN/EtherCAT 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)和CAN 從站設(shè)備的PDo對象字典映射關(guān)系如圖6所示。
圖6 CAN/EtherCAT協(xié)議轉(zhuǎn)換網(wǎng)關(guān)PDO 對象字典映射關(guān)系圖
EtherCAT 主站采用Beckhoff公司的TwinCAT 軟件,與4個CAN/EtherCAT 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)進(jìn)行通信,采用wireshark網(wǎng)絡(luò)封包分析軟件,擷取EtherCAT 網(wǎng)絡(luò)通信報(bào)文幀,共擷取10 次,每次1 萬幀。TwinCAT 軟件與CAN/EtherCAT 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)全部數(shù)據(jù)刷新時間如圖7所示。當(dāng)輸入數(shù)據(jù)為128字節(jié)、輸出數(shù)據(jù)為100字節(jié)時,通過對擷取的請求報(bào)文時間戳和響應(yīng)報(bào)文時間戳進(jìn)行差值計(jì)算得出:TwinCAT 主站軟件與CAN/EtherCAT 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)之間報(bào)文平均響應(yīng)時間為200μs左右。CAN/EtherCAT 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)具有較高的可靠性、安全性和快速響應(yīng)特性。CAN 總線主站與CAN 總線從站設(shè)備通信波特率設(shè)為1 Mbps,一般一幀報(bào)文為8個字節(jié)有效數(shù)據(jù),數(shù)據(jù)幀刷新時間平均為2ms。
圖7 CAN/EtherCAT協(xié)議轉(zhuǎn)換網(wǎng)關(guān)數(shù)據(jù)刷新圖
TwinCAT 軟件與CAN/EtherCAT 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)全部數(shù)據(jù)刷新時間取決于TwinCAT 軟件報(bào)文掃描周期和CAN 總線從站設(shè)備的數(shù)量、數(shù)據(jù)的多少。假設(shè)每個CAN/EtherCAT 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)下面連接10個CAN 總線設(shè)備,每個設(shè)備的數(shù)據(jù)為16字節(jié),那么所有CAN 總線數(shù)據(jù)掃描一周的時間為40ms。
CAN/EtherCAT 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)通過LPC2292實(shí)現(xiàn)了EtherCAT 協(xié)議控制器與CAN 總線控制器之間的協(xié)議轉(zhuǎn)換和數(shù)據(jù)交換,解決了EtherCAT 實(shí)時工業(yè)以太網(wǎng)與CAN 總線之間通信的互聯(lián)問題,保證了CAN 現(xiàn)場總線設(shè)備數(shù)據(jù)可以更加高效、快速地傳遞到EtherCAT 中央監(jiān)控系統(tǒng)中。
編者注:本文為期刊縮略版,全文見本刊網(wǎng)站www.mesnet.com.cn。
[1]郇極,劉艷強(qiáng).工業(yè)以太網(wǎng)現(xiàn)場總線EtherCAT 驅(qū)動程序設(shè)計(jì)及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2010.
[2]劉澤祥,閆曉宇,王榮.現(xiàn)場總線技術(shù)[M].北京:機(jī)械工業(yè)出版社,2011.
[3]施大發(fā),劉建林,王輝,等.一種高性能EtherCAT 實(shí)時以太網(wǎng)從站的設(shè)計(jì)[J].湖南師范大學(xué)自然科學(xué)學(xué)報(bào),2011,34(3).
[4]王磊,李木國,王靜,等.基于EthercAT 協(xié)議現(xiàn)場級實(shí)時以太網(wǎng)控制系統(tǒng)研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(7).
[5]馬軍賢,周侗,楊志家,等.EtherCAT 從站的設(shè)計(jì)與實(shí)現(xiàn)[J].自動化與儀表,2011(8).
[6]EtherCAT TechnologyGroup.ETG5001_3_V0i1i1_S_D_M(jìn)DP_Gateways.pdf.V0.1.1[EB/OL].[2012-10-23].http://www.ethercat.org.cn/MemberArea/Download/PDF/.