摘 要:利用CANBUS總線實現電阻焊機的聯網功能。利用PLC技術實現電阻焊機群控功能。描述了系統的組成框架,包括聯網通訊協議的制定和通信過程,群控的設計原則。分別從下位機(電阻焊機)和上位機(工控PC)的角度介紹了系統的硬件設計和軟件流程,最后簡述了系統的應用情況。
關鍵詞:電阻焊機;CANBUS;PLC;上位機
中圖分類號:TP23文獻標識碼:B
文章編號:1004-373X(2008)07-148-03
Development of Networking System and Group-Control System for Resistance Welding Machines
CHENG Haihui,YU Xuesen,GUO Jinhua,YIN Ge
(Tianjin 707 Research Institute,Tianjin,300409,China)
Abstract:Networking system and group-control system for resistance welding machines based on CANBUS and PLC.Description of system framework,communication protocol of networking system,communication process of networking system,design principle of group-control system.Introduction system hardware and software based on resistance welding machines and host computer.The system application situation is briefly introduced finally.
Keywords:resistance welder;CANBUS;PLC;host-computer
1 引 言
汽車制造業的迅猛發展對焊接生產線自動化程度和焊接質量的要求越來越高,傳統的離散性電阻焊機已經無法滿足要求,尤其是隨著車間ERP系統的融入,迫切要求對離散的電阻焊機進行一體化的統一控制和管理。在中等規模汽車焊接生產線上,通常有上百臺電阻焊機,這些設備如果在同一時刻啟動,將需要強大電能,往往會導致電網瞬間過載,產生斷電等事故,使正常生產受到影響;此外,在電網未過載的情況,如果工作在不同相間的電阻焊機數量存在較大的差異,則會造成三相電網的嚴重不平衡,可能造成某相導線燒斷、開關燒壞甚至配電變壓器單相燒毀等嚴重后果。
為此設計了基于CANBUS的電阻焊機聯網系統和基于PLC的電阻焊機群控系統,兩套系統可以單獨或配合使用,可實現對電阻焊機工作中的焊接參數進行采集、存儲、分析和更改等操作,完成統一的控制和管理;保證電網電壓的三相平衡,通過分時等待解決電力不足的矛盾。
2 控制系統硬件設計
系統的硬件設計包括了下位機(電阻焊機)的聯網接口電路設計和群控接口電路設計、集中控制器的硬件設計以及上位機CAN接口卡的選取等,本設計的規模為一臺集中控制器控制128臺電阻焊機的群控操作,一塊CAN接口卡控制256臺電阻焊機的工作,系統的網絡模型如圖1所示。

2.1 下位機硬件設計
本設計中的下位機即電阻焊機,采用飛利浦的80C552作為主控制芯片,需要設計聯網接口電路和群控接口電路,分別如圖2和圖3所示。
由于80C552單片機本身不具有CAN接口,故本設計通過MCU并行口擴充了獨立的CAN控制器SJA1000,其發送和接收端通過高速光藕6N137接到CAN收發器82C250,隨后進入CAN總線網絡。SJA1000的復位方式采用了主MCU的I/O管腳控制的方式,以避免SJA1000軟件復位的局限性,使系統更加可靠。本設計波特率為100 kb/s,屬于比較高的速度,故采用了高速光藕6N137,并使光藕兩邊的電源隔離,提高系統的抗干擾性。

群控接口的設計主要是“焊接申請”信號的發出和“焊接允許”信號的接收電路。由于對速度的要求不高,故選用了普通光藕521-1,同樣光藕兩端電源隔離;在群控中,通常處于連續焊接方式的電阻焊機的優先權比較高,在連續焊接時不發出焊接申請信號,為避免集中控制器漏檢其焊接狀態,所以在本設計中將MCU發出的“焊接申請”信號與電極通電中判斷電路的輸出進行邏輯判斷,輸出的信號作為“焊接申請”信號發送到集中控制器。
2.2 集中控制器硬件設計
集中控制器系統的核心為德國BECKHOFF公司的總線端子系統BC8000。該系統由總線耦合器和電子端子塊組成。總線端子是一種開放的不依賴現場總線的外圍設備,他是可處理任何信號的電子端子排,電子端子排的首腦是總線耦合器。總線耦合器內含PLC,可裝載軟件運行程序,為了保證限容實時性,集中控制器軟件將在總線耦合器中運行;總線端子具有RS 485接口,可實現與上位機通信。系統最多可帶載512個I/O點,考慮到響應時間以及排序的復雜程度等因素,本設計選用8個8位開關量輸入24 VDC,3 ms濾波延遲信號的總線端子模塊,8個8位開關量輸出24 VDC、0.5 A的總線端子模塊,組成128路I/O接口長線隔離驅動電路。
2.3 CAN接口卡的選擇
上位機與電阻焊機采用CAN總線通訊,因此上位機系統必須提供CAN數據總線接口。本設計中選擇研華CAN接口卡PCL-841,該卡提供兩個獨立的CAN數據總線接口,在VC++6.0中通過調用接口卡的驅動程序,實現對接口卡的讀/寫訪問,從而完成與電阻焊機通訊。本設計使用的研華工控機具有2個支持PCL-841接口卡的ISA插槽,故可以插2塊CAN接口卡,4個CAN數據總線接口可以提供256臺電阻焊機的聯網。
3 控制系統軟件設計
3.1 CAN通信協議和通信過程
SJA1000支持BasicCAN和PeliCAN兩種模式,可以采用CAN2.0A或CAN2.0B的CAN技術規范。本設計中采用了BasicCAN模式的CAN2.0A協議,報文傳送由4種不同類型的幀表示和控制,他們是數據幀、遠程幀、錯誤幀和超載幀,每種幀都是由幾個不同的位場組成。在數據幀和遠程幀中,都有仲裁場,仲裁場由標識符和遠程發送請求位組成,定義標識符非常關鍵。標識符由11位二進制碼組成,表示為:D10,D9,D8,D7,D6,D5,D4,D3,D2,D1,D0,發送次序則由高位到低位。本設計中,規定D10、D9這兩位表示優先級,比如(1,1)為最高優先級,如故障;(1,0)為較高優先級,如命令;(0,1)為較低優先級,如連續的數據串;(0,0)為最低優先級,如離散的數據。D8,D7,D6,D5,D4,D3這六位表示下位機的標識ID號,共有26個ID可供選擇。標識符中的D2,D1,D0位,在數據幀和遠程幀中都有不同的定義,表示數據、數據串或通信命令,標識符決定了數據幀的內容、源地址和目的地址,定義了上位機只與選定的下位機通信。下位機采用屏蔽標識符方法,只接收上位機的通信請求。本設計中規定數據幀的格式為:標識符+數據(0~8 B);遠程幀的格式為:標識符。
上位機與下位機的通訊是通過命令實現的,通訊過程是:任何一臺聯網的下位機,每完成一次焊接或出現故障時,向上位機直接發送數據或故障號;如果沒有新的焊接數據或故障,下位機就暫時中斷與上位機通訊。上位機通過發送含有指定下位機地址的命令與指定下位機通訊,實現查詢、編程及故障復位等功能。
3.2 CAN通信軟件
該部分包括了下位機的CAN通信軟件和上位機的通信軟件兩部分,下位機的軟件編制采用匯編語言,上位機部分用Visual C++ 6.0、Visual Basic 6.0進行軟件開發,數據庫使用的是SQL Server 2000個人版。
3.2.1 下位機軟件
首先在下位機上電復位后,需要編制SJA1000的初始化程序,包括接口檢測函數、波特率設定函數、設置接收標識符函數、關閉CLKOUT操作、設置接收報文ID、設置輸出控制、時鐘分頻、關閉SJA1000內部中斷等操作,此外需編制CAN數據發送和數據接收的子函數。在應用中,只需要調用相應的子函數,就可以完成與上位機的CAN通信。本設計中對于不同的CAN收發命令均采用的為散轉形式,即通過判斷R0寄存器的值進入到相應的程序分支。
3.2.2 上位機軟件
考慮到系統的可重用性,上位機系統軟件采用分層模式和組件技術進行系統設計。將系統分為界面顯示層、數據通訊層、數據庫訪問層三層,各層之間通過接口函數進行通信。
為了直觀、動態地顯示生產線上焊機的工作狀態,采用VB 6.0與VC++6.0相結合的方式進行界面設計。借助VB 6.0,采用ActiveX技術設計一個下位機控件weld.ocx,可以根據下位機的不同狀態,顯示不同顏色。在VC++6.0中繪制焊接生產線界面,將設計完成的weld.ocx控件分別放置在生產線相應位置上,VC++6.0程序中通過調用weld.ocx提供的接口函數SetWeldColor設置焊機的顏色。
本系統采用多線程技術解決通訊實時性問題。通過創建一個輔助線程MonitorThread(),專門負責處理上位機與下位機實時通訊,MonitorThread()與主線程之間是并行的,二者通過消息方式進行同步通訊。在MonitorThread()中循環讀取下位機送來數據,對于收到的優先級別較低的數據(如焊機參數信息等)只做簡單數據處理然后等待主線程處理;對于優先級別較高的數據(如焊機故障信息等)則直接發送消息給主線程,要求主線程立即處理這些數據信息。
本設計數據庫編程接口采用的是MFC ODBC技術。MFC對ODBC的封裝主要是開發了CDatabase類和CRecordSet類。程序中首先通過CDatabase對象的Open函數建立同ODBC數據源的連接,然后通過CRecordSet對象完成數據庫編程操作。
3.3 群控設計原則
(1) 需要制定一個限容決策,即在電網同步信號到來前,決定哪些焊機允許啟動焊接;
(2) 軟件運行不能超時,必須在10 ms內完成全部信號的讀入、比較、處理和寫出;
(3) 系統的兼容性,當集中控制器發生故障或電阻焊機切斷與集中控制器的連接時,電阻焊機的正常工作不能受到影響。
限容決策一要合理,二要有重點,要保證每臺電阻焊機申請等待時間不能過長,一般情況不超過100 ms,要重點工位優先,要考慮連續焊接工位一直是“允許”的等,此外,還需要考慮電網的三相平衡問題,即連接在AB,BC和CA相間允許同時焊接的電阻焊機應該盡量相同,在電阻焊機車間布線時就應該考慮這個問題,避免布線的不均衡。本設計中,對128臺電阻焊機申請信號的存取,建立一個數據結構,用二維數組DHJ(M,N),M表示電阻焊機的序號(硬件連接地址),N表示與申請和回答有關的信息,如:當前狀態、申請次數、允許次數、等待時間、所在相線、工位優先權等。
3.4 群控軟件流程
控制軟件實現的主要功能:讀取每臺電阻焊機的申請信號,根據當前狀態、上次狀態及等待時間,在一個周波內決策每臺電阻焊機的動作。集中控制器軟件由PLC結構化語言類PASCAL語言編寫,劃分為主程序、輸入過程、輸出過程、通信過程、比較過程和決策過程等,包括焊機在線識別、連點焊接識別與處理等內容。程序流程如圖4所示。

4 結 語
本設計發揮了CAN總線高速、雙向特性,將先進的計算機技術、單片機技術應用其中,充分體現了現代化管理系統的高效率、功能強大等特點,一臺上位機可以控制256臺下位機;采用PLC對電阻焊機進行集中控制管理,使得系統結構得到簡化,提高了控制可靠性和精度,一臺集中控制器可對128臺電阻焊機集中控制,響應時間≤20 ms,具有限容式三相電網平衡能力。
本設計已經成功應用于重慶長安、江西九江昌河、吉利汽車等十幾個汽車廠的焊接生產線,運行效果良好。
參 考 文 獻
[1]畢慧琴.焊接方法及設備(第二分冊)——電阻焊[M].北京:機械工業出版社,1981.
[2]耿正.電阻焊設備及控制研究的進展[J].焊接,1998(5):2-8.
[3]劉衛列.TinCAT PLC編程手冊[Z].北京:德國倍福電氣有限公司北京代表處,2005.
[4]鄔寬明.CAN總線原理和應用系統設計[M].北京:北京航空航天大學出版社,2001.
[5]李現勇.Visual C++ 串口通訊技術與工程實踐[M].北京:人民郵電出版社,2002.
[6]夏云慶.Visual C++6.0數據庫高級編程[M].北京:希望電子出版社,2002.