亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于SocketCan的機器人焊接控制系統(tǒng)研究

        2016-10-12 02:32:05李鵬徐凱陳魁
        電氣傳動 2016年7期
        關(guān)鍵詞:接收數(shù)據(jù)焊機字節(jié)

        李鵬,徐凱,陳魁

        (上海新時達機器人有限公司,上海 201801)

        基于SocketCan的機器人焊接控制系統(tǒng)研究

        李鵬,徐凱,陳魁

        (上海新時達機器人有限公司,上海 201801)

        在基于實時Linux的開放式機器人控制系統(tǒng)下,引入SocketCan為機器人焊接功能包提供了一個簡單易用、便于集成的焊機通訊、控制接口,通過USB轉(zhuǎn)CAN實現(xiàn)了簡單、可靠的通訊物理層,此焊機控制方式既解決了IO控制接線復雜問題,又能有效替代Canopen或Devicenet等總線控制方式,降低成本。采用此方式進行實焊,焊接工藝穩(wěn)定,焊縫質(zhì)量較好。

        SocketCan;工業(yè)機器人;USB;開放式

        目前隨著中國人口“紅利”的逐步消失,生產(chǎn)力成本上升以及產(chǎn)業(yè)結(jié)構(gòu)升級的需要,機器人代替人工成為了發(fā)展趨勢。焊接機器人因其可替代人工進行危險作業(yè),同時可大大提高焊接的速度,保障焊接質(zhì)量,從而在工業(yè)機器人的應(yīng)用中占據(jù)了很大的比重。

        目前焊接機器人主控單元與焊機之間的通訊方式主要有兩種:IO控制,總線控制。IO控制依靠數(shù)字IO來控制焊接的開關(guān),依靠模擬量來控制焊接的電流,IO控制無法進行高級焊接功能控制。而采用總線控制方式則可以簡化接線,同時可以在機器人控制器與焊機之間靈活進行控制與狀態(tài)信息的交互。目前焊接中采用較多的現(xiàn)場總線協(xié)議有Canoepn[1],Devicenet[2]等,但是采用標準現(xiàn)場總線需要在控制器側(cè)增加總線主站模塊,焊機側(cè)增加總線從站模塊,會對應(yīng)增加成本。

        CAN(controller area network)即控制器局域網(wǎng)是國際上應(yīng)用最為廣泛的總線之一,具有高速率、高抗電磁干擾性的特點,非常適合作為機器人控制器與焊機之間的底層通訊方式。而嵌入式實時Linux系統(tǒng)由于其代碼開放、易于移植、開發(fā)資源豐富、具有硬實時的特點,非常適合作為機器人控制器的操作系統(tǒng)[3]。這樣就需要在Linux系統(tǒng)下實現(xiàn)焊機CAN通訊的驅(qū)動,傳統(tǒng)實現(xiàn)方式是在Linux下開發(fā)CAN的字符設(shè)備,但是這樣提供的功能比較少,而且需要上層開發(fā)用戶熟悉硬件操作,無法形成統(tǒng)一的接口標準。SocketCan[4]則是Linux系統(tǒng)下CAN協(xié)議的一種實現(xiàn)方法,其目的是底層提供各種CAN設(shè)備驅(qū)動,中間跨接TCP/IP網(wǎng)絡(luò)層,在頂層提供像以太網(wǎng)一樣的Socket通訊接口,讓熟悉網(wǎng)絡(luò)編程的開發(fā)人員更容易使其應(yīng)用程序在Linux下訪問CAN總線。一個基本的焊接機器人控制系統(tǒng)如圖1所示,示教器與控制器之間通過以太網(wǎng)連接,焊機與控制器之間通過CAN總線連接,但是作為應(yīng)用開發(fā)工程師來說,這兩者的接口都是采用普通的Socket接口,即可實現(xiàn)與示教器和焊機的通訊。

        圖1 焊接機器人控制系統(tǒng)Fig.1 Welding robot control system

        1 SocketCan焊機通訊實現(xiàn)

        1.1焊機SocketCan通訊架

        基于SocketCan的焊機通訊架構(gòu)如圖2所示,分為5個層次:應(yīng)用層、協(xié)議層、網(wǎng)絡(luò)層、驅(qū)動層和硬件層。在硬件層我們沒有采用成本較高的CAN專用芯片,如SJA1000,而是采用了低成本的STM32芯片,利用其上的自帶的CAN通訊接口以及USB通訊接口,通過程序控制在芯片內(nèi)實現(xiàn)USB轉(zhuǎn)CAN功能,同時在Linux系統(tǒng)下開發(fā)對應(yīng)的USB驅(qū)動程序,配合完成USB轉(zhuǎn)CAN的功能。驅(qū)動層則是SocketCan工程下針對不同的CAN硬件設(shè)備而提供不同的驅(qū)動模塊,網(wǎng)絡(luò)層直接使用Linux系統(tǒng)下的網(wǎng)絡(luò)層,在協(xié)議層Socket-Can則注冊增加了“CAN_ISOTP”,“CAN_GW”,“CAN_RAW”以及“CAN_BCM”幾種SocketCan的協(xié)議,協(xié)議層、網(wǎng)絡(luò)層、驅(qū)動層共同構(gòu)成了SocketCan的完整通訊方案。在應(yīng)用層開發(fā)者調(diào)用通用的Socket接口,可以實現(xiàn)對CAN數(shù)據(jù)的發(fā)送與讀取,此處基于Socket接口針對不同型號的焊機,定義不同的焊機控制協(xié)議解析模塊,然后為頂層的焊接功能包提供統(tǒng)一的焊接控制接口,實際使用時可根據(jù)現(xiàn)場實際使用的焊機,用戶從機器人示教器上選擇焊機型號,自動選擇對應(yīng)的焊機協(xié)議解析模塊,實現(xiàn)對實際焊機的通訊控制。

        圖2 焊機SocketCan通訊架構(gòu)Fig.2 Socketcan communication framework

        1.2焊機通訊數(shù)據(jù)幀

        在SocketCan焊機通訊系統(tǒng)中,總共存在3種數(shù)據(jù)幀:網(wǎng)絡(luò)幀(skb_frame)、CAN數(shù)據(jù)幀(can_frame)、USB轉(zhuǎn)CAN數(shù)據(jù)幀(usb_can frame)。用戶在應(yīng)用層調(diào)用Socket后,接收與發(fā)送的是網(wǎng)絡(luò)幀,而在硬件層CAN接口處接收和發(fā)送的是CAN數(shù)據(jù)幀。在驅(qū)動層與硬件層之間需要對這兩種數(shù)據(jù)幀進行互相轉(zhuǎn)化,同時需要在數(shù)據(jù)幀中增加Linux下驅(qū)動層與硬件層之間交互的特殊數(shù)據(jù),如通訊方式及參數(shù)配置等信息,這樣就需要我們自定義一種中間數(shù)據(jù)幀,成為USB轉(zhuǎn)CAN數(shù)據(jù)幀,此數(shù)據(jù)幀的結(jié)構(gòu)如圖3所示。

        圖3 Usb_can數(shù)據(jù)幀結(jié)構(gòu)Fig.3 Usb_can data frme structure

        此數(shù)據(jù)幀依據(jù)USB通訊協(xié)議,最大數(shù)據(jù)容量為64 bytes,整個數(shù)據(jù)幀分為3個段。第1段為幀頭4 bytes,第1字節(jié)是CAN數(shù)據(jù)包計數(shù),由于USB每次傳送數(shù)據(jù)包為64字節(jié),我們盡量提高通訊效率,會在此數(shù)據(jù)幀內(nèi)最大限度地填充消息,這樣驅(qū)動層接收到后,依據(jù)此字節(jié)判斷此數(shù)據(jù)幀內(nèi)含有多少個消息,后3字節(jié)預留。第2段為消息幀頭11 bytes,其中第1字節(jié)描述此消息的類型,第2字節(jié)描述此消息的長度,后9個字節(jié)為預留。第3段為具體的消息,最大49字節(jié),是對應(yīng)消息類型的實際消息數(shù)據(jù)。此數(shù)據(jù)幀內(nèi)可以排列多個消息,消息個數(shù)就是此幀頭的第1個字節(jié)。對于skb_frame和can_frame,是標準格式,再此不加贅述。

        1.3USB轉(zhuǎn)CAN的實現(xiàn)

        硬件層采用STM32芯片,內(nèi)部實現(xiàn)USB轉(zhuǎn)CAN,其實現(xiàn)原理如圖4所示。

        圖4 STM32內(nèi)USB轉(zhuǎn)CAN實現(xiàn)原理Fig.4 Realizarion principle of USB to CAN in STM32

        圖4內(nèi)部設(shè)有發(fā)送和接收數(shù)據(jù)緩沖區(qū),用來匹配USB與CAN總線通訊響應(yīng)和速率的不一致。Linux下驅(qū)動層發(fā)送USB數(shù)據(jù)后,產(chǎn)生USB中斷,接收usb_can frame,解包成CAN數(shù)據(jù)幀后放入發(fā)送緩沖區(qū),CAN接口接收到外部數(shù)據(jù)后產(chǎn)生CAN中斷,接收CAN frame,打包成usb_can frame后放入接收數(shù)據(jù)幀。主循環(huán)程序則不斷輪詢2個數(shù)據(jù)緩沖區(qū),只要發(fā)送數(shù)據(jù)緩沖區(qū)內(nèi)有未下發(fā)數(shù)據(jù)就調(diào)用CAN發(fā)送,只要接收數(shù)據(jù)緩沖區(qū)內(nèi)有未上傳數(shù)據(jù)就調(diào)用USB批量上傳函數(shù)上傳數(shù)據(jù),此過程的發(fā)送流程如圖5所示。

        圖5 USB,CAN發(fā)送流程圖Fig.5 Flowchart of USB and CAN data sending

        發(fā)送數(shù)據(jù)隊列和接收數(shù)據(jù)隊列采用FIFO機制,通過Put放入新數(shù)據(jù),通過Get獲取最先放入而未曾發(fā)送的數(shù)據(jù),Get指針跟隨Put指針而不會超過,2個指針到達隊列尾后自動跳轉(zhuǎn)到隊列頭部,形成環(huán)形隊列。同時接受數(shù)據(jù)隊列為了提高數(shù)據(jù)傳輸?shù)男?,采用動態(tài)裝入機制,即隊列每個幀最大64字節(jié),內(nèi)部可以自動適應(yīng)裝載最大量的消息,消息格式見圖3。發(fā)送與接收數(shù)據(jù)隊列結(jié)構(gòu)見圖6。

        圖6 發(fā)送與接收數(shù)據(jù)隊列結(jié)構(gòu)Fig.6 Data queue structure of receiving and sending

        2 機器人控制系統(tǒng)下集成

        機器人控制器采用開放式的控制架構(gòu),如圖7所示,硬件平臺采用X86架構(gòu)為機器人各種任務(wù),尤其是多軸運動學算法提供了強大的運算和調(diào)度平臺,實時Linux系統(tǒng)可以設(shè)置最小1 ms的實時任務(wù),實時抖動最大40 μs,使用Codesys[5]軟件平臺既提供了一個軟PLC的編程環(huán)境,又為機器人各種應(yīng)用功能提供了方便的集成接口,用戶可以在Codesys的集成開發(fā)環(huán)境下進行方便的二次開發(fā)及各種周邊設(shè)備的配置。在此架構(gòu)下,我們可以方便地將基于SocketCan的焊機控制系統(tǒng)進行集成,SocketCan的驅(qū)動及協(xié)議模塊直接運行在Linux系統(tǒng)下,圖2中的焊機解析協(xié)議可以通過Codesys提供的IoDriver功能,將其編譯打包成Codesys下可識別的不同類型的焊機設(shè)備,開發(fā)者可以在Codesys的集成開發(fā)環(huán)境下靈活配置焊機,映射焊機控制及狀態(tài)字,供焊接功能包調(diào)用。機器人控制系統(tǒng)下SocketCan通訊控制的啟動、運行流程如圖8所示。

        圖7 開放式機器人控制器架構(gòu)Fig.7 Architecture of open robot controler

        圖8 機器人控制系統(tǒng)下焊接控制順序Fig.8 Welding control sequence under robot control system

        3 測試

        使用本文所述的基于SocketCan的機器人焊接控制系統(tǒng),應(yīng)用在新時達機器人控制器SRM1000上,控制新時達SA1400機型,配置奧太焊機進行實際焊接應(yīng)用。圖9所示為Codesys下奧太焊機設(shè)備的配置及控制狀態(tài)字映射。在電梯門板線焊接應(yīng)用中,實際焊接效果良好。

        圖9 Codesys下奧太焊機的集成使用Fig.9 Integration and application of AOTAI welding machine in codesys

        4 結(jié)論

        本文提出了一種基于SocketCan的機器人控制系統(tǒng),通過USB轉(zhuǎn)CAN實現(xiàn)了通訊硬件層,在嵌入式實時Linux系統(tǒng)下移植了SocketCan的通訊模型,將焊機設(shè)備通過Socket接口,有效集成到了機器人開放式控制器的Codesys平臺下。最后通過實際焊機應(yīng)用驗證了此控制系統(tǒng)的可行性。通過應(yīng)用證明此焊接控制方式具有易于集成、通訊可靠、成本低的優(yōu)勢。

        [1] 蘇國火,宋永倫,趙雙喜.基于CANopen現(xiàn)場總線的分布式控制及應(yīng)用[J].電焊機,2014(11):128-131.

        [2] 譚甲凡,黎建輝.基于DeviceNet網(wǎng)絡(luò)的焊接生產(chǎn)線改造方案[J].南華大學學報(自然科學版),2007,21(3):37-40.

        [3] 鄭天江,宋孫浩,楊亞威,等.基于實時Linux的網(wǎng)絡(luò)化開放式運動控制器研究[J].制造業(yè)自動化,2015,37(10):36-39.

        [4]The SocketCan Wikipedia Website.https://de.wikipedia.org/ wiki/SocketCAN.

        [5] 王麗麗,康存鋒,馬春敏,等.基于Codesys的嵌入式軟PLC系統(tǒng)的設(shè)計與實現(xiàn)[J].現(xiàn)代制造工程,2007(3):54-56.

        Research of Robot Welding Control System Based on SocketCan

        LI Peng,XU Kai,CHEN Kui
        (Shanghai STEP Robotics Corporation,Shanghai 201801,China)

        Under open robot control system based on real-time Linux,SocketCan was introduced as an easy-to-use,integratable communication and control interface for robot welding.An easy and reliable physical layer was realized by using USB to CAN.This welding control method resolved the disadvantage of complex circuit caused by IO control and provided an efficient replacement of traditional fieldbus as Canopen or Devicenet with lower price. The practical wielding process with this method prove that the system work stable and reliable.

        SocketCan;industrial robot;USB;open

        TP242.2

        A

        2015-09-26

        修改稿日期:2016-01-25

        上海市科技人才計劃項目(14QB1404600)

        李鵬(1982-),男,博士研究生,工程師,Email:lipeng@steprobots.com

        猜你喜歡
        接收數(shù)據(jù)焊機字節(jié)
        No.8 字節(jié)跳動將推出獨立出口電商APP
        沖激噪聲背景下基于幅度預處理的測向新方法*
        No.10 “字節(jié)跳動手機”要來了?
        低復雜度多輸入多輸出雷達目標角度估計方法
        簡談MC7字節(jié)碼
        單片機模擬串口數(shù)據(jù)接收程序的實現(xiàn)及優(yōu)化
        基于PLC的轍叉閃光焊機控制系統(tǒng)
        焊接(2016年1期)2016-02-27 12:59:40
        基于PLC的薄板激光焊機控制系統(tǒng)
        焊接(2015年10期)2015-07-18 11:04:46
        基于PLC的鋼管TIG焊機控制系統(tǒng)
        焊接(2015年9期)2015-07-18 11:03:53
        基于UMAC的倒裝焊機運動控制系統(tǒng)
        国产短视频精品区第一页| 五月天中文字幕mv在线| 免费观看的av毛片的网站| 98bb国产精品视频| 亚洲一区二区av偷偷| 日韩一区二区三区久久精品| 免费视频成人片在线观看| 国产精品久久久久免费a∨| 国产午夜精品久久久久| 五月婷婷开心六月激情| 亚洲av综合色区| 日韩a毛片免费观看| 久久亚洲aⅴ精品网站婷婷| 男女视频一区二区三区在线观看| 国产激情一区二区三区成人| 国产98色在线 | 国产| 久久久久久成人毛片免费看| www.尤物视频.com| 中文字幕亚洲精品在线免费| 国产日产精品一区二区三区四区的特点| 国产精品无码久久久久| 国产精品爽爽va在线观看网站| 国产成人自拍小视频在线| 久久精品国产亚洲av影院毛片| 欧洲乱码伦视频免费| 2019最新国产不卡a| 国产成人自产拍免费视频| 加勒比东京热一区二区| 色欲av蜜桃一区二区三| 欧美在线a| 亚洲一区域二区域三区域四| 久久99亚洲精品久久久久 | 久久青青草原一区网站| 亚洲国产精品成人久久| 欧美xxxx黑人又粗又长精品| 亚洲欧美国产成人综合不卡| 日韩精品一区二区免费| 麻豆国产在线精品国偷产拍| 丝袜美女污污免费观看的网站| 黄色国产一区在线观看| 免费的日本一区二区三区视频|