靖 娟 金衛鳳
(①江西制造職業技術學院,江西 南昌 330095;②江蘇大學機械工程學院,江蘇 鎮江 212013)
隨著工業自動化技術的不斷發展,制造設備應用網絡化、智能化、實時性的工業系統方案成為趨勢,工藝現場對數據傳輸的完整性、強實時性和低抖動性的要求越來越高。工業以太網現場總線EtherCAT 作為新興的現場總線技術被越來越多的應用到制造業設備運動系統的控制[1],發揮其通信實時[2]、傳輸速率快、拓撲結構靈活[3-4]和數據容量大等顯著優點[5-6],在全雙工下數據傳輸下每個從站設備都會以小于100 μs 的周期實時處理數據,多應用在高端運動控制或電力電子應用中的快速控制回路[7],研究補償算法優化主從站時鐘偏差,實現分布式現場從站設備間的實時精確同步控制應用[8],如機器人和數控機床在內的多軸運動控制系統及數字量模塊對信號的響應。
本文以數控機床加工過程中對數字量信號的檢測處理為研究對象,將EtherCAT 實時以太網技術引入到分布式數字量模塊中,提出1 種基于嵌入式通信芯片ET1100 的EtherCAT 從站數字量模塊設計實現方法,并結合機床加工過程中的量刀功能測試,驗證設計的數字量模塊對信號的檢測實現數據交互滿足機床量刀功能需求。
對于EtherCAT 通信協議的實現目前存在使用FPGA 芯片編程實現通信協議中ESC 功能[9],即根據從站在通信鏈路的位置進行傳輸EtherCAT 數據幀的解析讀寫工作。但單獨在FPGA 上按照ESC 功能自主編程實現EtherCAT 通信協議棧邏輯,配置專用網絡適配器及安全功能單元[10],難度大,開發周期長,用于數字量模塊開發上性價比不高。
因此設計EtherCAT 總線數字量從站模塊,需保證能將主站端下發的配置數據與控制數據正確接收后完成配置并進行數據交互,選擇微控制器內部封裝集成ESC 芯片,將專門處理EtherCAT 通信數據幀的協議芯片與邏輯處理的控制器集成在同一片芯片內部實現數據的傳輸,硬件設計上只需要關注在物理層數據傳輸接口和用戶功能電路的設計,可降低硬件設計難度。
根據所選從站控制器方案,設計模塊硬件整體結構如圖1 所示。

圖1 硬件系統方案框架圖
數字量模塊硬件設計以太網通信口RJ45 經網絡變壓器后與數據物理層PHY 芯片通信,支持數字量模塊在現場設備組網中線性連接,完成EtherCAT數據幀在通信物理層進行傳輸。網絡變壓器的作用是把PHY 芯片轉發出來的差分信號用差模耦合的線圈濾除差模信號以增強信號傳輸,還可以隔離不同電壓網絡設備之間的影響。
控制芯片硬件具備以下特點:雙端口內存DPRAM、數據傳輸通道的同步管理器SM(sync manager)、存儲器管理單元FMMU、支持周期過程數據的配置和邏輯數據區域映射關系的建立。通信物理層數據傳輸PHY 芯片選用KSZ8081 型號,支持標準MII 串行接口,與控制芯片實現EtherCAT協議數據幀的數據交互。在用戶應用層進行數據邏輯處理,通過控制GPIO 外設將控制數據傳輸至數字量信號輸出通道,同時檢測數字量輸入通道狀態,完成數據交互,實現模塊功能。
EtherCAT 數字量模塊設計選擇內部集成協議處理芯片的單顆控制器方案,因此硬件電路設計中只需關注與物理層數據收發芯片PHY 和用戶應用功能的電路設計即可。
1.2.1 控制芯片和PHY 通信設計
控制器和物理層數據收發芯片PHY 之間的硬件線路如圖2 所示,模塊內實現與PHY 通信驅動后,當數據幀經MII 總線到達PHY 芯片后會自動收發至對應數據區域。

圖2 控制芯片與PHY 通信
1.2.2 數字量模塊輸入輸出電路設計
作為EtherCAT 總線通信的數字量模塊,在機床實際加工過程中主要是對外部信號的輸入通道檢測,和外部執行機構的輸出信號的控制。輸入輸出通道在模塊上以端子板的形式提供給用戶接線使用,設計輸出控制電路和輸入檢測電路如圖3 和圖4 所示,對信號存在濾波和隔離,保證信號穩定,防止信號失真。

圖3 輸入信號檢測電路

圖4 輸出信號控制電路
1.2.3 讀寫EEPROM 電路
數字量模塊內部存在如版本號、校驗信息、通信配置信息等,以支持標準EtherCAT 主站的自動掃描與重啟等功能,因此該模塊需支持掉電保持存儲區域EEPROM 的讀寫操作,具有掉電存儲屬性的數據對象由EEPROM 保存,設計操作EEPROM電路如圖5 所示。

圖5 EEPROM 操作電路
1.2.4 電壓轉換電路
數字量模塊電源設計是24 V 直流電進入后會給硬件設計中的元器件進行供電,內部控制器和EEPROM 工作電壓均是3.3 V,輸入輸出通道的電壓則是24 V,為了提高電壓轉換效率,設計電壓轉換電路,如圖6 和圖7 所示,將24 V 電壓經過兩次電壓轉換至3.3 V,轉換成各元器件工作所需的低電壓。

圖6 帶隔離24 V 轉5 V 電路

圖7 5 V 轉3.3 V 電路
模塊內部軟件邏輯主要實現兩部分功能,一是基于片上資源及外設實現功能邏輯;二是實現EtherCAT應用層協議棧和從站狀態機切換。因此在軟件設計架構上采用分層和模塊化的設計思路將軟件分為兩層:驅動層和應用層,軟件程序分為主循環程序和中斷服務函數程序[11],根據實現功能應用又將應用層劃分為用戶邏輯處理和協議數據處理,實現整個數字量模塊的控制,如圖8 所示。

圖8 軟件架構設計
驅動層中串口驅動用作調試與固件升級;中斷驅動中進行數據幀的讀寫和邏輯處理;定時器驅動中計數,作為模塊狀態顯示指示燈閃爍頻率的控制;以太網驅動即控制芯片通過標準RJ45 網口進行數據收發。
用戶邏輯處理具有協議棧處理模塊、數字量通道控制模塊、外設初始化模塊。通道控制模塊包含通道信號狀態、通道輸出控制和輸入反饋處理模塊[12]。協議數據處理中只有 EtherCAT 從站狀態機和對輸入輸出信號量進行周期處理;微處理器從數據存儲區讀取主站發送給從站的數據,從站也會將現場檢測反饋數據與狀態寫入到ESC 中的數據存儲區中,如圖9 實現主從通信的數據傳輸。

圖9 協議數據交互流向
數字量模塊上電后進行外設初始化、驅動使能、參數配置通信建立等操作后與主站端建立通信,進入通信狀態機處理非周期任務的主循環和周期數據刷新的中斷任務,模塊軟件主程序執行流程如圖10 所示。

圖10 主程序執行流程圖
數字量模塊與主站建立通信后,應用程序會在主站數據幀到達并接收完進入緩存區后觸發中斷,進入中斷服務函數調用過程數據處理函數,將主站端控制數據從緩存區取出,進行數字量輸出邏輯處理后,將數字量輸入反饋數據和相應邏輯處理結果寫入輸出對象數據區域中,完成模塊控制對象的數據交互。當主從站通信建立后,便會按照設置的同步周期數值大小周期性進行上述流程實現數據對象的周期傳輸。數據幀交互和過程數據處理流程如圖11、12 所示。

圖11 周期數據對象處理流程圖

圖12 過程數據周期傳輸示意圖
將數字量輸入輸出模塊與EtherCAT 主站Twin CAT 連接[13],上電后使用TwinCAT 軟件進行組態掃描,掃描到設備后能與從站設備建立通信,使得從站模塊進入運行狀態。
為試驗驗證此時通信建立與數據刷新的正確性,提前在模塊軟件邏輯中對初始輸入反饋進行直接賦值操作,如圖13 所示。

圖13 模塊過程數據對象賦值
在建立通信后在TwinCAT 軟件界面可以看到此時主站端實時接收到從站模塊反饋的輸入值,即是從站代碼中預置反饋值。
使用TwinCAT 主站對輸出控制值寫入數值,如圖14 所示,數據交互過程可知當數據傳輸到從站后經中斷函數處理,在同一周期內將反饋數值回復到主站端;如圖15 所示,主站接收到的反饋數值滿足從站內軟件執行流程,可知當前設計開發的從站數字量模塊的數據對象定義,數據讀寫傳輸功能均正常。

圖14 模塊建立通信與數據反饋

圖15 數據讀寫正常
數字量模塊數據處理的同步性,會使得當前控制數據和反饋數據能在同一個通信周期內與主站進行交互,滿足指令響應一致性、狀態反饋及時性[14]。應用在機床加工過程中對測量刀徑的數字量信號檢測和反饋的實時性對量刀功能的準確性具有重要作用,因此需要對數字量模塊響應主站數據幀的同步性進行試驗分析。
當主站與數字量模塊建立通信后,主站在每個通信周期內依次對數字量模塊對象字典變量交替寫入數值1 和0,即控制模塊輸出通道產生交替高低電平,使用示波器測量模塊當前輸出通道口電平信號的翻轉變化頻率是否支持和主站在相同同步周期實時刷新。結果圖16、圖17 所示。

圖16 主站設置通信周期500 μs

圖17 主站設置通信周期1 000 μs
試驗結果表明,從站端在中斷代碼邏輯中能實時響應控制數據,同時控制對應的輸出通道進行對應電平的轉換,輸出通道電平刷新時間與主站端設置同步周期刷新數據時間一致,則可知設計開發的從站模塊數據實時性精度滿足同步控制要求[15],對信號量刷新頻率滿足機床加工現場應用需求[16]。
在數控機床加工中,各運動軸上刀具隨著加工過程的進行均會存在一定程度的磨損。當機床刀具磨損加劇后會嚴重影響加工效率和表面精度,因此在機床加工控制系統中結合開發的數字量模塊,設計出測量刀具磨損量的方法,支持用戶對刀徑進行測量,得到當前刀具磨損量以判斷是否需要換刀。
3.3.1 機床量刀試驗方案
將EtherCAT 總線數字量模塊接到機床控制系統組網中,經刀具表面遮擋后變化的傳感器信號量作為模塊輸入檢測信號。使用示波器對機床運動過程中刀具運行至量刀信號有效區域范圍內的數字量檢測輸入信號變化的波形,如圖18 所示。

圖18 量刀信號變化圖
機床控制軸運動至量刀信號檢測區域時,刀具自身在旋轉,刀齒進入信號測量區域時信號會實時變化,等到刀身完全進入到信號測量區域遮擋住信號時檢測信號狀態處于穩定,當刀具運動逐漸離開信號測量區域時量刀信號再次出現跳變,因此測量刀具進入信號檢測區域到離開信號檢測區域移動的距離,即此時刀具的直徑大小。
3.3.2 機床量刀計算方法
根據量刀區域信號量變化的波形可知,當檢測到數字量信號變化的第1 個上升沿,即刀具進入量刀區域,和信號量變化的最后1 個下降沿,即刀具離開量刀區域,檢測狀態隨數據幀反饋至主站作為觸發信號,讓主站在同一通信周期內鎖存機床控制軸運動方向的驅動器實時位置值。
如圖19 所示,測量軸在T1時刻進入測量區域,軸反饋位置是S1(脈沖計數);軸在T2時刻離開測量區域,軸反饋位置是S2(脈沖計數)。

圖19 機床加工試驗
此時數控機床上軸運動采用的是外部光柵尺作為位置反饋信號,光柵尺參數是脈沖計數N為25 000時,機床加工平面軸運行導軌的行程P是10 mm,由軸運動位移計算刀具直徑D公式如下:
根據此時測量刀徑值計算與刀具原直徑值的差值,即此時加工刀具的磨損量。
3.3.3 機床量刀測試結果
使用上述機床量刀測試方案在軸速1.5 mm/s 下進行量刀功能試驗,結果見表1。

表1 機床量刀測試結果
已知當前機床主軸刀徑為3.175 mm,根據表1刀徑測試結果計算磨損量可知此時機床加工刀具的磨損量平均值是0.034 7 mm。因為刀齒在各方向的磨損不定,因此不能簡單使用測量工具對刀徑某方向進行測量,選擇將刀具放入德國數控系統SIEB &MEYER 中進行量刀功能測試,得到刀徑測量值范圍是3.142~3.155 mm,計算刀具磨損量0.020~0.033 mm,與采用數字量模塊反饋信號觸發鎖存軸位置值的測量方案計算得到的磨損量之間誤差最大值為14.7 μm,滿足機床量刀功能需求。
本文基于EtherCAT 總線開發設計數字量從站模塊,從模塊整體方案,硬件設計和軟件程序執行流程對模塊的開發過程進行研究,并通過與TwinCAT主站配合驗證建立通信與數據傳輸的正確性,確認研發設計的EtherCAT 通信數字量模塊在通信建立,數據傳輸、邏輯處理等功能均使用正常,且將開發的數字量模塊通信實時性應用在機床加工過程中測量刀具的磨損量,測量結果誤差14.7 μm,滿足工藝需求。
后期可擴大數字量模塊在機床加工中的應用場景,如硬件限位信號檢測、水閥氣閥控制等操作上,同時也可將該模塊開發設計思路應用在其他信號類型模塊開發上,如總線式模擬量模塊、溫度檢測模塊等,以適用機床不同工藝加工場景下的應用需求。