劉釗


摘要:結合實例介紹了基于Ethercat通訊下的軋機控制系統。文章分析了Ethercat的基本原理,研究了軋機的工作原理,繪制了軋機通訊的拓撲結構,并分析了基于LinuxCNC的軋機控制系統。
關鍵詞:Linux CNC;軋機;Ethercat原理;自動化控制
一、Ethercat通訊:
EtherCAT是一種基于以太網的總線通訊技術。它集成了傳統現場總線(尤其是Can總線)的通訊優勢和以太網的帶寬優勢,使用了主從模式介質訪問控制。
(一)EtherCat主站采用了國際上通用的IEEE802.3以太網標準。通信控制器完成數據鏈路層的MAC功能,物理層芯片實現時鐘恢復,數據編碼。PHY通過一個介質無關接口為數據鏈路層提供服務。
(二)EtherCat從站則通過從站通信控制芯片處理EtherCat數據幀,通過雙端口儲存器實現EthecCAT主站與從站應用之間的數據交換。各個從站ESC根據各自在環路中的物理順序以報文中提取和發送各自的輸出命令和數據,并將數據儲存到內部儲存區中,同時將存儲區中的輸出數據寫到報文的相應位置上。數據鏈路層硬件完成數據的提取與插入。
二、軋機的Ethercat工作原理:
軋機EtherCAT使用標準的以太網電纜傳輸,整體設計上采用主從式結構。軋機的主站主要負責向從站(包括Bechoff的EK1100從站、軋機9輥各棍的比例閥、位置傳感器等)發送EtherCAT數據幀,從而進行與從站的互動。數據幀經過從站時,相應的從站負責處理幀上的數據,首先讀取報文頭中的指令,得到需要讀寫數據的位置,同時從站核心會把讀取過的報文的工作計數器(WKC)加 1;數據幀循環訪問完所有從站后,最后的一個從站會把經過處理后的數據幀發送給主站。主站收到從站處理的數據幀后,處理返回的數據,一幀通信結束。
(一)從站使用專用的EtherCAT從站控制芯片,主要負責從站的數據傳輸及數據交換。從站的整體構成,可以由多個具有不同功能的從站組成,從而實現不同的通信功能。軋機中不同功能的從站被分為以下幾組:150、155、120、160、140、143、146。其中150組為CNC與PLC的通訊;120組為CNC與軋機泵站P71,P72,P76的通訊;155組為軋機各棍之間通訊的智能從站;160組為手動滾輪的控制;140組、143組、146組為軋機9輥13軸的控制(主要包括各棍的工進、快進控制比例閥以及位置控制傳感器)。
(二)在從站的連接方式上,幀由主站發出后,都按邏輯環型順序經過所有從站并進行相應的數據讀寫,不會在網絡的某一節點產生沖突。軋機的ethercat拓撲為樹形拓撲,詳細結構如下圖:
(三)Ethercat狀態機:為了使主站和從站的應用程序在啟動、運行過程中相互配合、協調,我們需要配置一種狀態裝換機制(簡稱狀態機)。狀態機一共分為 5 個狀態:初始化、預運行、安全運行、運行和引導(可選)。狀態轉化關系見下:
三、軋機linux系統及界面:
軋機是基于Linux及LinuxCNC的,同時具有實時內核和多任務調度的特點。但軋機因其復雜性又有其自身的特點。
(一)硬件組成
軋機CNC“黑盒子”由兩大部分組成:德國控創(Kontron)公司的3U工控機CP-ASM4-POCKET以及倆塊控創的后置卡:CP342及CP3002。其中CP342:快速以太網控制器。基于CPCI總線技術。上面有兩個用于和Ethercat 通訊的RJ45接口。傳輸速度為100Mbit/s。CP3002:英特爾I7處理器板卡。為CNC的核心部件。上面有倆個用RJ45接口。其中一個用于和Draw-PC通訊,一個用于將CNC連入軋線局域網。軋機工控機Draw-PC為西門子IPC847B。通過Beckhoff FC9002通訊卡與CNC相互通訊。
(二) 軟件組成
軋機linuxCNC內核為3.0.9-rt25-1.2-desktop ,處理器類型為i686,硬件平臺為i386。主系統為GNU/Linux(dolphin)。
軋機的用戶操作界面(位于軋機工控機PC-DRAW上)主要有以下4個界面:主控程序 WMRCONT,顯示界面WRMVIEW ,診斷界面WRMDIAG,CNC的連接DRAW server。它主要是將CNC,PLC的一些狀態可視化,便于操作。
軋機的CNC與PC-DRAW通過C類網址通訊,相互訪問。DRAW-PC ip為192.200.1.75.Lunix-CNC網址為192.200.1.1.74。通常情況下,軋機CNC的一些關鍵狀態、位置、IO都可以在DRAW-PC上的用戶操作界面上直觀看出。部分專家級別的診斷信息,如比例閥的前后腔的壓力,閥芯的位置等需要通過Xming來訪問。Xming 的主要功能是通過在Linux平臺上通過交叉編譯的方法,實現了跨越操作系統對X GUI的操作。
(三)LINUX-CNC應用程序
Linux-CNC啟動時,有三個程序是非常重要的。分別為:ethercat,walzprocess及trtif。這三個程序位于文件夾“etc/init.d”下。分別對應名字ethercat,draw及Drawif。
ethercat負責處理主站及從站間數據的通訊以及確定ethercat協議規范。Walzprocess即軋制程序,主要的CNC軋制程序的處理都在該程序中。Trtif 負責LINUX-CNC與DRAW-PC的通訊。兩者間的通訊為TCP/IP協議。
其中trtif與walzprocess通過Linux共享內存模塊來交換數據。
本文結合現場九輥軋機簡述了Ethercat通訊下軋機的控制系統。重點分析了軋機EtherCAT的通訊特點及拓撲結構、 EtherCAT狀態機的相互裝換機制,并了解了基于linuxCNC的軋機控制系統的設計。對于深層次研究和開發基于EtherCAT通訊的軋機控制系統奠定了基礎。
參考文獻:
[1]王國河.基于實時以太網 EtherCAT 的多軸網絡運動控制系統設計[D].廣 州:華南理工大學 ,2012.
[2]Essen,IgH EtherCAT Master1.5 Documentation? Revision, April 30.2010.
[3]馬春敏 ,康存鋒 ,等. 基于Linux EtherCAT主站的研究[J].制造業自動化 ,2011,33(4):78—82.