《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 激光加工機器人通信協議設計
激光加工機器人通信協議設計
Icbuy
Icbuy
摘要: 機器人目前應用十分廣泛,在工業、科研、醫學等領域發揮了重要作用。我們知道,機器人的指令需要我們來提供。目前,工業機器人的指令一般都是通過示教盒輸入的。示教盒提供了簡單的人機界面,可以幫助完成簡單的示教任務。但在許多應用中,僅通過示教輸入是無法滿足要求的。在激光加工機器人系統中,要給機器人的指令多達幾萬條,而且指令的參數不能示教得到,是由其他測量系統提供的。在這種情況下,需要通過上位機給機器人控制器發送指令。這就需要實現機器人控制器和上位機的實時通信。機器人指令有固定格式,機器人通信有其特殊性。為了保證通信的可靠性,提高通信效率,可根據機器人通信特點,制定了相應的通信協議,并制作了專用的、更適合于工業應用的上位機通信控件。
Abstract:
Key words :
  機器人目前應用十分廣泛,在工業、科研、醫學等領域發揮了重要作用。我們知道,機器人的指令需要我們來提供。目前,工業機器人的指令一般都是通過示教盒輸入的。示教盒提供了簡單的人機界面,可以幫助完成簡單的示教任務。但在許多應用中,僅通過示教輸入是無法滿足要求的。在激光加工機器人系統中,要給機器人的指令多達幾萬條,而且指令的參數不能示教得到,是由其他測量系統提供的。在這種情況下,需要通過上位機給機器人控制器發送指令。這就需要實現機器人控制器和上位機的實時通信。機器人指令有固定格式,機器人通信有其特殊性。為了保證通信的可靠性,提高通信效率,可根據機器人通信特點,制定了相應的通信協議,并制作了專用的、更適合于工業應用的上位機通信控件。

  1 機器人主控計算機

  機器人控制器中最重要的是主控計算機。在激光加工機器人中,主控計算機采用基于PC總線S 104/486DX工業控制級嵌入式單板計算機,其核心是AMD 80486 DX微處理器。主控計算機提供串行接口,可以和它進行串口通信。主控計算機內部的信息處理由機器人控制器操作系統來實現。整個系統采用了實時多任務操作系統VRTXsa來實現,它具有很好的實時性和可靠性,同時具有完善的任務管理機制。

  2 激光加工機器人通信系統結構

  機器人的運動指令來自通信系統。在我們的通信系統中,主要包括上位機應用程序、串口控件、串口和機器人主控計算機(下稱下位機)。上位機應用程序產生指令,通過控件訪問串行端口,將指令傳給下位機。下位機收到指令后,對指令進行分析處理。對于下位機來說,這些指令分兩種:一種是解釋執行指令,需要進入命令隊列,排隊執行,占用緩存;另一種是立即執行指令,不需要進入隊列,不占用緩存。對于解釋執行指令,下位機收到后,把指令放入隊列后馬上返回應答。對于立即執行指令,先執行該指令,然后才返回應答。查詢指令屬于立即執行指令,下位機除了返回命令在命令字外,還同時返回相應的數值。上位機根據返回的應答判斷通信的狀態,并進行相應的處理。

  3 通信協議

  我們的激光加工機器人通信系統具有以下特點:

  1)機器人只會按指令進行工作,如果指令有問題,將會帶來不可預測的后果。所以對于我們的通信系統來說,可靠性、安全性是首要的。

  2)機器人工作環境比較惡劣,各種干擾比較大。通信的抗干擾能力、錯誤處理的能力非常重要。

  3)為了提高加工效率,希望機器人能以較快的速度進行工作。

  為避免機器人出現“空指令”,通信速度要跟得上?;跈C器人通信系統自身的特點,上位機和它進行通信,必須滿足其特定的要求。我們采用如下的通信方式:

  (1)主從方式。上位機為主機,下位機為從機。一般情況下,下位機不能主動給上位機發送信息。只有上位機給下位機發出指令后,下位機才能作出應答。這樣通過上位機,我們就可以很好地控制整個通信過程。

  (2)數據幀方式。采用數據幀的方式,有利于保證數據包的完整性,便于進行數據接收和處理。在我們的通信系統中,上位機和下位機均采用相同的協議對通信數據進行打包、解包。我們自己定義幀頭為eb 90 82,幀尾為9082,幀標志為f0。另外規定,有效數據中若出現90,則雙寫90,用以區別幀尾中的900數據幀格式如下所示:

  {幀頭一幀標志一通信數據一幀尾一校驗字}

  另外,在我們的通信過程中,要處理各種不同類型的數據,包括char’ , short型、float型、byte型等,在有效數據前加入標識符來識別它們。如f0 06表示6個浮點數,f3 05表示5個字符。

  (3)校驗和。這是一種簡單而實用的校驗方式。在上位機發送指令前,自動計算數據的和,并將它附在數據幀的末端,一起發送給下位機。下位機在接收到數據幀后,先解包,然后再計算一次數據和,用它與數據幀末端的校驗和進行比較。反之亦然。使用這種方式可以檢驗數據在傳輸的過程中是否發生了變異。

  (4)自動重發機制。下位機在接收到錯誤的數據幀時,將會把該數據幀遺棄掉,同時向上位機返回錯誤碼報錯。這時候,該幀數據需要重新發送。如果把重發任務交給應用程序,程序將變得比較復雜。我們把這個任務交給控件,可以很輕松的實現重發功能。在控件內部,當新的數據發送之前,都將數據做一個備份,直到確認接收正確了,才將其消除。如果發現有錯誤,將其再次發出去。

  (5)應答方式。在通信過程,下位機對上位機每一幀數據都必須做出的應答。上位機根據返回的應答判斷通信狀態,然后進行下一步動作。為了安全起見,規定只有在確認前一包指令正確應答之后,才可以發下一包指令。對于非查詢指令(包括全部解釋執行指令和部分立即執行指令),下位機收到后,返回該指令的命令字;對于查詢指令,除了返回命令字之外,同時還返回查詢數據,如機器人的位置、各軸轉角等。如果下位機檢測到數據幀有問題,如無幀頭、校驗和錯等,則返回相應的錯誤碼。上位機在發送指令的時候,同時記錄下了該指令的命令字。在接收到下位機返回的應答后,將其中的命令字與保留的命令字比較,如果一樣,則說明發送正確,可以發送下一條指令;反之,則說明指令發送有問題,根據錯誤碼進行錯誤處理,并重發當前指令包。指令的發送和應答的接收過程如圖1所示。

  (6)成組指令發送方式。由于機器人的運行速度很快,為了能保證指令發送速度能跟上運行速度,因此在一個數據報里同時發送了多條指令,而下位機只需應答第一條指令。這樣就減少了應答時間,提高了指令的發送速度。實際應用中,我們采用7條指令一個數據報,結果顯示,速度快了大約37。為了安全和處理方便,控件只允許解釋執行指令成組發送,對于立即指令,只能發送單指令數據報。

  4 通信的實現

  4.1 下位機通信任務的實現

  在實時多任務系統中,一項工作的完成往往需要通過多個任務(中斷)共同完成的。這需要各任務及中斷協調動作,相互配合,甚至進行通信。VRTXsa提供了郵箱(mailbox),隊列(queue)、事件標志(event flag)、信號量(semaphore)互斥體(mutexes) 5種通信機制。在下位機通信系統中,通信工作由串口2中斷、時鐘中斷、監控任務、顯示任務、執行任務等共同協調完成的。如圖2所示。

  機器人收到上位機的指令后,串口2中斷發生,它的中斷服務程序啟動。它將設置中斷同步標志,觸發串口2任務程序。串口2任務將處理接收到的上位機數據,將解釋指令放入命令隊列中,并設置相關標志。在一個時鐘周期內(16ms),所有任務執行一遍,它們根據相關標志,完成相應的工作,如讀取命令隊列,執行命令,給上位機返回應答。

  串口2任務程序如下:

  void far com2_ task(void)

  {刀初始化

  刀裝載串口2中斷

  sys_ load vrtx_ isr(Ox34,com- isr);

  刀允許串口2中斷

  n8259_ inerrupt enable(4);

  while(true)

  刀等待串口2中斷

  ev_group=sc_ fpend(group_ id,0,4,0,&erro);

  刀中斷到來,清中斷同步標志

  ev_group=sc_ fclear(gruop_ id,4,&err);

  read_ CommData();//處理并讀取數據

  刀處理各種指令,并設置各相關標志

  process_ Comm (BYTE *Buff,BYTE *cPtr);

  4.2 上位機通信控件的實現

  為了便于用戶使用,把上位機的通信功能封裝到ActiveX控件中。選擇VC++6進行通信控件的開發,串口操作使用API函數來實現??丶胁捎昧硕嗑€程技術。為監控串口任務創建了一個工作線程,以免它堵塞主線程,提高了系統的響應性。通信控件采用了異步v0方式,以提高發送、接收和處理數據的效率。異步v0操作建立后會立即返回,即使操作還未完成。這樣把費時的v0操作放在后臺進行,線程就可以干別的事情,極大地提高了程序的運行效率。在串口通信中,有

  幾種讀取串口數據的方式,其中事件驅動是最有效率的方式。在監視串口的輔助線程中,當有數據到達時串口是,串口事件觸發,控件開始讀取串口輸入緩沖區的數據。如果沒有數據到達,那么使用WaitForMultipleObjects 0’數堵塞監測線程,把資源讓給其它線程。在使用線程堵塞技術之后,監視串口線程占用的系統資源大大減少,同時提高了指令的發送效率。串口讀寫和監控是通信的最主要部分,采用了異步v0操作,使得程序復雜化。異步v0操作分兩部分:一是創建該v0操作,然后返回;二是探測操作的完成。下面是讀串口的部分程序清單:

  void CCommCtrl::ReadChar(COMSTAT comstat)

  {

  while (comstat.cbInQue>0)f

  C1earCommERROR(mJWomm,&dwError,&comstat);

  if(!ReadFile(hcomm,&RXBuf,l,&dwRead,&m_ ov))

  f //ReadFile返回FALSE,判斷是出錯還是沒完成

  if(GetLastError()==ERROR IO_PENDING) f

  //沒完成,需要等待

  if(!GetOverlappedResult(hComm,&m- ov,

  &dwRead,TRUE)) //等待讀操作完成

  {…}刀完成讀操作,但出錯

  else //正確完成讀操作

  {…}//處理接收的字符

  else(…}/贖操作出錯

  else //讀操作在函數返回前已經完成

  {…}刀處理接收的字符

  }

  return; //沒有字符了,返回

  }

  寫串口程序和讀串口類似。監視線程的部分代碼如下:

  DINT CommWatch(LPVOID pParam)

  {刀清緩存

  PurgeComm(hcom,PURGE_ RXCLEAR I PURGE一XCLEAR I

  PURGE_ RXABORTIPURGE一XABORT);

  for(;;) f

  bResult2=WaitCommEvent(hcom,&dwEvtMask,&m一 ov);

  刀等待串口事件的發生

  if(!bResult2)[//事件WaitCommEvent返回假

  switch (dw=GetLastError(川

  case ERROR-10-PENDING://異步I/O操作(WaitCommEvent)/

  /進行中,正常情況

  {break;}

  default:[ // I/O操作出現錯誤

  ProcESSErrorMessage("WaitCommEvent()");

  break;}}}

  else{//事件WaitCommEven嶇回真,操作完成

  bResult2=C1earCommError(hcom,&dw, &commstat);

  if (commstat.cbInQue==0)

  continue;}

  刀堵塞線程,等待事件組發生。事件組包括:關閉線程事件、

  刀讀事件、寫事件

  Event=WaitForMultipleObjects(3, m- hEventArray, FALSE,

  INFINITE);

  switch (Event){//判斷是哪個事件發生

  case 0:f//關閉事件

  mJbThreadAlive= FALSE;

  AfxEndThread(100);//關閉線程

  break;)

  case 1:f//字符到達,讀字符

  bRead=TRUE;

  bResult=TRUE;

  GetCommMask(hcom, &CommEvent);

  if(CommEvent&EV_ RXCHAR)(

  刀通知控件句柄讀取字符

  ::SendMessage(CommWnd,WM_ COMM_ READ,0,0);)

  break;)

    case 2:{//寫事件

  //通知控件句柄寫串口

  ::SendMessage(CommWnd,WM_ COMM_ WRITE,0,0);)}}

  刀主循環結束

  return 0;}

  5 結束語

  我們根據激光加工機器人通信的特點,制定了相應的通信協議,同時采用了多種有效的編程方法,以達到安全、高效、實用的目的。經過大量的測試以及I年多工業運用表明,該通信協議及通信系統取得了很好的效果,完全達到了工業機器人通信的要求。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲女人天堂av| 国产在线精品二区| 日韩视频三区| 国产欧美精品在线播放| 美腿丝袜亚洲色图| 新狼窝色av性久久久久久| 在线精品视频一区二区三四| 欧美xart系列在线观看| 亚洲一区在线看| 日韩一区二区精品在线观看| 狠狠干成人综合网| 国产精品欧美风情| 久久国产精品99国产精| 在线视频日韩| 亚洲精品一区二区网址| 亚洲国产精品悠悠久久琪琪| 美女被久久久| 欧美伊人久久久久久午夜久久久久| 久久精品免视看| 国产在线精品一区二区中文| 久久精品成人一区二区三区| 欧美高清视频在线观看| 国产一区二区三区久久| 久久精品国产99国产精品| 亚洲一区二区三区免费观看| 国产日韩综合一区二区性色av| 久久综合电影| 99视频+国产日韩欧美| 国产精品拍天天在线| 欧美三日本三级少妇三99| 欧美日韩国产精品| 国产精品国产精品| 国产精品日本一区二区| 欧美伊人精品成人久久综合97| 一区二区三区四区蜜桃| 欧美a级一区| 国产精品ⅴa在线观看h| 欧美福利视频在线| 国外成人网址| 国产精品网站在线| 国产日韩在线不卡| 国产精品乱码一区二三区小蝌蚪| 亚洲精品乱码视频| 亚洲日本中文字幕免费在线不卡| 亚洲第一网站| 欧美一区国产二区| 亚洲黄网站在线观看| 亚洲免费在线观看视频| 国精产品99永久一区一区| 在线看片欧美| 久久免费少妇高潮久久精品99| 在线视频中文亚洲| 狠狠爱成人网| 欧美日韩精品免费看| 欧美视频中文一区二区三区在线观看| 久久久久久久999精品视频| 正在播放亚洲| 艳妇臀荡乳欲伦亚洲一区| 日韩亚洲国产精品| 国产午夜精品一区理论片飘花| 男女av一区三区二区色多| 亚洲一区二三| 黄色日韩在线| 亚洲电影av| 欧美性事免费在线观看| 久久久xxx| 亚洲视频视频在线| 欧美深夜影院| 在线成人www免费观看视频| 激情久久久久久久久久久久久久久久| 美女性感视频久久久| 欧美黄色一级视频| 国产亚洲欧美一级| 欧美成人官网二区| 国内自拍亚洲| 欧美喷水视频| 久久久精品国产免大香伊| 亚洲精品网址在线观看| 国产日韩av高清| 国产精品色婷婷| 亚洲国产精品第一区二区| 性欧美精品高清| 欧美中文在线观看| 欧美日韩精选| 欧美亚洲一区二区三区| 国产亚洲激情| 久久久午夜电影| 亚洲国产va精品久久久不卡综合| 国产一区二区三区黄| 免费中文字幕日韩欧美| 女生裸体视频一区二区三区| 欧美成人午夜视频| 久久久久国产精品一区二区| 雨宫琴音一区二区在线| 欧美性猛片xxxx免费看久爱| 久久成人这里只有精品| 亚洲欧美日韩精品综合在线观看| 亚洲青涩在线| 亚洲电影观看| 亚洲精品视频啊美女在线直播| 午夜视频一区二区| 伊人久久综合97精品| 亚洲高清免费| 亚洲国产精品成人精品| 久久精品国产精品亚洲| 99热免费精品在线观看| 美女视频黄a大片欧美| 久久精品中文字幕一区| 免费日韩成人| 国产精品私拍pans大尺度在线| 最新成人av网站| 欧美日韩国产色综合一二三四| 新片速递亚洲合集欧美合集| 国产美女精品免费电影| 亚洲男人av电影| 国产精品一二一区| 女人色偷偷aa久久天堂| 久久久久久电影| 欧美三区美女| 国产一区二区三区不卡在线观看| 亚久久调教视频| 性久久久久久| 在线精品高清中文字幕| 欧美日韩国产一区二区三区地区| 欧美日韩国产首页在线观看| 亚洲国产婷婷综合在线精品| 欧美成人精品一区二区| 久久久综合免费视频| 亚洲精品国产无天堂网2021| 久久久精品999| 国产精品一区免费在线观看| 久久久在线视频| 久久久999精品视频| 久久免费高清视频| 国产精品久久久久久超碰| 欧美日本视频在线| 韩国三级电影久久久久久| 一本色道久久加勒比88综合| 亚洲欧美视频一区二区三区| 国产日韩欧美在线一区| 国产精品一区二区三区成人| 亚欧美中日韩视频| 欧美国产激情二区三区| 1024精品一区二区三区| 老司机一区二区三区| 欧美日韩综合视频| 国内精品国语自产拍在线观看| 国产精品欧美久久| 两个人的视频www国产精品| 在线成人亚洲| 亚洲国产综合在线看不卡| 欧美日韩亚洲一区二区三区四区| 一区二区三区在线观看视频| 国产综合欧美在线看| 欧美激情按摩| 久久精品五月婷婷| 午夜亚洲激情| 国产精品国产三级国产| 一区二区三区在线免费视频| 激情欧美一区二区三区在线观看| 亚洲一区二区免费在线| 久久精品在线| 久久精品五月婷婷| 久久久噜噜噜久久中文字免| 亚洲午夜在线观看| 国产精品九九| 国产精品综合av一区二区国产馆| 伊人成综合网伊人222| 欧美—级a级欧美特级ar全黄| 亚洲愉拍自拍另类高清精品| 久久精品2019中文字幕| 亚洲制服av| 影音先锋中文字幕一区二区| 亚洲精品久久久一区二区三区| 欧美日韩一区免费| 91久久久精品| 激情五月婷婷综合| 国产精品午夜电影| 国产精品成人一区二区三区吃奶| 一区二区三区视频在线播放| 久久免费的精品国产v∧| 欧美精品18| 久久久999精品免费| 亚洲精品你懂的| 校园春色综合网| 国产精品揄拍一区二区| 亚洲女人小视频在线观看| 久久青青草综合| 久久久伊人欧美| 国产欧美 在线欧美| 9i看片成人免费高清| 亚洲高清毛片| 亚洲美女在线国产| 国产日韩欧美不卡| 欧美视频在线观看一区| 国产中文一区二区三区| 久久激情网站| 夜夜嗨网站十八久久| 久久亚洲欧美| 亚洲女人天堂成人av在线| 麻豆视频一区二区| 久久综合久久综合久久| 一区二区毛片| 欧美日韩精品免费观看视一区二区| 亚洲国产欧美在线| 99精品热视频只有精品10| 国产精品三级视频| 午夜在线a亚洲v天堂网2018| 欧美久久久久久蜜桃| 另类尿喷潮videofree| 毛片av中文字幕一区二区| 日韩亚洲在线观看| 亚洲视频免费在线观看| 日韩网站在线| 欧美日韩91| 一区二区久久久久| 国产精品超碰97尤物18| 欧美久久电影| 欧美日韩国产一中文字不卡| 伊人色综合久久天天| 午夜精品影院| 日韩视频免费观看| 亚洲第一在线综合在线| 国产尤物精品| 国产精品成人国产乱一区| 久久久999精品免费| 久久久久国产精品人| 欧美一区二区成人| 久久久精品动漫| 国产一区av在线| 亚洲婷婷国产精品电影人久久| 91久久精品国产91久久| 激情综合五月天| 欧美视频中文一区二区三区在线观看| 欧美日韩视频免费播放| 亚洲自拍偷拍色片视频| 亚洲欧美精品在线| 亚洲片国产一区一级在线观看| 久久久噜噜噜久久中文字幕色伊伊| 欧美四级在线| 亚洲理论电影网| 欧美日韩国产精品一区二区亚洲| 国产精品视频免费一区| 欧美日韩的一区二区| 夜久久久久久| 亚洲欧美综合国产精品一区| 亚洲电影免费在线观看| 一本久久综合亚洲鲁鲁五月天| 久久婷婷久久一区二区三区| 亚洲国产天堂久久国产91| 国产日韩欧美精品一区| 欧美激情麻豆| 一区二区高清视频在线观看| 欧美一区二区女人| 国产日韩欧美综合| 国产永久精品大片wwwapp| 欧美激情性爽国产精品17p| 亚洲在线观看免费| 伊人久久综合97精品| 久久久99精品免费观看不卡| 欧美r片在线| 午夜精品久久久久久久久| 国产亚洲精品福利| 国产一区 二区 三区一级| 欧美丝袜一区二区| 亚洲国产精品久久久久秋霞影院| 欧美一区二区三区视频在线| 亚洲一区二区欧美日韩| 夜夜嗨av一区二区三区四区| 国产精品二区在线| 国产精品―色哟哟| 狠狠做深爱婷婷久久综合一区| 亚洲欧美卡通另类91av| 欧美激情精品久久久六区热门| 亚洲欧美日韩国产一区二区三区| 欧美日韩一级黄| 亚洲精品久久嫩草网站秘色| 亚洲日本乱码在线观看| 亚洲精品一二区| 亚洲精品在线观看免费| 亚洲一区二区三区涩| 免费日韩av| 亚洲综合视频1区| 亚洲黄色在线观看| 亚洲一级一区| 亚洲日本中文字幕区| 国产伦精品一区二区三区视频孕妇| 欧美偷拍另类| 亚洲国产日韩美| 亚洲一区www| 国产亚洲欧美日韩在线一区| 欧美一区二视频| 久久久久免费观看| 欧美一级淫片播放口| 亚洲成色777777在线观看影院| 蜜臀99久久精品久久久久久软件| 亚洲第一精品福利| 一区二区三区回区在观看免费视频| 国内外成人免费激情在线视频| 亚洲欧美日韩国产| 久久久综合免费视频| 影音先锋中文字幕一区二区| 韩国成人理伦片免费播放| 免费成人激情视频| 国产又爽又黄的激情精品视频| 亚洲一区二区三区精品在线观看| 噜噜噜躁狠狠躁狠狠精品视频| 欧美视频一区二区三区| 免费观看日韩| 欧美精品一区二区蜜臀亚洲| 欧美日韩国产123区| 国产婷婷精品| 国产精品hd| 欧美激情亚洲一区| 欧美视频观看一区| 欧美日韩福利在线观看| 欧美日韩另类一区| 国产一区二区三区成人欧美日韩在线观看| 国产精品美女黄网| 欧美与欧洲交xxxx免费观看| 韩国在线一区| 91久久精品久久国产性色也91| 久久中文字幕一区二区三区| 亚洲欧美在线播放| 亚洲精品综合在线| 欧美一区亚洲二区| 在线视频欧美日韩| 国产毛片一区|