目前,國內數控加工多為分散加工,采用傳統的NC代碼輸入方式,網絡化程度低,已無法滿足生產需求。國內外也研究了多種數控機床聯網通信方案,但在成本和性能上難以做到均衡。
CAD與CAM技術的成熟使CAD/CAM系統可以直接生成控制機床加工的數控NC代碼,從而利用DNC實現車間自動化生產。采用CAN總線組網通信,連接分散的數控機床,可以用較低的成本實現DNC直接數字控制。通過該系統驅動多臺數控機床并行加工,可實現數控加工行業的網絡化、高效化和自動化,具有廣泛的應用前景。
1 方案設計
各計算機工作站位于CAD/CAM部門,通過局域網互聯,其中一臺計算機作為主控服采用C8051F040微控制器為核心設計通信節點電路。C8051F040是混合信號SOC型8位MCU,兼容8051系列指令務器,負責數控機床的管理和控制。各工作站設計生成的NC程序通過局域網發送到服務器,再經CAN總線傳輸至機床,控制相應機床加工;各機床上存儲的NC程序及機床狀態監控信息也可通過相反的路徑上傳至有關計算機進行處理。服務器與通信節點間以及機床與通信節點間為近距離傳輸,為簡化結構,采用通用標準RS232接口通信。
2 硬件電路設計
硬件電路設計主要是通信節點電路設計。實際上是一個CAN /RS232接口電路。此電路有兩個通信接口:一個是CAN總線接口,連接CAN總線;另一個是RS232接口,連接數控機床或工控機的RS232接口。
采用C8051F040 微控制器為核心設計通信節點電路。C8051F040是混合信號SOC型8位MCU,兼容8051系列指令集,采用流水線處理結構,平均指令速率達5 M IPS,集成4 KBRAM、64 K Flash ROM、CAN控制器、UART串口,非常適合該電路要求,幾乎無需擴展外圍芯片,可節省大量硬件開銷。C8051F040內部的CAN控制器符合Bosch規范2. 0A (基本CAN)和2. 0B (全功能CAN) ,方便了CAN 網絡通信設計。CAN控制器包含1 個CAN 核、消息RAM (獨立于C8051 的RAM) 、1個消息處理狀態機及控制寄存器。CAN控制器可以工作在高達1M bit/ s速率,有32個消息對象,每個消息對象有其標識掩碼,用于過濾接收到的消息。輸入數據、消息對象和標識掩碼存儲在CAN消息RAM中。與數據發送和接收過濾有關的所有協議處理均由CAN控制器完成,不需C8051 MCU干預,這使用于CAN通信的CPU帶寬最小。
C8051通過特殊功能控制器(SFR)配置CAN控制器,讀取接收的數據,寫入要發送的數據。
CAN總線完成下位機各部分間的通信以及各下位機與上位機之間的通信。由于C8051F040集成的CAN控制器只是個協議控制器,不能提供物理層驅動,應用時需外加CAN總線收發器,采用PCA82C250收發器作為CAN控制器和物理總線間的接口芯片,它可以增強總線驅動能力,提高總線差動發送和接收能力,從而增加通信距離并擴充節點數量。
RS - 232 驅動芯片采用MAX232,實現RS - 232 電平和TTL電平之間的轉換。C8051F040內部駐有CAN通信協議,主要負責對CAN接口芯片的初始化和控制,完成CAN總線協議和RS - 232通信協議的轉換和數據傳輸。
為增強抗干擾能力,采用了高速光電耦合器6N137 隔離C8051F040MCU和PCA82C250的通信端口,實現總線上節點間的電氣隔離,增強了穩定性和安全性。在工業現場惡劣環境下,不僅通信線路需隔離,供電也必須隔離,否則光耦兩側的噪聲信號將通過電源線耦合。文中采用專門為通信接口設計的隔離電源器件MAX253。其輸出端連接有中心抽頭的隔離變壓器原邊, 變壓器副邊即可提供隔離側電源, 功率可達1 W.MAX253的SD控制端可連接MCU作為選通信號,空閑時進入待機狀態降低功耗。
3 軟件設計
軟件設計包括2部分內容:下位機CAN通信軟件和上位機服務器軟件。CAN 通信軟件主要有兩方面功能: 一是對C8051F040內部CAN控制器的相關寄存器進行初始化配置,包括協議寄存器,消息對象接口寄存器,消息處理器寄存器等;二是控制收發緩沖區的讀寫,完成數據交換。
處理器將上位機送來的控制指令或NC程序,通過寫入內部的CAN數據寄存器來傳送給下位機數控機床,又可讀取機床寫入寄存器的數據發送給控制服務器。因此, CAN通信軟件主要包括系統初始化程序、發送程序、接收程序等。采用C結構化程序設計方案,具有較好的模塊性和可移植性,對不同系統功能或應用環境,可方便進行編程重組。
3.1 系統初始化程序
初始化程序主要完成初始化設置CAN 控制寄存器(CANOCN) 、位定時寄存器(B ITREG) ,初始化發送報文對象和接收報文對象。其中,位定時寄存器的設置較復雜,使用8MHz外部晶振, CAN通信速率為500 k / s,得到B ITREG的初始值為0x2301。對象初始化、發送和接收初始化完成后啟動CAN處理機制(對B ITREG和CAN0CN初始化) 。下面為初始化程序結構:
void start2CAN ( void) { SFPRAGE =CAN02 PAGE; / /指向CAN0頁面 CAN0CN I = 0x41; / /置位CCE和Init開始初始化 CAN0ADR =B ITREG; / /指向位定時寄存器進行配置 CAN0DAT = 0x2301; / /位率為500 k / s CAN0CN I = 0x06; / /允許全局中斷,置位IE和SIE CAN0CN& = ~0x41; / /清CCE和IN IT位啟動CAN狀態機制 }
3.2 發送程序
CAN報文發送由CAN控制器自動完成,只需根據接收的遠程幀識別符將對應數據轉移到發送緩沖寄存器,將此報文對象編碼寫入命令請求寄存器啟動發送即可。使用定時更新發送報文對象中的數據,數據的發送由控制器硬件自動完成,當其收到一個遠程幀時,就將相同識別符的數據幀發送出去。發送程序結構如下:
void send2message ( charMsgNum) { uchar j; SFRPAGE =CAN02PAGE; / /指向CAN0頁面 CAN0ADR = IF1CMDMSK; / /向IF1命令屏蔽寄存器寫入命令 CAN0DAT = 0x0083; / /位率為500 k / s CAN0ADR = IF1ARB2; / /指向IF1仲裁寄存器2 CAN0DATH = 0x80; CAN0ADR = IF1DATA1; / /指向數據場首字節 for( i = 0; i < 4; i ++ ) {CAN0DATH = can2 temp [ i ] ; } / /將4 Byte數據寫入發送Buffer CAN0ADR = IF1CMDRQST; CAN0DATL =MsgNum; / /寫入報文對象編號,數據發送到對應報文對象 }
3.3 接收程序
CAN報文的接收與發送一樣,由CAN控制器自動完成,接收程序只需從接收緩存器中讀取接收的數據,再進行相應處理即可。基本方法與發送程序一致,只是接收程序采用中斷方式。此應用中,主要接收上位機對機床編號的選擇,參數設置和NC控制程序以及相反流程的機床狀態信息等。接收程序結構如下:
void receive2data ( void) { SFRPAGE =CAN02 PAGE; / /指向CAN0頁面 CAN0ADR = IF2CMDMSK; / /向IF2命令屏蔽寄存器寫命令 CAN0DATH = 0x00; CAN0DATL = 0x3F; / /位率為500 k / s CAN0ADR = IF2CMDRQST; / /將報文對象編號寫入命令請求寄存器,對應接收 CAN0DATL =MsgNum; / /得到數據就從報文RAM移到數據Buffer中 CAN0ADR = IF2DATA1; / /指向數據場首字節 for( i = 0; i < 4; i ++ ) { CAN2RX[ i] =CAN0DAT; } / /讀取4Byte數據 }
3.4 上位機服務器軟件
上位機服務器軟件主要功能有NC程序文件數據管理,數控機床的編號管理,數據發送,通信接點及下位機狀態監測,下位機數據的上傳等,軟件功能結構圖見圖5。軟件的規模較大,屬于典型的C \S(客戶\服務器)模式軟件。采用Delphi7. 0進行開發。利用Delphi下安裝SPCOMM控件實現串口通信[ 4 ]。由于涉及到文件管理,需要管理多個文件,按加工順序傳輸,需要建立數據庫系統。
4 設計實驗結果
實驗機床為CAK6136V /750型數控機床3臺;實驗環境為該校工程訓練中心機加工車間強干擾工業環境,并在實驗過程中啟動電火花加工機床、線切割機床等強干擾源。實驗中,上位機分別向3 臺數控機床發送4 Byte測試數據,機床接收后立即向上位機返回所接收數據,系統驗證數據正確后繼續發送數據,直到數據出錯或通信次數達到預設循環時停止發送。實驗中CAN總線波特率設置為500 k / s,通信線纜長為15 m,進行了多次長時間測試。
測試時間600 s,發送數據1 704 061次,計算得出上位機和單臺機床交換一次數據的時間為01352 1 ms,考慮到計時誤差及通信等待時間,系統和3臺機床通信一次約需11056 3 ms,系統響應滿足數控加工要求。由于通信節點電路及電源電路都設計了特殊的抗干擾措施,并得益于CAN總線的高可靠特性,實驗實現了快速響應下極低的數據傳輸錯誤率。
然后,在上位機編輯一段加工一個圓臺的NC代碼,發送至3臺數控機床,控制3臺機床并行加工,完成的工件刀痕排列細膩一致,扭曲較小,極少有彎折現象,表明加工速度比較穩定;同時3臺機床加工出的工件經測量一致性很好。
實驗結果表明:采用CAN總線的DNC通信系統,傳輸距離遠,抗干擾能力強,實時性好。
5 結束語
基于CAN Bus的低成本, 高可靠性的DNC通信系統可將普通數控機床與計算機網絡連接起來, 使異地CAD /CAM系統生成的NC代碼可以直接遠程控制數控機床進行加工, 同時允許多臺機床并行工作, 并具有一定的故障監測功能, 實現機床NC代碼的可重用性, 從根本上提高了數控機床的加工效率。
(審核編輯: 智匯胡妮)
分享