摘? 要: 根據工業機器人的應用現狀,利用現有的控制技術,結合控制局域網(CAN)技術和通信技術,通過對現有的機器人控制器進行硬件改進和軟件開發,并相應開發出上位機監控系統,實現了多臺機器人的網絡互聯,最終實現基于CAN網絡的機器人生產線集成系統。
關鍵詞: 機器人控制器? 現場總線? CAN總線? 通信協議
?
制造車間底層設備自動化,近幾年仍是我國開展新技術研究和新技術應用工程及產品開發的主要領域,其市場需求不斷增大且越發活躍,競爭也日益激烈。伴隨著工業機器人的產業化,目前機器人系統的應用大多要求采用機器人生產線方式,這就要求多臺機器人能通過網絡進行互聯。隨之而來的,在實際生產過程中, 這種聯網的多機器人系統的調度、維護工作也變得尤為重要。
在計算機數據傳輸領域中,長期以來使用RS-232和CCITT V.24通信標準,盡管它們被廣泛地使用,但卻是一種低數據速率和點對點的數據傳輸標準,無能力支持更高層次的計算機之間的功能操作。因此需要在底層設計出一種造價低廉而又能適應工業現場環境的通信系統,現場總線就是在這種背景下產生的。與一般總線相比,CAN總線的數據通信具有突出的可靠性、實時性和靈活性,是適用于生產制造過程和驅動系統的總線協議。
1 系統總體結構
制造車間底層電器裝置聯網是近幾年內技術發展的重點。其電器裝置包括有:運動控制器(調速、定位、隨動等)、基于微處理器的傳感器、專用設備控制器(如點焊機、弧焊機)等底層設備、在這些裝置所構成的網絡上另有車間級管理機、監控機或生產單元控制器等非底層裝置。
結合實際情況和要求,將機器人控制器視為運動控制器(理解為底層設備),具體工作將基于圖1所示的模型。
?
?
本系統監控機采用Advantech公司的PCL-841雙端口CAN接口卡。它將占用4KB的地址空間,而且基地址可由用戶從C800H~EF00H任意選擇。中斷也可從3~15(8、13、14)任意選擇。控制器中采用集成PC-104的CAN接口卡。
2 系統實現
2.1 監控機軟件部分
監控機系統軟件層次如圖2所示。
?
2.1.1數據庫部分
由于上位機系統需要管理的數據量很大,而且數據必須長久地被保留;一旦系統發生軟硬件故障,數據還要可恢復;而且若干個用戶應當能夠按照一定的、有序的方式存取數據,避免同步存取可能造成的錯誤,因此上位機軟件要采用一般應用程序與數據庫相結合的編程技術。
DAO(數據庫訪問對象)提供了一種通過程序代碼創建和操作數據庫的機制。而MFC DAO是微軟推出的用于在Visual C++中訪問Microsoft Jet數據庫文件的強有力的數據庫開發工具,它通過對DAO對象的封裝,向程序員提供了豐富的數據庫訪問和數據庫操作手段。
本系統中,將創建諸如生產線上機器人的工作總表、弧焊參數表、點焊參數表等若干個管理數據庫表。通過這些表格,監控人員將能夠通過離線的計算機完成對生產線上各臺機器人運行狀況的的記錄、統計、管理、運行報表打印等功能,以實現宏觀的管理。
而對于諸如系統I/O量、碼盤值等實時信息則存放于一般內存中,這樣就避免了煩瑣的數據庫操作,提高了實時性。
2.1.2 通訊協議部分
為了實現管理計算機與機器人控制器的實時通訊,兩者必須建立適合CAN總線特點的、合理的通訊協議,最終采用的是“命令+參數”的協議形式和“多主競爭的總線仲裁”方式。比如以第一字節01代表接收數據,第二字節01代表接收文件;第一字節02代表發送數據等,具體的操作協議在此不再詳述。
“多主競爭的總線仲裁”的通信方式是CAN總線的一大優點。也就是說,CAN網絡中的任意節點均可作為主節點與其他節點交換數據。而且CAN協議規定,標識符可定義為屏蔽的或非屏蔽的,這樣就使監控機或控制器的CAN卡可以接收多個標識符(例如來自生產線上不同的機器人控制器)的數據。利用此特點,在監控機和控制器的軟件設計中,使用了標識符的低三位來識別接收數據的類型。比如低三位(D2,D1,D0)為000,則表示此包數據是命令,001表示此包數據是應答……而通過CAN協議的非破壞網絡仲裁,000為最高優先級將首先被處理為發送節點,接下來是001,依此類推。
2.1.3 把CAN卡功能封裝為ActiveX控件
ActiveX控件作為標準的控件技術可供JavaScritp、VBScript、Java、VB、VC等應用程序所使用,對軟件的集成開發具有重要的意義。
由此原因,并根據工業機器人控制器系統的特點,將CAN卡所提供的API函數及由其函數進一步實現的用于機器人系統的功能和屬性封裝為控件,使應用軟件更加結構化,而且更適合工業機器人產品的應用和需要。
2.2 控制器實時操作系統部分
控制器系統軟件采用的是實時多任務操作系統。而根據多任務操作系統的任務劃分方法和本系統自身的特點,最終決定與上位監控計算機的CAN網絡通訊采用一個獨立的且優先級較高的任務來完成,即如圖3中所示的通訊任務,此任務完成利用串口的通訊和CAN網絡的通訊。
?
?
這樣,生產線上的每臺機器人控制器就可以作為車間底層設備加入到網絡中,從而構成具有監控功能的分布式機器人生產線系統。
2.3 具體功能和運行方式
這項工作的完成將為機器人控制器產品增加聯網功能,并將投入到實際的應用工程中。完成了下述一些功能:
(1)實現生產線上各臺機器人運行狀況的記錄、統計、管理,運行報表的打印等功能。比如在一天的弧焊作業中,被監測機器人參與工作的數目、每臺機器人出現故障的次數、停機的次數、每次焊接的參數等;
(2)實現機器人控制器的實時狀態監視(包括各碼盤值、I/O量、系統狀態等)、調試(包括離線編程和示教)、報警(如焊鉗的粘連)、維護(如系統從異常狀態的恢復)等功能;
(3)作業任務的分配和調度,以及作業任務的上傳與下載;
(4)軟件PLC的實現。為了簡化硬件的開銷,將初步在控制器中利用軟件PLC,也就是說將PLC功能作為控制器操作系統的一個獨立的任務來實現,而具體的PLC程序則由上位PC機離線編程實現,并通過CAN總線下裝到控制器中。
把CAN總線技術充分應用于現有的控制器當中,將可開發出高性能的多機器人生產線系統。圖4舉例說明某控制器將文件上傳給監控機軟件的工作流程圖。
?
?
????利用現有的控制技術,結合控制局域網(CAN)技術和通信技術,通過對現有的機器人控制器進行硬件改進和軟件開發,并相應地開發出上位機監控軟件,從而實現多臺機器人的網絡互聯。最終實現基于CAN網絡的機器人生產線集成系統。這樣做的好處很多,比如:
(1)實現單根電纜串接全部設備,節省安裝維護開銷;
(2)提高實時性,信息可共享;提高多控制器系統的監測、診斷和控制性能;
(3)通過離線的任務調度,作業的下載以及錯誤監控等技術,把一部分人從機器人工作的現場徹底脫離出來。
?
參考文獻
1 鄔寬明.CAN總線原理和應用系統設計.北京:北京航空航天大學出版社,1996
2 陽憲惠,林強.淺談現場總線開放系統的系統集成與應用集成.工業控制計算機,1999;12(5)
3 陽憲惠.現場總線技術及其應用.北京:清華大學出版社,1999
4 李博軒.Visual C++6.0數據庫開發指南.北京:清華大學出版社,2000
5 陳建春.Visual C++高級編程技術.北京:電子工業出版社,1999