文|浙江中控研究院有限公司 黃巖峰 張軍凱 謝燦華 金偉江 朱 練
現場總線已經在工業自動化領域獲得廣泛應用;近年來,隨著工業過程信息技術的發展,傳統的現場總線技術在許多應用場合已經難以滿足用戶不斷增長的需求。基于以太網的通信技術是工業自動化領域的發展方向所在;與傳統的現場總線技術相比,工業以太網技術具有應用廣泛、軟硬件資源豐富、實時性強、易于與Internet或工業控制網絡連接等諸多優點。目前,工業以太網技術已成為工業應用領域中的一個研究熱點。
由于歷史原因,工業過程控制領域存在多種各具特色的通信協議,目前主要的工業以太網標準有Modbus/TCP、EtherNet/IP、PROFINET、Powerlink、EtherCAT以及我國的EPA等多種。工業過程信息化與自動化要求使用這些不同協議的裝備、傳感器、儀器能夠實現互聯,這就需要解決不同協議之間信息傳送的問題。
協議轉換要求能夠完整、正確地對不同協議標準的數據進行解析和封裝,同時響應迅速,滿足實時性和安全性要求。基于精簡指令集(RISC)架構的ARM微處理器指令執行效率高,外圍擴展電路豐富,能夠滿足實時多任務的要求。因此,本文基于ARM7技術,設計了EtherCAT與Modbus/TCP的工業以太網協議轉換卡,以期解決不同現場總線系統之間互通互連的問題,為企業實現異構系統的綜合自動化監控奠定基礎。
EtherCAT(Ethernet for Control Automation Technology)是德國Beckhoff公司開發的一種實時工業以太網現場總線技術。該技術在以太網報文經過EtherCAT從站時利用專門的控制芯片直接提取或插入相應的編址數據,同時將報文傳輸給下一個EtherCAT從站,省去了對接收到的以太網報文進行存儲、解碼、提取過程數據并復制到各個設備的過程,從而大幅降低了數據任務處理量,同時提高了網絡帶寬的利用率,縮小了通信總線傳輸的延遲(整個過程中報文只有幾納秒的時延)。
EtherCAT使用標準的以太網數據報文格式傳輸,無任何數據壓縮;以太網類型使用特定的0x88A4,因此其數據幀可以通過任何以太網MAC發送。EtherCAT數據的報文結構如圖1所示。一個EtherCAT幀中可以包含若干個EtherCAT報文,每個報文都服務于一塊邏輯過程映射區的特定內存域,該區域最大存儲量可達4GB。數據傳輸時,報文幀頭中的命令讀取或寫入數據到報文指定位置;同時,從站硬件令該報文的工作計數器加1,表示該數據被處理。EtherCAT報文在單個以太網幀中最多可以實現1486個字節的分布式過程數據通信。
Modbus是Modicon公司最早提出的串行鏈路通信協議;Modbus/TCP協議則是此后Schneider公司基于TCP/IP以太網推出的,問世后迅速成為了工業自動化領域的標準協議。

圖1 EtherCAT數據報文格式示意圖
Modbus協議本身基于主從模式,即通信雙方一方為Master,一方為Slave,雙方不能互換角色。Modbus協議數據由四部分組成。
(1)地址域
地址域的長度為一個字節,包含從站地址,有效地址范圍為0~247(地址0用于廣播)。從站在自身地址與數據包裹中的地址匹配時,作出響應。
(2)功能碼域
功能碼域的長度為一個字節,用于通知從站執行何種操作。
(3)數據域
數據域長度不定,由具體應用決定;采用大端模式,高字節在前,低字節在后。
(4)校驗域
校驗域的長度為兩個字節,采用CRC-16校驗。
Modbus/TCP協議的應用層采用Modbus協議;傳輸層使用TCP協議,并使用502端口;網絡層使用IP協議,使得Modbus/TCP既可以在局域網中使用,也可以在廣域網中使用。目前Modbus/TCP協議在以太網中的傳輸速度為10M/100M。
Modbus/TCP采用標準以太網報文格式。用戶數據首先在應用層封裝,該層包括MBAP頭、功能碼、數據部分,其中MBAP頭中包含了協議相關的事務標識符、協議標識符、數據長度以及Modbus協議中的地址域信息(校驗域由于以太網報文本身已有校驗功能而略去);然后在應用層之外再加上20字節的TCP報頭,20字節的IP報頭,26字節的MAC幀頭、幀尾,12字節的以太網報頭、報尾,構成完整的以太網報文(最大報文長度為338字節,最小報文長度為87字節)。Modbus/TCP以太網報文封裝如圖2所示。

圖2 Modbus/TCP以太網報文格式
硬件電路設計主要涉及基于NXP公司的LPC2478的ARM7最小核心系統、EtherCAT接口電路、以太網接口電路、CAN接口電路、RS485和RS232電路等。LPC2478是16/32位的ARM7TDMI-S CPU內核的控制器,擁有512kB的片內高速Flash、98kB的內部SRAM,CPU時鐘頻率可達72MHz,非常適合于通信網關和協議轉換器場合。圖3即整個系統的框架圖。

圖3 協議轉化卡結構框架
如圖3所示,系統硬件電路主要由以下幾部分組成:
◆電源轉換部分采用專門的電源管理芯片將+5V電壓轉換為+3.3V(LPC2478以+3.3V供電),為ARM7芯片數字和模擬部分提供電源;
◆時鐘電路采用12MHz的有源晶振或無源晶振作為系統主時鐘;可以通過LPC2478內部的鎖相環電路實現時鐘倍頻功能,使最高時鐘頻率達到72MHz;
◆看門狗電路采用專門的硬件產品,以提高系統可靠性;若CPU在1.6s內沒有將看門狗清零,系統即復位;
◆JTAG和ISP接口采用ARM公司的標準邊界掃描接口,可將用戶程序下載到Flash中編譯調試;通過ISP接口可實現在系統編程。
(1)EtherCAT接口電路
EtherCAT接口電路主要由從站控制芯片ET1100構成。ET1100是Beckhoff公司開發的EtheCAT從站控制器專用芯片,帶有四路物理層接口,支持MII和EBUS兩種類型接口,在硬件上實現了EtherCAT協議的數據鏈路層,并可以很容易地實現級聯。LPC2478通過片上外部存儲器控制器(EMC)與EtherCAT控制專用芯片ET1100連接,并通過16位并行總線對其內部DPRAM進行數據存取。EtherCAT硬件電路如圖4所示。

圖4 EtherCAT硬件接口電路
(2)以太網接口電路
LPC2478內部集成了MAC控制器,可以方便地擴展以太網接口電路。接口電路主要由外部PHY接口芯片、網絡變壓器等組成。PHY接口芯片采用DP83848,可以實現10/100M通信速率,同時也支持MII或RMII接口方式;網絡變壓器則實現電平隔離和轉換,并通過RJ45接口連接上位機或現場總線設備。LPC2478與物理層器件的接口電路如圖5所示。

圖5 LPC2478以太網接口電路
(3)擴展功能電路
協議轉換卡也設計有CAN、RS485、RS232接口電路,可支撐功能擴展。LPC2478內部有兩路CAN控制器,每路控制器均提供了CAN收發引腳,為了適應于工業應用環境,CAN控制器外部仍需擴展隔離收發電路才能構成CAN節點。隔離收發電路采用了集成的收發模塊CTM1050,實現了電平轉換與隔離。RS485和RS232接口電路提供串口通信功能。
協議轉換卡主要用于以太網功能擴展,圖6為其功能框圖。EtherCAT協議的實現基于主從站模式,從站部分功能作為嵌入式實時操作系統的任務實現數據區交互,其中交互區數據直接映射至EtherCAT從站控制器雙口RAM中,主站可在掃描周期內實時讀取。Modbus/TCP協議的實現基于客戶端/服務器模式,客戶端以固定周期(20ms)循環讀取服務端數據并將之存儲于數據I/O交互區,其中TCP/IP協議棧可以采用硬件或軟件實現。

圖6 程序功能框圖
以傳輸30個點的AI數據(數據值為0x00AA)測試為例,TwinCAT組態軟件作為EtherCAT主站,發送下行讀取數據報文,Modbus Slave軟件作為Modbus/TCP服務端模擬上傳的AI數據,協議轉換卡分別作為EtherCAT的從站和Modbus/TCP的客戶端。在上位機主站觀測到的,讀取的30個AI數據的EtherCAT報文如圖7所示,其中EtherCAT應答報文格式完全符合以太網標準且類型為0x88A4,數據區也正確提取了服務端的30個AI數據。

圖7 協議轉換卡通信報文
選取兩個通道分別接收模擬信號輸入和開關量信號輸入,協議轉換卡通過普通以太網連接異構網絡中的Modbus/TCP協議模塊,由其采樣模擬和數字信號量,并經協議轉換卡上傳至EtherCAT主站。模擬通道輸入信號為正弦電壓信號,幅值100mV,頻率1Hz。信號經協議轉化卡上傳至EtherCAT主站后,通過TwinCAT自帶的Scope View軟件觀測到的,采集數據的波形如圖8所示;可以看到,在上位機上觀測到的波形與模擬端輸入信號一致。開關量輸入信號為數字DI信號,開關變化周期為1s;通過上位機觀測軟件觀測到的數據波形如圖9所示。由此可以驗證,協議轉換卡滿足了數據采集的準確性、完整性和連續性的要求。

圖8 模擬輸入通道觀測波形

圖9 數字輸入通道觀測波形
近些年,隨著以太網技術廣泛地應用于工業自動化通信領域,控制系統數據傳輸的帶寬與實時性得到了極大的提升;然而,多種現場總線協議并存的現狀給工業過程控制中的設備互聯與信息互通造成了很大的困難。EtherCAT與Modbus/TCP作為具有代表性的現場總線協議標準,在工業中得到了廣泛的應用。本文具體研究了基于EtherCAT與Modbus/TCP的工業以太網協議轉換卡的設計與實現,并通過實測,驗證了該協議轉換卡可以實現上述兩種異構網絡之間的雙向通信,其性能滿足工業過程協議轉換的實時性和準確性要求。該協議轉換卡實際產品已經獲得了成功應用。