• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于DeviceNet的機器人與焊機的通訊模塊設計

    2012-08-22 07:34:16李月恒劉全東孫德輝
    制造業(yè)自動化 2012年23期
    關鍵詞:輪詢焊機通訊

    李月恒,劉全東,孫德輝,揚 揚

    (1.北方工業(yè)大學 現(xiàn)場總線及自動化北京市重點實驗室,北京 100144;2.北方工業(yè)大學 信息工程學院,北京 100144)

    0 引言

    DeviceNet(設備網(wǎng))是一種基于CAN總線技術的開放型、符合全球工業(yè)標準的低成本、高性能的現(xiàn)場總線通訊網(wǎng)絡。它最初是由羅克韋爾自動化提出的,如今已經(jīng)是全球使用最廣泛的現(xiàn)場總線之一,在工廠自動化領域有明顯優(yōu)勢,能連接到變頻器、機器人、PLC等各類工控產(chǎn)品。由于采用了許多新技術及獨特的設計,與一般的通訊總線相比,DeviceNet網(wǎng)絡的數(shù)據(jù)通訊具有突出的高可靠性、實時性和靈活性。DeviceNet不僅可以接入更多、更復雜的設備,還可以為上層提供更多的信息和服務[1]。

    ABB致力于研發(fā)、生產(chǎn)機器人已有40多年的歷史,在世界范圍內(nèi)安裝了17.5萬多臺機器人[2]。ABB機器人集成有PROFINET,PROFIBUS DP,DeviceNet,EtherNet/IPTM等多種現(xiàn)場總線網(wǎng)絡,是現(xiàn)場總線技術應用的典型范例。ABB機器人早在1994年就進入了中國市場,經(jīng)過十幾年的發(fā)展,在中國,ABB先進的機器人自動化解決方案和包括白車身、沖壓自動化,動力總成和涂裝自動化在內(nèi)的四大系統(tǒng)正在為各大汽車整車廠和零部件供應商,以及消費品、鑄造、塑料和金屬加工業(yè)提供全面完善的服務。

    本文主要解決ABB機器人控制系統(tǒng)與焊機之間的通訊問題。焊接機器人由機器人和焊機組成,機器人控制器控制機器人的移動,可將機器人送到各個工作空間。焊機控制安裝在機器人手臂上的焊槍,決定焊接工作的進行。為了準確和可靠的完成焊接工作,必須使機器人手臂和焊機能夠正確的配合使用。因此需要把焊機接入到機器人系統(tǒng)中統(tǒng)一控制和調(diào)度。傳統(tǒng)的機器人控制系統(tǒng)直接通過 I/O 端口控制弧焊機的工作。在焊接場所惡劣的環(huán)境下,這種離散 I/O 端口控制方式具有現(xiàn)場布線困難和抗干擾能力差等缺點。采用DeviceNet現(xiàn)場總線的連接方式實現(xiàn)機器人與焊機之間的通訊可以克服現(xiàn)場環(huán)境對焊機工作造成的干擾。

    ABB機器人具備 DeviceNet 主站功能,可以采用 DeviceNet 現(xiàn)場總線接口與其他具有DeviceNet 接口的設備進行數(shù)據(jù)通訊。然而焊機提供的數(shù)字通訊方式為T061CAN通訊協(xié)議,不能直接連入 DeviceNet 總線網(wǎng)絡。為了實現(xiàn)機器人控制系統(tǒng)采用 DeviceNet接口與時代焊機進行數(shù)據(jù)通訊,需要設計一個總線通訊轉(zhuǎn)換單元,實現(xiàn)機器人通過DeviceNet總線與具有CAN總線接口的電焊機進行雙向數(shù)據(jù)通訊。

    1 通訊模塊的硬件設計

    本設計采用的處理器為LPC2129,它是NXP公司的32位工業(yè)級ARM7處理器,其內(nèi)部集成了兩個CAN控制器,只需外擴兩個CAN收發(fā)器即可實現(xiàn)CAN報文的收發(fā),達到與機器人和焊機進行通訊的目的。在一片處理器內(nèi)首先將機器人端的DeviceNet協(xié)議數(shù)據(jù)轉(zhuǎn)換成中間協(xié)議數(shù)據(jù),之后轉(zhuǎn)換成電焊機可以識別的自定義T061CAN協(xié)議數(shù)據(jù)。撥碼開關用來設置DeviceNet端的波特率及MAC地址,其中波特率的開關為3位,分別代表125Kbps、250Kbps、500Kbps;MAC 地址的開關為6位,地址為0~63。RS232既可作為程序下載接口,也可作為通用的RS232串口實現(xiàn)與上位機的通訊。另外擴展一片F(xiàn)M24CL08存儲器,主要用來存儲協(xié)議轉(zhuǎn)換模塊的配置參數(shù),例如DeviceNet側(cè)通訊參數(shù)、CAN側(cè)通訊參數(shù)、機器人與固件匹配參數(shù)、CAN口的ID等參數(shù);系統(tǒng)的供電電源采用24V的直流供電,并在內(nèi)部將24V電源轉(zhuǎn)化為模塊需要的5V、3.3V及1.8V電壓電源。整體的硬件結(jié)構如圖1所示。

    圖1 通訊模塊的硬件結(jié)構圖

    如圖所示,通訊模塊實現(xiàn)DeviceNet與CAN之間的通訊。機器人作為DeviceNet主站,通訊模塊便需要實現(xiàn)一個DeviceNet從站的功能;焊機作為CAN的從站,通訊模塊便需要實現(xiàn)一個CAN主站的功能。當處理器接收到機器人的DeviceNet數(shù)據(jù)時,協(xié)議轉(zhuǎn)換并打包為CAN包發(fā)給焊機;同樣,當處理器接收到焊機的CAN數(shù)據(jù)時,轉(zhuǎn)換為DeviceNet數(shù)據(jù)包并發(fā)送給機器人。

    圖2 DeviceNet對象模型

    2 DeviceNet及CAN協(xié)議介紹

    2.1 DeviceNet協(xié)議規(guī)范

    DeviceNetTM規(guī)范由Rockwell 自動化公司開發(fā),并將其作為一個基于CAN協(xié)議的開放式現(xiàn)場總線標準而公布[3]。最初的DeviceNet 產(chǎn)品在1995年初出現(xiàn)。DeviceNet協(xié)議特別為工廠自動控制而定制,它在美國和亞洲扮演了非常重要的角色。在歐洲,越來越多的系統(tǒng)方案使用DeviceNet來實現(xiàn)。DeviceNet協(xié)議是一個簡單、廉價而且高效的協(xié)議,適用于最低層的現(xiàn)場總線。

    DeviceNet采用對象建模的方法,將每個總線設備視為一個對象集合體的節(jié)點。這些節(jié)點的總線行為表現(xiàn)是其內(nèi)部對象之間相互作用的結(jié)果[4],如圖2所示為DeviceNet的對象模型。DeviceNet包括對象類 Identity、Message Router、DeviceNet、Connection、Assembly、Parameter、Application。一個對象代表設備內(nèi)一個部件的抽象描述,由它的數(shù)據(jù)或?qū)傩?、功能或服務以及它所定義的行為決定。對象的數(shù)據(jù)和服務通過一個分層的尋址概念進行尋址,包括MAC ID、分類ID、實例ID、屬性ID和服務代碼。

    DeviceNet連接包括顯式信息連接和I/O連接,I/O連接用于傳送對實時性要求較高的和面向控制的I/O報文,I/O報文的發(fā)送和接收設備都必須先行設定。顯式報文則適用于兩個設備間多用途的點對點報文傳遞,是典型的請求/響應通信方式,常用于節(jié)點配置、問題診斷和控制命令等[5]。DeviceNet 信息幀的格式如圖3所示,顯式信息和I/O信息的數(shù)據(jù)區(qū)都是0~8個字節(jié),如果超過8個字節(jié),則需要采用分段方式進行傳輸。

    圖3 DeviceNet信息幀格式

    2.2 焊機自定義CAN協(xié)議

    焊機通過CAN總線與通訊模塊連接,采用的協(xié)議為自定義的T061CAN通訊協(xié)議,協(xié)議分為內(nèi)部CAN和外部CAN,內(nèi)部CAN總線采用采用11位標識符幀標準格式,外部CAN總線采用采用29位標識符幀擴展格式。通訊模塊與焊機間的通訊屬于內(nèi)部CAN總線。

    焊機的通訊采用問答的方式進行,只有當焊機接收到CAN總線的提問時才會作出響應。通訊模塊向焊機寄存器寫數(shù)據(jù)時采用標準的數(shù)據(jù)幀,而讀取焊機寄存器的信息采用標準的遠程幀,標準數(shù)據(jù)幀格式如表1所示。遠程幀和數(shù)據(jù)幀相比,無數(shù)據(jù)域。

    表1 CAN標準數(shù)據(jù)幀格式

    內(nèi)部CAN總線的11位標識符定義為寄存器編號,最大可定義2048個寄存器,如表2所示。

    表2 內(nèi)部CAN標識符定義

    圖4 協(xié)議棧功能模塊圖

    3 DeviceNet從站協(xié)議代碼

    為了實現(xiàn)通訊模塊與機器人主站通過DeviceNet 現(xiàn)場總線進行數(shù)據(jù)傳輸,需要開發(fā)一個DeviceNet 從站節(jié)點。一個僅限組2的DeviceNet從站在通信模塊中以軟件的形式實現(xiàn),從站確保通訊模塊能夠通過DeviceNet接口接收到機器人的數(shù)據(jù)。DeviceNet從站源代碼的編寫是通訊的關鍵,也是整個設計中最困難的部分。完整的從站代碼組成了一套可以移植到其他DeviceNet從站產(chǎn)品上的DeviceNet協(xié)議棧,該協(xié)議棧的主要特點如下:

    1)支持DeviceNet預定義主/從連接模式;

    2)支 持 報 文 類 型:Poll, Strobe,Change of State/Cyclic;

    3)對硬件資源(ROM/RAM)最大程序進行優(yōu)化。

    如圖4所示為協(xié)議棧的功能模塊圖。通過協(xié)議棧,通訊模塊可以與機器人建立顯式信息連接以及4種I/O連接。協(xié)議棧還可以提供LED狀態(tài),定時器等功能函數(shù)。

    如圖5所示為DeviceNet主/從站連接的過程,當機器人發(fā)送一個請求命令時,DeviceNet必須對其進行響應。本通訊模塊屬于僅限組2設備,一個DeviceNet的組2服務器在通過重復MAC ID檢測上線后,需等待客戶機分配預定義主/從連接組并建立顯式信息連接,通過客戶機的配置和驗證后建立輪詢的I/O連接。根據(jù)DeviceNet主/從站的連接過程,DeviceNet從站必須對主站的請求進行響應。

    圖5 DeviceNet主/從站建立連接的過程

    4 通訊模塊的應用層軟件設計

    應用層程序調(diào)用協(xié)議棧相關函數(shù)接收機器人端的DeviceNet數(shù)據(jù),然后轉(zhuǎn)換為焊機的通訊規(guī)約格式,送入CAN驅(qū)動打包后發(fā)送給焊機。反之,當通訊模塊發(fā)送讀焊機命令后,若收到焊機響應數(shù)據(jù),則將該CAN數(shù)據(jù)轉(zhuǎn)換為DeviceNet規(guī)約格式并打包發(fā)返回到機器人。最終實現(xiàn)機器人和焊機之間的雙向數(shù)據(jù)交換。如圖6所示為通訊模塊的主程序流程圖。

    上電后,通訊模塊啟動,首先進行一次自檢,檢測它的MAC ID,波特率,EEPROM。自檢通過后,對LPC2129進行初始化,打開CAN收發(fā)中斷。在主循環(huán)里首先查看是否有新的機器人數(shù)據(jù),若有則將它轉(zhuǎn)換為焊機的格式寫到焊機內(nèi)部。若無機器人新數(shù)據(jù),則直接進入下一步,發(fā)送讀焊機命令,每發(fā)一條等待焊機響應,若在等待周期內(nèi)收到焊機響應,則在CAN接收中斷內(nèi)將接收到的焊機數(shù)據(jù)轉(zhuǎn)換為DeviceNet數(shù)據(jù)。

    Void DnsPollRequestUpdate(void)是協(xié)議棧部分DeviceNet數(shù)據(jù)的處理函數(shù),它在通訊模塊接收到一個完整的輪詢請求后被調(diào)用。該函數(shù)首先對本次接收到的數(shù)據(jù)和上次接收到的數(shù)據(jù)進行比較,只有當不同時才將接收到的新數(shù)據(jù)賦給aubAppOldConsData[i]以便被_U08 SendCAN2WriteMsg()函數(shù)調(diào)用后寫到焊機。這樣不僅減輕了CPU的處理負擔,還避免了焊機寄存器的不斷寫入。

    Void DnsPollResponseUpdate(void)也是協(xié)議棧部分DeviceNet數(shù)據(jù)的處理函數(shù),它在通訊模塊進行輪詢響應前被調(diào)用。該函數(shù)將讀焊機命令SendCAN2ReadMsg(_U08 i)的響應數(shù)據(jù)賦給aubAppPollProdData[ubCntByte]作為輪詢響應。

    應用層還具有的功能包括:讀取撥碼開關的值(MAC ID和波特率);設置輪詢I/O的長度;串口的相關功能。

    圖6 主程序流程圖

    5 編譯及調(diào)試

    軟件的編譯環(huán)境為Ubuntu,完整的程序可在Ubuntu上成功編譯并生成相應的hex文件。編譯路徑及其它設置由makefi le文件確定:

    # List of object fi les that need to be compiled

    #------------------------------------------------

    # DeviceNet slave object fi les

    DNS_OBJS = $(OBJ_DIR)/dns_cl01.o

    $(OBJ_DIR)/dns_cl02.o

    ……

    #-------------------------------------------------

    # Device / target CPU object fi les

    DEV_OBJS = $(OBJ_DIR)/lpc21xx_can.o

    $(OBJ_DIR)/lpc21xx_cpu.o

    $(OBJ_DIR)/lpc21xx_tmr.o

    # Application object fi les

    APP_OBJS = $(OBJ_DIR)/dns_main_mcb2100.o

    $(OBJ_DIR)/uart.o

    基于ARM7處理器LPC2129,通訊模塊實現(xiàn)了DeviceNet總線與CAN總線之間的通信。連接好機器人、通訊模塊與焊機并上電。在機器人控制面板里對DeviceNet總線進行設置,其從站地址為1,輸入長度為6字節(jié),輸出長度為63字節(jié),輪詢周期為10ms。然后再添加組輸入與組輸出。

    如表3所示為機器人輸入值的調(diào)試結(jié)果,其中焊機地址為0x1B4的值為32768,表示焊機狀態(tài)為初始化完成。焊機地址為0x1B5的值為0表示焊機的電源狀態(tài)正常,焊機地址為0x1B1的值為0表示焊機如輸入故障信息,當焊機斷電時,該值為49152表示焊機欠壓。

    表3 機器人輸入調(diào)試結(jié)果

    改變機器輸出組的值,焊機面板上相應的數(shù)據(jù)隨之發(fā)生變化。如表4所示為部分機器人輸出值與焊機值的比較,它表明機器人的輸出能正確寫入到焊機。

    表4 機器人輸出調(diào)試結(jié)果

    6 結(jié)束語

    本設計采用NXP公司的ARM7處理器LPC2129,實現(xiàn)了基于DeviceNet總線的機器人與基于CAN總線的焊機之間的通訊。充分利用了LPC2129的兩個CAN控制器設計了兩個CAN接口,一個接機器人端的DeviceNet總線,另一個接焊機端的T061CAN總線。機器人、焊機和通訊模塊同時上電后,機器人與通訊模塊間的DeviceNet總線先建立連接后進行I/O輪詢,機器人的輸出通過通訊模塊的轉(zhuǎn)換后通過CAN2接口被寫入焊機相應的寄存器。然后通訊模塊發(fā)出讀取焊機參數(shù)的命令并將焊機的返回值轉(zhuǎn)換為DeviceNet總線格式作為輪詢輸入返回到機器人。這樣便完成了一個完整的信息交換過程。實現(xiàn)表明,DeviceNet總線的輪詢周期小到10ms也能夠正??刂坪笝C。

    通訊模塊在惡劣的環(huán)境下經(jīng)歷了嚴格的測試,能夠滿足模塊化、數(shù)字化、網(wǎng)絡化要求。DeviceNet從站代碼經(jīng)過了ODVA的一致性測試,可移植到其他的產(chǎn)品上。

    [1] 陳在平, 張建峰, 賈超, 李其林. DeviceNet從節(jié)點智能通信接口設計與實現(xiàn)[J]. 制造業(yè)自動化, 2006, (7): 54-57.

    [2] 葉暉, 管小清. 工業(yè)機器人實操與應用技巧[M]. 北京: 機械工業(yè)出版社, 2010: 2-10.

    [3] ODVA. DeviceNet Specifi cation[S], Release 2.0, 1999.

    [4] 王雪, 甘永梅. DeviceNet現(xiàn)場總線從站通信接口的設計[J].工礦自動化, 2004, (2): 7-10.

    [5] 劉建昌, 錢曉龍, 馮立. CAN總線及DeviceNet現(xiàn)場總線[J].基礎自動化, 2001, 8(3): 1-3.

    猜你喜歡
    輪詢焊機通訊
    《茶葉通訊》簡介
    茶葉通訊(2022年2期)2022-11-15 08:53:56
    《茶葉通訊》簡介
    茶葉通訊(2022年3期)2022-11-11 08:43:50
    通訊報道
    基于等概率的ASON業(yè)務授權設計?
    通訊簡史
    依托站點狀態(tài)的兩級輪詢控制系統(tǒng)時延特性分析
    自動化學報(2016年8期)2016-04-16 03:38:56
    基于PLC的轍叉閃光焊機控制系統(tǒng)
    焊接(2016年1期)2016-02-27 12:59:40
    利用時間輪詢方式操作DDR3實現(xiàn)多模式下數(shù)據(jù)重排
    基于PLC的薄板激光焊機控制系統(tǒng)
    焊接(2015年10期)2015-07-18 11:04:46
    基于PLC的鋼管TIG焊機控制系統(tǒng)
    焊接(2015年9期)2015-07-18 11:03:53
    新密市| 玉树县| 昌邑市| 都江堰市| 湄潭县| 丁青县| 金寨县| 周至县| 辽源市| 五台县| 江口县| 邹城市| 德钦县| 根河市| 古田县| 防城港市| 阿瓦提县| 娄烦县| 太仓市| 五莲县| 桐柏县| 永兴县| 揭东县| 郴州市| 湘潭市| 茂名市| 大冶市| 西峡县| 五莲县| 全州县| 龙川县| 常州市| 安平县| 明星| 禄劝| 金川县| 沈丘县| 绥滨县| 玉门市| 永顺县| 微山县|