胡德安,張 偉, 陳益平
HU De-an,ZHANG Wei,CHEN Yi-ping
(南昌航空大學 航空制造工程學院,南昌 330063)
汽車白車身,多數(shù)為承載式全焊接結構,一般是由數(shù)百個薄板沖壓件經(jīng)焊接而成的復雜結構件。汽車白車身的焊接方法主要采用電阻點焊工藝,一臺轎車車身的焊點約在35005000點之間。汽車車身焊裝用的點焊設備占全部電阻焊產(chǎn)品的90 % 以上[1]。 保證電阻點焊焊接質(zhì)量是汽車白車身焊接質(zhì)量保證的關鍵。現(xiàn)在的點焊控制器普遍采用單片機智能控制焊接過程,現(xiàn)場得到的數(shù)據(jù)通過RS-232或RS-485總線傳輸給上位機實現(xiàn)對生產(chǎn)的集散控制。但電阻點焊是一個多變量耦合和大量隨機不確定因素的過程,焊點形核時間短,影響因素多,質(zhì)量監(jiān)測難度大,隨著生產(chǎn)自動化程度日益提高,要求采用更精確的方法來檢測并控制焊接生產(chǎn)質(zhì)量,以提高焊點的可靠性,這種總線技術在點焊信息傳輸方面存在許多缺點,主要表現(xiàn)在:1)監(jiān)控系統(tǒng)均為主從式結構,網(wǎng)絡上只能有一個主節(jié)點,無法構成多主冗余系統(tǒng),當主節(jié)點出現(xiàn)故障,系統(tǒng)就無法運行;2)缺乏統(tǒng)一的規(guī)范和通信協(xié)議,系統(tǒng)是封閉的;3)波特率較低,傳輸距離短,滿足不了實時性要求。因此,為保證車身焊接質(zhì)量,就必須使用新型的總線技術使點焊質(zhì)量在線實時監(jiān)測得以實現(xiàn),又可以把該焊機的工作狀態(tài)情況及時顯示給上位機,使工人在遠離現(xiàn)場的情況下了解焊接狀況,達到遠程監(jiān)控的目的。并開發(fā)一種具有該網(wǎng)絡化通信功能的點焊控制器以滿足現(xiàn)代化點焊生產(chǎn)要求。
控制局域網(wǎng)絡CAN(Control Area Network),是一種有效支持分布式控制或實時控制的串行通信網(wǎng)絡,與一般的通信總線相比,CAN總線的數(shù)據(jù)通信具有突出的可靠性、實時性和靈活性,采用CAN控制器總線進行現(xiàn)場智能節(jié)點的設計有以下優(yōu)點:CAN最多可帶110個節(jié)點,為多處安置傳感器設備提供了可能;CAN總線采用短幀通信,傳輸可靠性高;CAN總線當中一個節(jié)點由于某些原因不能正常工作時,能自動關閉輸出功能,而不影響其它節(jié)點的操作。采用CAN總線構建點焊網(wǎng)絡控制系統(tǒng),不僅可以實現(xiàn)焊接參數(shù)的在線控制與優(yōu)化,還可實現(xiàn)各點焊智能控制設備間信息的集成與共享,打破各焊接設備的“孤島效應”,為焊接生產(chǎn)的智能集成提供技術基礎。因此基于CAN總線的焊接數(shù)據(jù)傳輸系統(tǒng)使得車身焊接過程的實時性和可靠性得到了保證[2]。
本系統(tǒng)分為監(jiān)控管理計算機和電阻焊控制器兩層結構,通過現(xiàn)場總線連接組成管理系統(tǒng)。圖l為電阻點焊網(wǎng)絡控制系統(tǒng)總體結構,系統(tǒng)通信網(wǎng)絡為總線型,上位PC機通過CAN接口適配器與CAN總線相連[3]。
在現(xiàn)場總線控制系統(tǒng)中,各現(xiàn)場設備是通過節(jié)點掛接在總線上的,在系統(tǒng)的組網(wǎng)中這些節(jié)點大多數(shù)由相應的控制器與單片機接口而形成,稱為智能節(jié)點。單片機是采集系統(tǒng)的核心,直接影響到系統(tǒng)的性能。從系統(tǒng)的實際要求和成本考慮,本控制系統(tǒng)的中心器件選用性價比較高的AT89C51單片機。各電阻焊微機控制器均由AT89C51單片機,獨立CAN通信控制器SJA1000、CAN總線收發(fā)器PCA82C250、高速光電耦合器6N137以及外部電路構成,89C51負責SJA1000的初始化并通過控制SJA1000實現(xiàn)數(shù)據(jù)的接收和發(fā)送等通信任務。圖2為CAN總線系統(tǒng)智能節(jié)點硬件電路原理圖,SJA1000的AD0~AD7連接到89C51的P0口,連接到89C51的P2.0口,當P2.0口為0時CPU片外存儲器地址可選中SJA1000,通過這些地址可對SJA1000執(zhí)行相應的讀/寫操作。
圖1 基于CAN總線的系統(tǒng)拓撲結構
大功率點焊機在工作時會帶來許多干擾信號影響數(shù)據(jù)的傳送,為了增強CAN總線節(jié)點的抗干擾能力,SJA1000的TX0和RX0通過高速光電耦合器6N137后與82C250相連,實現(xiàn)總線上的各CAN節(jié)點間電氣隔離。82C250的CAN_H和CAN_L引腳各自通過一個5Ω的電阻與CAN總線相連,電阻的限流作用可保護82C250免受過流的沖擊,CAN_H和CAN_L與地之間并聯(lián)了兩個30PF的小電容,用于濾除總線上的高頻干擾。
圖2 智能節(jié)點電路圖
點焊控制過程比較復雜,對于本控制器的軟件部分采用功能模塊式結構設計,這樣可使系統(tǒng)的軟件結構清晰,易于理解,便于調(diào)試、連接、修改和移植。系統(tǒng)主程序主要由中斷程序設計、檢測程序設計及子程序設計三個方面組成??刂葡到y(tǒng)的編程語言是C 語言??刂破鬈浖Y構框圖如圖3所示。
圖3 控制器軟件結構圖
操作人員根據(jù)所焊工件的工藝要求,查詢焊接數(shù)據(jù)庫,可以得到推薦的焊接參數(shù),通過CAN適配卡發(fā)送到指定的下位機系統(tǒng),下位機根據(jù)接收到的焊接參數(shù)控制電阻點焊機完成焊接過程,并將測得的焊接過程信號發(fā)送給上位機儲存和打印。
CAN總線的物理層和數(shù)據(jù)鏈路層協(xié)議在CAN的相關器件中已經(jīng)實現(xiàn),而應用層協(xié)議至今沒有一個統(tǒng)一的標準,所以制定CAN總線的應用層協(xié)議成為CAN網(wǎng)絡應用中的核心問題。
上位機與下位機之間的通信是實現(xiàn)監(jiān)控功能的基礎和關鍵,針對汽車車身點焊過程中的數(shù)據(jù)監(jiān)控系統(tǒng),制定的CAN應用層協(xié)議主要包括標識符的分配和各程序流程等。
標識符分配是CAN應用層協(xié)議中的重要問題,CAN的每一幀都有一個11位的標識符,包括信息和數(shù)據(jù)兩部分,用來標識該幀數(shù)據(jù),并且決定仲裁。標識符要能反映報文的地址信息、報文類型,體現(xiàn)報文級別。另外,報文標識符不能重復。在CAN應用層協(xié)議中,標識符由廣播位、地址域和數(shù)據(jù)報文類型域共同確定,如表1所示。
表1 標識符的分配方案
此三項包含了是主機還是從機、網(wǎng)絡節(jié)點地址以及報文承載的數(shù)據(jù)信息。廣播位決定一半的優(yōu)先級,因此,主機發(fā)出的命令優(yōu)先級一定高于從機的數(shù)據(jù)。網(wǎng)絡節(jié)點地址域使不同節(jié)點發(fā)出的報文標識符不同。
應用層的軟件設計主要包括三大部 分:CAN節(jié) 點 初始化、下位機的報文發(fā)送和報文接收。
SJAl000的初始化只有在復位模式下才可以進行,初始化的流程圖如圖4所示,在完成初始化設置后SJAl000就可以進入工作狀態(tài)進行正常的通信任務[4]。
圖4 SJAl000初始化流程圖
下位機的接收報文程序框圖如圖5所示,包括發(fā)送廣播報文反對控制器爭主、多報文的處理以及報文數(shù)據(jù)處理。接收子程序負責把中心站下達的配置信息或控制命令信息傳送到指定的分站。接收子程序首先進行接收濾波,確認該幀數(shù)據(jù)是否接收,若接收,先按照數(shù)據(jù)鏈路層協(xié)議拆解數(shù)據(jù)包,將數(shù)據(jù)場的數(shù)據(jù)提取出來,進行相應的處理。在處理過程中,通過判斷狀態(tài)寄存器的某些位的狀態(tài),對總線脫離、錯誤報警、接收溢出等情況做出處理。
圖5 CAN接收函數(shù)流程圖
發(fā)送子程序負責節(jié)點報文的發(fā)送,把現(xiàn)場采集到的待發(fā)送信息進行數(shù)據(jù)分類、拆解、合并后,根據(jù)CAN的數(shù)據(jù)鏈路層協(xié)議填寫到CAN數(shù)據(jù)幀的各個場,形成數(shù)據(jù)包,存入到SJAl000的發(fā)送緩沖區(qū),啟動SJAl000發(fā)送即可。在往SJAl000發(fā)送緩存區(qū)送報文之前要先作一些判斷,程序如圖6所示,再由CAN通信適配器把數(shù)據(jù)上傳給中心站上位機。
上位機的監(jiān)控功能包括各下位機狀態(tài)數(shù)據(jù)顯示、設定和參數(shù)調(diào)整、將實時數(shù)據(jù)存入數(shù)據(jù)庫、狀態(tài)參數(shù)打印等功能[5]。監(jiān)控程序結構如圖6所示,其中上位機通過CAN接口適配卡與下位機通信,實現(xiàn)對車身點焊過程的監(jiān)控功能。
圖6 CAN發(fā)送函數(shù)流程圖
圖7 監(jiān)控程序功能
系統(tǒng)上電啟動后,上位機對監(jiān)控網(wǎng)絡中的下位機進行識別并初始化,從數(shù)據(jù)庫調(diào)取焊接所需工藝參數(shù)通過CAN總線傳輸給下位機。若點焊車間的設備根據(jù)產(chǎn)品不同而需要進行更改時,在上位PC機的可視化界面中對監(jiān)控系統(tǒng)重新設置參數(shù)即可,圖8為設置系統(tǒng)參數(shù)界面,此界面可進行波特率、下位機地址以及數(shù)據(jù)發(fā)送方式的設置。
實際點焊時,下位機取得總線控制權,向上位PC機請求數(shù)據(jù);上位機在顯示所接收到下位控制器發(fā)送的遠程幀ID同時,對此ID過行判斷,經(jīng)判斷為幾號下位機向上位機請求焊接數(shù)據(jù),上位機則根據(jù)所焊工件特征,查詢得到最優(yōu)焊接參數(shù),調(diào)用發(fā)送函數(shù),把相應的焊接數(shù)據(jù)發(fā)送給對應的下位機;下位機接收數(shù)據(jù)后,完成焊接過程,并將焊接電流等實時過程數(shù)據(jù)發(fā)送給上位機,進行存儲、打印等。實驗結果表明,采用CAN總線構建的電阻焊網(wǎng)絡控制系統(tǒng)工作穩(wěn)定,響應速度快,通信可靠,能夠用于實際焊接過程的在線網(wǎng)絡控制。
圖8 系統(tǒng)參數(shù)設置界面
1)設計以AT89C52單片機和SJA1000CAN控制器為核心的通信模塊,使點焊控制器具有CAN現(xiàn)場總線通信功能。
2)根據(jù)CAN總線規(guī)范并結合車身點焊過程的生產(chǎn)實際,編制了CAN總線通信控制程序,該通信程序不但傳輸數(shù)據(jù)快,而且能夠解決實際應用環(huán)境下常見的故障問題,實現(xiàn)數(shù)據(jù)實時傳輸,這對于點焊質(zhì)量的監(jiān)控、點焊設備的維護和點焊生產(chǎn)車間的網(wǎng)絡化管理都具有重要的意義。
3)系統(tǒng)具有較強的可擴展性,所確定的網(wǎng)絡通信協(xié)議能夠適用于汽車車身點焊過程的數(shù)據(jù)通信,為汽車制造廠焊接車間的智能集成制造信息網(wǎng)絡提供了技術基礎。
[1] 王敏. 電阻焊在汽車工業(yè)中的應用[J]. 電焊機,2003,33(1): 1-6.
[2] 饒運濤. 現(xiàn)場總線原理與應用技術[M]. 北京: 北京航空航天大學出版社,2007.
[3] 陳益平,胡德安,鄧子飛. 基于CAN總線的電阻焊網(wǎng)絡控制系統(tǒng)[J]. 機械工程學報,2006,42 (4): 147-151.
[4] 姜立標,王登峰,韓智陽. CAN總線在商用車上數(shù)據(jù)采集的實現(xiàn)[J]. 哈爾濱工業(yè)大學學報,2007,39(3): 489-491.
[5] 胡德安,陳鵬展,陳益平,等. 智能點焊專家系統(tǒng)實時數(shù)據(jù)采集與通信[J].電焊機,2002,32(4): 15-17.