基于CAN總線的嵌入式數控系統接口設計
摘要:本文提出了一種基于CAN總線的嵌入式數控系統與伺服驅動器等執行機構通信的接口設計,解決了數控系統與伺服驅動器間指令信息傳輸精度及速度等誤差對數控系統性能的影響。該系統接口具有集成度高、智能化程度高、結構與功能可擴展性好、性價比高等特點。
關鍵字:CAN總線;數控系統;C8051F040
1 引言
計算機數控系統結構按其數據傳輸形式可分為數字脈沖式、模擬量式和總線式。數字脈沖式和模擬量式數控結構都存在一個CNC(ComputerNumericalController,計算機數字控制器),用于將CNC軟件傳遞的位置或速度信號轉換成伺服驅動器能夠識別的脈沖量或模擬量信號,由于CNC控制器環節的存在,數據的傳遞和轉換過程就存在模擬量/數字量的轉換以及信號放大等環節,容易造成轉換信號的精度及速度誤差,造成系統的穩定性和抗干擾能力降低,同時也提高了系統成本。總線式數控結構采用數字伺服裝置,沒有CNC控制器構件,系統中傳遞的是數字信號,不存在模數信號的轉換及信號放大,提高了系統的穩定性和抗干擾能力。同時總線結構的開放性和靈活性,使系統的組裝和調試變得簡單,降低了系統成本。總線式數控結構已成為目前市場上中高檔數控系統的主流結構,是未來數控系統發展的必然趨勢。
2 系統結構設計
現場總線支持數據雙向傳輸,線纜簡單,具有傳輸速率高、傳輸距離遠的特點,經過多年的發展,已在工業領域取得了巨大成功。CAN(ControllerAreaNetwork)是德國BOSCH公司開發的,是國際上應用最廣泛的現場總線之一,是一種串行數據通信協議。CAN總線可實現全分布式多機系統,無主機和從機之分;可用點對點、一點對多點以及全局廣播方式收發數據;通信距離最遠可達10Km(傳輸率5kb/s以下),通訊速率最高可達1Mb/s(最長傳輸距離為40m);節點可達110個。由于其具有高可靠性和良好的錯誤檢測能力,被廣泛應用于環境溫度惡劣、電磁輻射強和振動大的工業環境。
基于CAN總線的上述特點,本文設計了一個基于CAN總線的嵌入式數控系統接口設計,其結構示意如圖1所示。這是一種開放式的結構,系統分為主從兩個站,CNC系統為主站,從站為伺服驅動器、變頻器或者可編程控制器等設備組成。CNC系統通過CAN總線發送命令給從站,從站通過現場總線響應CNC系統的命令并通過總線回傳反饋信號。本系統與傳統的數控系統最大的區別就是通信方式的改變,采用CAN總線進行數據通信。
圖1中,CNC系統把每個位置控制周期計算所得的速率、位置增量等數據通過CAN總線以數字量的形式傳送到伺服驅動器,從而實現對伺服電機的轉速及轉動位移量的控制。伺服驅動器的狀態信息也通過CAN總線傳給CNC系統,即CNC系統與伺服驅動器之間是以數字量的形式進行通信的,克服了普通數控系統采用模擬量控制時容易受到外界干擾的問題以及采用脈沖控制時脈沖丟失的現象,保證了系統的完整性。
圖1中CNC系統CAN驅動電路采用C8051F040為核心控制器,實現數控系統的軟件設計。C8051F040是完全集成的混合信號系統級芯片,具有與MCS-51完全兼容的指令內核,采用流水線處理技術,指令以時鐘周期為運行單位,大大提高了指令執行效率。內部集成高性能CAN控制器,可完成對通信數據的成幀處理,包括零位的插入與刪除、數據塊編碼、循環冗余校驗、優先級判斷等處理。與之配套的CAN驅動電路采用TJA1050,它可以實現總線的差動發送與接收功能,并使用光耦進行電氣隔離,具有較高的抗干擾能力。
3 CAN總線通信鏈路設計
工業控制系統一般都要求有高的實時性,這就要求信息處理與傳輸時間應盡可能短。與傳統數控系統相比,總線型數控系統通過主站發送數據到總線網絡以及接收從站發送來的信息。數據交互包括主站與從站、各從站之間以及整個總線網絡,數據傳輸過程相對復雜,系統采用CAN總線進行數據通信的特點如下。
(1)總線網絡數據傳輸
數據在總線網絡上的傳輸可分為周期數據與非周期數據。按定時周期傳送的同步數據是周期數據,如電機位置、電流、轉矩等,要求具有實時性,需按定時周期進行周期性的傳輸,保證在每個定時周期內完成。用戶非定時請求的異步數據是非周期數據,如通信參數、設備參數等,它不具有實時性要求,不需要嚴格地實時響應用戶的請求。在軟件編程時需要區分這兩種類型數據,保證數據傳輸的要求。因此在軟件設計時,采用了周期幀與非周期幀的傳輸。
周期幀和非周期幀均由幀頭、數據區和幀尾組成。周期幀包含了所有從站的數據,非周期幀只包含非周期數據。為了實現對所有從站以及單個從站的訪問,將非周期幀分為廣播幀和點對點幀。
對于周期幀,主站在每個定時周期發送,周期幀依次經過各從站時,各從站從對應的數據區先讀取指令,然后上傳寫回反饋數據,在所有從站均完成數據的下載、上傳后,周期幀返回主站,完成一個定時周期內主站與從站的數據交互。
對于非周期幀,主站發送廣播幀時,各從站分別下載、上傳數據,最后返回主站;主站發送點對點幀時,只有該數據幀中指定地址的從站進行響應,各從站與經過的數據幀中的指定地址進行匹配,匹配不成功則將數據幀轉發到下一個從站,匹配成功則進行數據的下載、上傳。非周期數據不具有實時性,僅當在主站接收到用戶的非周期數據請求,并只在周期幀傳輸空閑時進行傳輸,并保證周期幀的優先傳輸。
(2)總線網絡初始化
總線網絡中的主站要求能夠正確地訪問各從站并且與之進行正常的數據交互,需在軟件環境下對總線網絡進行初始化工作:檢測總線網絡拓撲結構,以確定主站與從站的連接方式;對各從站設備進行編址,使主站能正確訪問到各從站;配置各從站設備的工作模式,以確定總線網絡上的數據傳輸格式;識別各從站設備的類型,以使主站設備能夠根據從站類型傳輸對應的數據。
總線網絡初始化是主從站設備通信的前提,利用主站向從站發送廣播幀來完成的。在總線網絡初始化完成之后,進行主從站設備的周期與非周期通信。周期通信按設定的通信周期定時完成,非周期通信通過廣播幀或點對點幀對所有從站或單個從站進行操作。
4 系統軟件結構設計
CNC系統的軟件功能主要是進行數控加工代碼的預處理,包括讀入與編輯CNC加工程序、詞法及語法的檢查、譯碼、刀具補償處理以及數據保存。
啟動系統軟件后,系統首先加載上次運行系統完成后所保存的數據信息和系統所處的狀態信息,并提示是否要進行原點調零等。然后調入數控加工程序并進行語法和詞法等檢查,檢查無誤后,根據數控加工程序段的準備功能字、輔助功能字、T功能、H功能等用相應的算法進行計算,得到帶有刀具補償量的數據,并將這些數據和對應的準備功能字、輔助功能字、刀號、刀補號等功能字一起保存到固定格式的數據文件中。當數據處理完畢后傳輸到以C8051F040單片機為核心的CAN接口電路中,然后將要傳輸的數據按相應的通信協議進行幀的處理,最后通過總線發送總線上,各個從站設備通過CAN接口下載信息并上傳相應的信息,便于主站通過CAN總線接收,以此來實現系統功能。系統主站數據的傳輸流程圖如圖2所示。

5 結論
隨著嵌入式技術和現場總線在控制領域的廣泛應用,CAN總線由于具有可靠性高、實時性強以及易于實現的特點已經成為工業網絡的主流。基于CAN總線的嵌入式數控系統接口設計具有良好的開放性、高性能和低成本等特點。系統集成度高、智能化程度高、結構與功能可擴展性好、安全可靠。
文章版權歸西部工控xbgk所有,未經許可不得轉載。