《電子技術應用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 基于CAN總線的機器人網(wǎng)絡互聯(lián)

基于CAN總線的機器人網(wǎng)絡互聯(lián)

2009-02-27
作者:孫 健 陽如坤 徐 方

  摘? 要: 根據(jù)工業(yè)機器人的應用現(xiàn)狀,,利用現(xiàn)有的控制技術,,結合控制局域網(wǎng)(CAN)技術和通信技術,,通過對現(xiàn)有的機器人控制器進行硬件改進和軟件開發(fā),,并相應開發(fā)出上位機監(jiān)控系統(tǒng),實現(xiàn)了多臺機器人的網(wǎng)絡互聯(lián),,最終實現(xiàn)基于CAN網(wǎng)絡的機器人生產(chǎn)線集成系統(tǒng),。

  關鍵詞: 機器人控制器? 現(xiàn)場總線? CAN總線? 通信協(xié)議

?

  制造車間底層設備自動化,近幾年仍是我國開展新技術研究和新技術應用工程及產(chǎn)品開發(fā)的主要領域,,其市場需求不斷增大且越發(fā)活躍,,競爭也日益激烈。伴隨著工業(yè)機器人的產(chǎn)業(yè)化,,目前機器人系統(tǒng)的應用大多要求采用機器人生產(chǎn)線方式,,這就要求多臺機器人能通過網(wǎng)絡進行互聯(lián)。隨之而來的,在實際生產(chǎn)過程中,, 這種聯(lián)網(wǎng)的多機器人系統(tǒng)的調度,、維護工作也變得尤為重要。

  在計算機數(shù)據(jù)傳輸領域中,,長期以來使用RS-232和CCITT V.24通信標準,,盡管它們被廣泛地使用,但卻是一種低數(shù)據(jù)速率和點對點的數(shù)據(jù)傳輸標準,,無能力支持更高層次的計算機之間的功能操作,。因此需要在底層設計出一種造價低廉而又能適應工業(yè)現(xiàn)場環(huán)境的通信系統(tǒng),現(xiàn)場總線就是在這種背景下產(chǎn)生的,。與一般總線相比,,CAN總線的數(shù)據(jù)通信具有突出的可靠性、實時性和靈活性,,是適用于生產(chǎn)制造過程和驅動系統(tǒng)的總線協(xié)議,。

1 系統(tǒng)總體結構

  制造車間底層電器裝置聯(lián)網(wǎng)是近幾年內(nèi)技術發(fā)展的重點。其電器裝置包括有:運動控制器(調速,、定位、隨動等),、基于微處理器的傳感器,、專用設備控制器(如點焊機、弧焊機)等底層設備,、在這些裝置所構成的網(wǎng)絡上另有車間級管理機,、監(jiān)控機或生產(chǎn)單元控制器等非底層裝置。

  結合實際情況和要求,,將機器人控制器視為運動控制器(理解為底層設備),,具體工作將基于圖1所示的模型。

?

?

  本系統(tǒng)監(jiān)控機采用Advantech公司的PCL-841雙端口CAN接口卡,。它將占用4KB的地址空間,,而且基地址可由用戶從C800H~EF00H任意選擇。中斷也可從3~15(8,、13,、14)任意選擇??刂破髦胁捎眉蒔C-104的CAN接口卡,。

2 系統(tǒng)實現(xiàn)

2.1 監(jiān)控機軟件部分

  監(jiān)控機系統(tǒng)軟件層次如圖2所示。

?

2.1.1數(shù)據(jù)庫部分

  由于上位機系統(tǒng)需要管理的數(shù)據(jù)量很大,,而且數(shù)據(jù)必須長久地被保留;一旦系統(tǒng)發(fā)生軟硬件故障,,數(shù)據(jù)還要可恢復;而且若干個用戶應當能夠按照一定的、有序的方式存取數(shù)據(jù),避免同步存取可能造成的錯誤,,因此上位機軟件要采用一般應用程序與數(shù)據(jù)庫相結合的編程技術,。

  DAO(數(shù)據(jù)庫訪問對象)提供了一種通過程序代碼創(chuàng)建和操作數(shù)據(jù)庫的機制。而MFC DAO是微軟推出的用于在Visual C++中訪問Microsoft Jet數(shù)據(jù)庫文件的強有力的數(shù)據(jù)庫開發(fā)工具,,它通過對DAO對象的封裝,,向程序員提供了豐富的數(shù)據(jù)庫訪問和數(shù)據(jù)庫操作手段。

  本系統(tǒng)中,,將創(chuàng)建諸如生產(chǎn)線上機器人的工作總表,、弧焊參數(shù)表、點焊參數(shù)表等若干個管理數(shù)據(jù)庫表,。通過這些表格,,監(jiān)控人員將能夠通過離線的計算機完成對生產(chǎn)線上各臺機器人運行狀況的的記錄、統(tǒng)計,、管理,、運行報表打印等功能,以實現(xiàn)宏觀的管理,。

  而對于諸如系統(tǒng)I/O量,、碼盤值等實時信息則存放于一般內(nèi)存中,這樣就避免了煩瑣的數(shù)據(jù)庫操作,,提高了實時性,。

2.1.2 通訊協(xié)議部分

  為了實現(xiàn)管理計算機與機器人控制器的實時通訊,兩者必須建立適合CAN總線特點的,、合理的通訊協(xié)議,,最終采用的是“命令+參數(shù)”的協(xié)議形式和“多主競爭的總線仲裁”方式。比如以第一字節(jié)01代表接收數(shù)據(jù),,第二字節(jié)01代表接收文件;第一字節(jié)02代表發(fā)送數(shù)據(jù)等,,具體的操作協(xié)議在此不再詳述。

  “多主競爭的總線仲裁”的通信方式是CAN總線的一大優(yōu)點,。也就是說,,CAN網(wǎng)絡中的任意節(jié)點均可作為主節(jié)點與其他節(jié)點交換數(shù)據(jù)。而且CAN協(xié)議規(guī)定,,標識符可定義為屏蔽的或非屏蔽的,,這樣就使監(jiān)控機或控制器的CAN卡可以接收多個標識符(例如來自生產(chǎn)線上不同的機器人控制器)的數(shù)據(jù)。利用此特點,,在監(jiān)控機和控制器的軟件設計中,,使用了標識符的低三位來識別接收數(shù)據(jù)的類型。比如低三位(D2,,D1,,D0)為000,則表示此包數(shù)據(jù)是命令,001表示此包數(shù)據(jù)是應答……而通過CAN協(xié)議的非破壞網(wǎng)絡仲裁,,000為最高優(yōu)先級將首先被處理為發(fā)送節(jié)點,,接下來是001,依此類推,。

2.1.3 把CAN卡功能封裝為ActiveX控件

  ActiveX控件作為標準的控件技術可供JavaScritp,、VBScript、Java,、VB,、VC等應用程序所使用,對軟件的集成開發(fā)具有重要的意義,。

  由此原因,,并根據(jù)工業(yè)機器人控制器系統(tǒng)的特點,將CAN卡所提供的API函數(shù)及由其函數(shù)進一步實現(xiàn)的用于機器人系統(tǒng)的功能和屬性封裝為控件,,使應用軟件更加結構化,,而且更適合工業(yè)機器人產(chǎn)品的應用和需要。

2.2 控制器實時操作系統(tǒng)部分

  控制器系統(tǒng)軟件采用的是實時多任務操作系統(tǒng),。而根據(jù)多任務操作系統(tǒng)的任務劃分方法和本系統(tǒng)自身的特點,,最終決定與上位監(jiān)控計算機的CAN網(wǎng)絡通訊采用一個獨立的且優(yōu)先級較高的任務來完成,即如圖3中所示的通訊任務,,此任務完成利用串口的通訊和CAN網(wǎng)絡的通訊,。

?

?

  這樣,生產(chǎn)線上的每臺機器人控制器就可以作為車間底層設備加入到網(wǎng)絡中,,從而構成具有監(jiān)控功能的分布式機器人生產(chǎn)線系統(tǒng)。

2.3 具體功能和運行方式

  這項工作的完成將為機器人控制器產(chǎn)品增加聯(lián)網(wǎng)功能,,并將投入到實際的應用工程中,。完成了下述一些功能:

  (1)實現(xiàn)生產(chǎn)線上各臺機器人運行狀況的記錄、統(tǒng)計,、管理,,運行報表的打印等功能。比如在一天的弧焊作業(yè)中,,被監(jiān)測機器人參與工作的數(shù)目,、每臺機器人出現(xiàn)故障的次數(shù)、停機的次數(shù),、每次焊接的參數(shù)等,;

  (2)實現(xiàn)機器人控制器的實時狀態(tài)監(jiān)視(包括各碼盤值、I/O量,、系統(tǒng)狀態(tài)等),、調試(包括離線編程和示教)、報警(如焊鉗的粘連)、維護(如系統(tǒng)從異常狀態(tài)的恢復)等功能,;

  (3)作業(yè)任務的分配和調度,,以及作業(yè)任務的上傳與下載;

  (4)軟件PLC的實現(xiàn),。為了簡化硬件的開銷,,將初步在控制器中利用軟件PLC,也就是說將PLC功能作為控制器操作系統(tǒng)的一個獨立的任務來實現(xiàn),,而具體的PLC程序則由上位PC機離線編程實現(xiàn),,并通過CAN總線下裝到控制器中。

  把CAN總線技術充分應用于現(xiàn)有的控制器當中,,將可開發(fā)出高性能的多機器人生產(chǎn)線系統(tǒng),。圖4舉例說明某控制器將文件上傳給監(jiān)控機軟件的工作流程圖。

?

?

????利用現(xiàn)有的控制技術,,結合控制局域網(wǎng)(CAN)技術和通信技術,,通過對現(xiàn)有的機器人控制器進行硬件改進和軟件開發(fā),并相應地開發(fā)出上位機監(jiān)控軟件,,從而實現(xiàn)多臺機器人的網(wǎng)絡互聯(lián),。最終實現(xiàn)基于CAN網(wǎng)絡的機器人生產(chǎn)線集成系統(tǒng)。這樣做的好處很多,,比如:

  (1)實現(xiàn)單根電纜串接全部設備,,節(jié)省安裝維護開銷;

  (2)提高實時性,信息可共享;提高多控制器系統(tǒng)的監(jiān)測,、診斷和控制性能;

  (3)通過離線的任務調度,,作業(yè)的下載以及錯誤監(jiān)控等技術,把一部分人從機器人工作的現(xiàn)場徹底脫離出來,。

?

參考文獻

1 鄔寬明.CAN總線原理和應用系統(tǒng)設計.北京:北京航空航天大學出版社,,1996

2 陽憲惠,林強.淺談現(xiàn)場總線開放系統(tǒng)的系統(tǒng)集成與應用集成.工業(yè)控制計算機,,1999;12(5)

3 陽憲惠.現(xiàn)場總線技術及其應用.北京:清華大學出版社,,1999

4 李博軒.Visual C++6.0數(shù)據(jù)庫開發(fā)指南.北京:清華大學出版社,2000

5 陳建春.Visual C++高級編程技術.北京:電子工業(yè)出版社,,1999

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點,。轉載的所有的文章,、圖片、音/視頻文件等資料的版權歸版權所有權人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權者,。如涉及作品內(nèi)容,、版權和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。