《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于PMAC的開放式工業機器人運動控制數據實時采集研究
基于PMAC的開放式工業機器人運動控制數據實時采集研究
2015年微型機與應用第20期
王進華1,2
1.華南理工大學 計算機科學與工程學院,廣東 廣州 510006; 2.羅定職業技術學院 電子信息系,廣東 云浮 527200
摘要: 實時數據采集與通信子系統是工業機器人運動控制系統的基本環節,PMAC卡作為底層控制器在工業機器人運動控制中廣泛應用。根據數據采集源、與上位機通信模式,對基于PMAC的數據采集方法進行分析,確定在線指令方式進行數據采集,定制了基于網口的開放通信模塊。在實現過程中采用了軟件模塊化、多線程、定時器、雙緩存等技術實現指令編碼、數據采集與解碼。測試結果證明了通信與采集子系統的穩定性和實時性。
Abstract:
Key words :

  摘  要: 實時數據采集與通信子系統是工業機器人運動控制系統的基本環節,PMAC卡作為底層控制器在工業機器人運動控制中廣泛應用。根據數據采集源、與上位機通信模式,對基于PMAC的數據采集方法進行分析,確定在線指令方式進行數據采集,定制了基于網口的開放通信模塊。在實現過程中采用了軟件模塊化、多線程、定時器、雙緩存等技術實現指令編碼、數據采集與解碼。測試結果證明了通信與采集子系統的穩定性和實時性

  關鍵詞: PMAC;開放控制;數據采集;實時性;機器人

0 引言

  在工業控制領域,實時數據采集是一個基本而且重要的環節,如何提高數據采集的實時性一直是工控技術人員所關心的問題[1]。多軸運動控制卡(Programmable Multi-Axis Controller,PMAC)集執行程序(運動程序和PLC程序)、數據采集、伺服環更新、資源管理等多個模塊一起協同工作,在工業機器人的運動控制中得到廣泛應用[2]。

1 基于PMAC的數據采集分析

  PMAC通過對機器人關節的4路數字信號解碼得到該關節的位置、速度、加速度等數據源,上位機采集這些數據進行運動學和動力學運算得到機器人實時的位置和運動信息。數據采集涉及數據采集源、通信模式、采集方法、數據解碼、人機交互[3]等。

  數據采集源指被采集的數據在卡上存儲的對象,主要有PMAC緩沖區、寄存器、雙端口RAM。

  PMAC主卡與上位機之間的通信模式有104總線接口、USB2.0以太網口、RS232串口等。

  結合通信模式和數據采集源,基于PMAC數據采集有雙端口RAM、Gather功能寄存器、PLC程序M變量、在線指令等采集方法。基于雙端口的數據采集從雙端口RAM中采集數據,不需要經過通信口發送命令和等待響應時間,實時性較好。基于Gather功能的數據采集從緩沖區采集數據,需要使用PMAC的通信驅動和Gather類函數,適合于大量信息進行數據采集[4]。基于PLC程序和在線指令的數據采集從I/O及運動寄存器獲取數據,需要使用PMAC的通信驅動和軟件定時器。基于在線指令的數據采集可以實時單點采集,也可以循環采集,而且可以基于以太網口定義開放式通信接口,獨立于PMAC驅動程序。

2 基于多線程技術和在線指令的實時數據采集

  2.1 多線程技術

  多線程編程技術應用于機器人控制,可在收發數據的同時進行數據的處理、狀態切換、屏幕刷新等任務,提高程序的實時性和軟件的整體性能[5]。本控制系統采用多線程技術實現,提高了數據采集的實時性,系統程序結構如圖1所示。

Image 001.png

  2.2 數據采集的編碼實現

  本文基于在線指令進行數據采集,自定義通信接口。

  2.2.1 開放式通訊接口

  目前所見的基于PMAC的機器人開放式運動控制器都利用了Delta Tau公司提供的PComm32PRO通信驅動程序,限制了控制器的開放性。為了支持嵌入式實時操作系統的應用開發,采用C++設計了PMAC開放式網口通信服務,供上層服務通過socket調用,數據規范如下:

  typedef struct tagEthernetCmd

  {

  BYTE RequestType;

  BYTE Request;

  WORD wValue;

  WORD wIndex;

  WORD wLength;

  BYTE bData[1492];

  }ETHERNETCMD,*PETHERNETCMD;

  PMAC卡IP地址是:192.6.94.5:1025。

  2.2.2 數據采集的編碼實現

  PMAC指令以及回傳的運動參數都是字符串,需要進行指令編碼和數據譯碼。

  struct PMACFPV

  //定義循環采集的速度和位置

  {

  double FP1;

  double FP2;

  double FV1;

  double FV2;

  };

  struct PMACFPV PMACPVF()

  //周期采集

  {

  struct PMACFPV PV;

  char AV1[255],AP1[255];

  long NV1,NP1;

  char AV2[255],AP2[255];

  long NV2,NP2;

  NV1=PmacGetResponseA(0,AV1,255,"#1V");

  PV.FV1=atof(AV1)/20;//速度譯碼

  NP1=PmacGetResponseA(0,AP1,255,"#1P");

  PV.FP1=atof(AP1)/20;//角度譯碼

  cout<<NV1<<endl;

  cout<<AV1<<endl;

  cout<<PV.FV1<<endl;

  cout<<NP1<<endl;

  cout<<AP1<<endl;

  cout<<PV.FP1<<endl;

  NV2=PmacGetResponseA(0,AV2,255,"#2V");

  PV.FV2=atof(AV2)/20;//速度譯碼

  NP2=PmacGetResponseA(0,AP2,255,"#2P");

  PV.FP2=atof(AP2)/20;//角度譯碼

  cout<<<<NV2<<endl;

  cout<<AV2<<endl;

  cout<<PV.FV2<<endl;

  cout<<NP2<<endl;

  cout<<AP2<<endl;

  cout<<PV.FP2<<endl;

  return PV;

  }

  char*PMACITOAP(double P1,double P2)

  //關節位置譯碼

  {

  double IP1=0,IP2=0;

  IP1=P1*20;

  IP2=P2*20;

  char*AP1=(char*)malloc(30*sizeof(char));

  char*AP2=(char*)malloc(30*sizeof(char));

  gcvt(IP1,15,AP1);

  gcvt(IP2,15,AP2);

  char*PAP1=(char*)malloc(sizeof(char)*100);

  char*PAP2=(char*)malloc(sizeof(char)*50);

  strcpy(PAP1,"X");

  strcat_s(PAP1,100,AP1);

  strcpy(PAP2,"Y");

  strcat_s(PAP2,50,AP2);

  strcat_s(PAP1,100,PAP2);

  printf("關節的位置譯碼結果是%s\n",PAP1);

  //輸出拼接結果

  return PAP1;

  free(AP1);//

  free(AP2);//

  free(PAP1);//

  free(PAP2);//

  }

  在嵌入式應用環境中進行數據循環采集需要預防產生內存泄露的情況發生,優化內存資源。

  2.3 控制系統平臺構建與軌跡跟隨測試

  2.3.1 控制系統平臺構建

  MOTOMAN、SEIKO等均把基于PC的機器人控制器作為發展方向[6],主要形式有:

  43F.tmp.jpg工控機+接口卡。接口卡不帶處理器,將各關節運動數據送入工控機,經伺服程序計算得到伺服電機的控制量[7],這種方式構建的系統具有很高的靈活性和擴展性,但開發難度比較大。

 43F.tmp.jpg工控機+運動控制卡。以DSP為核心的運動控制卡可以集多軸實時伺服運動控制于一卡,并有函數庫供用戶在工控機上構建所需的控制系統,工控機主要完成系統管理、狀態監控、運動規劃等上層任務[8]。

  本文采用工控機+多軸運動控制卡(PMAC)作為機器人控制器,硬件原型如圖2所示。

Image 002.png

  為了滿足機器人控制實時性要求,工控機需要運行實時操作系統,如Windows CE等,或采用通用Windows操作系統+實時擴展環境RTX,可以利用Windows操作系統完備的軟件開發環境和豐富的軟件資源[6]。本控制器硬件采用研祥EC3-1711CLDNA工控機,其CPU是Genuine Intel(R)processor 600 MHz,內存為480 MB,存取速率為599 MHz,硬盤為80 GB,操作系統采用Windows XP+RTX。

  2.3.2 系統測試

  為驗證控制平臺和數據采集的有效性,采用兩關節模擬工業機器人和靜態PID進行測試。軌跡跟隨測試的軟件流程和測試結果如圖3和圖4所示,關節實時跟隨位置如表1和2所示。

Image 003.png

Image 004.png

3 結論

  本文從數據采集源、通信模式、采集方法等對基于PMAC的開放式數據采集系統進行對比分析,完成通信接口、指令編碼數據解碼等的模塊化設計和封裝,采用多線程技術優化性能。硬件平臺的兩關節機器人軌跡跟隨測試的關節空間和笛卡爾運動空間的試驗數據驗證了控制系統及數據采集子系統的有效性。

參考文獻

  [1] 林延昌,魚洋,沈躍.基于PMAC控制卡的機器人控制軟件設計[J].計算機測量與控制,2005,13(8):854-857.

  [2] 張東衡,徐秀林,張佳鳴.人工心臟瓣膜體外檢測裝置軟件開發[J].計算機測量與控制,2008,16(8):1197-1198.

  [3] 王進華,曾凌峰,張勤利.數字電視機頂盒人機交互組件的設計與實現[J].微型機與應用,2011,30(20):96-98.

  [4] 鄭存紅,胡榮強,趙瑞峰,等.用Visual C++實現實時數據采集[J].計算機應用研究,2002,19(4):103-108.

  [5] 曾欣.多線程機器人控制軟件的設計[J].科技廣場,2011(11):100-103.

  [6] DELTA TAU Data Systems, Inc. PComm32PRO installation and troubleshooting procedures, Versions 10.45(PRO Suite 2.0)and later[S].

  [7] 張廣立,付瑩,楊汝清,等.基于Windows NT的開放式機器人實時控制系統[J].上海交通大學學報,2003,37(5):724-728.

  [8] 馬瓊雄,吳向磊,李琳,等.基于IPC的開放式工業機器人控制系統研究[J].機電產品開發與創新,2008,21(1):15-17.


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲电影在线播放| 欧美在线观看你懂的| 国产午夜精品久久久久久免费视| 欧美精品v日韩精品v国产精品| 久久精品在线播放| 午夜精品区一区二区三| 亚洲一区一卡| 中文日韩在线| 亚洲色图在线视频| 一卡二卡3卡四卡高清精品视频| 亚洲精品国产欧美| 日韩网站在线观看| 亚洲免费av网站| 99av国产精品欲麻豆| 亚洲免费福利视频| 99视频在线精品国自产拍免费观看| 亚洲人成人99网站| 日韩午夜激情av| av成人天堂| 在线亚洲精品福利网址导航| 一区二区电影免费在线观看| 一区二区高清视频在线观看| 亚洲视频在线观看免费| 亚洲一区国产一区| 亚洲欧美在线一区二区| 欧美一区二区三区免费看| 欧美专区在线播放| 久久躁日日躁aaaaxxxx| 免费在线国产精品| 欧美伦理一区二区| 欧美天堂亚洲电影院在线播放| 欧美亚洲成人免费| 国产欧美日韩视频一区二区| 国产一区二区电影在线观看| 尤物九九久久国产精品的特点| 亚洲国产视频一区二区| 99re亚洲国产精品| 亚洲欧美精品一区| 亚洲国产另类久久久精品极度| 日韩视频免费在线| 亚洲欧美精品| 久久久av水蜜桃| 欧美国产专区| 欧美系列电影免费观看| 国产区日韩欧美| 在线观看亚洲专区| 99精品视频一区二区三区| 亚洲一区二区毛片| 久久精品亚洲热| 一区二区欧美亚洲| 久久精品亚洲乱码伦伦中文 | 欧美日韩一区二区三区四区五区| 国产精品高精视频免费| 国内精品嫩模av私拍在线观看| 亚洲欧洲一区二区天堂久久| 制服诱惑一区二区| 久久精品系列| 亚洲一区不卡| 久久久蜜桃一区二区人| 欧美日韩mp4| 国产精品一区二区男女羞羞无遮挡 | 在线亚洲欧美视频| 久久国产精品一区二区三区| 亚洲最新中文字幕| 久久久久久久网站| 欧美日韩国产一区精品一区 | 欧美激情免费观看| 国产三级精品三级| 亚洲精品一区二区三区不| 午夜精品电影| 一区二区三区精品| 免费观看在线综合| 国产欧美综合一区二区三区| 亚洲伦伦在线| 亚洲电影免费观看高清完整版在线观看| 亚洲午夜高清视频| 欧美a一区二区| 国产视频一区三区| 一区二区三区国产在线| 91久久精品网| 久久精品国产69国产精品亚洲| 欧美日韩视频第一区| 激情欧美一区二区三区| 亚洲欧美国产毛片在线| 一区二区三区四区五区精品视频| 久久人人看视频| 国产精品无人区| 99国产麻豆精品| 亚洲日韩中文字幕在线播放| 久久精品五月| 国产精品日韩在线播放| 日韩一级成人av| 日韩视频免费观看高清在线视频| 久久久久久免费| 国产精品一区二区在线观看不卡| 日韩视频第一页| 亚洲精品综合| 麻豆精品一区二区av白丝在线| 国产午夜精品美女毛片视频| 亚洲图片在线| 亚洲一区三区在线观看| 欧美日韩黄色大片| 亚洲经典三级| 亚洲精品一二三| 欧美本精品男人aⅴ天堂| 国内精品久久久久久影视8| 亚洲欧美在线看| 欧美一级一区| 国产美女诱惑一区二区| 亚洲视频在线观看| 亚洲欧美另类在线观看| 欧美三级第一页| 9l国产精品久久久久麻豆| 99成人免费视频| 欧美精品久久99| 91久久精品国产91性色tv| 最新国产の精品合集bt伙计| 美女91精品| 亚洲电影免费观看高清| 亚洲精品国产品国语在线app| 免费成人高清视频| 在线观看的日韩av| 亚洲区在线播放| 欧美韩日视频| 亚洲美女毛片| 亚洲欧美高清| 国产精品永久免费| 午夜久久福利| 久久精品免费电影| 极品中文字幕一区| 亚洲精品国产精品国自产观看| 欧美国产视频在线观看| 日韩视频在线一区二区三区| 亚洲一区二区精品在线| 国产精品男人爽免费视频1| 午夜精品在线观看| 久久久亚洲综合| 亚洲国产精品成人综合色在线婷婷| 亚洲精品国产精品乱码不99 | 国产精品激情| 亚洲综合日韩中文字幕v在线| 欧美一区午夜精品| 激情欧美一区二区| 日韩午夜精品| 国产精品国产三级国产aⅴ入口| 亚洲一区二区三区欧美 | 伊人激情综合| 日韩视频免费大全中文字幕| 欧美日韩精品在线播放| 亚洲专区国产精品| 久久视频在线视频| 亚洲国产日韩欧美| 亚洲一区二区视频在线| 国产区欧美区日韩区| 亚洲经典自拍| 国产精品xxxav免费视频| 欧美一区免费视频| 欧美激情在线观看| 亚洲欧美激情四射在线日 | 99re66热这里只有精品4| 午夜免费久久久久| 国产综合久久久久久鬼色| 亚洲免费不卡| 国产欧美日韩中文字幕在线| 最近中文字幕日韩精品| 国产精品久久| 亚洲黄一区二区三区| 欧美日韩中文字幕日韩欧美| 欧美一区二区播放| 欧美激情视频在线播放| 亚洲欧美另类国产| 欧美国产日本高清在线| 亚洲男人天堂2024| 欧美激情视频免费观看| 亚洲欧美中文字幕| 欧美激情精品久久久久久| 亚洲欧美日本伦理| 欧美日韩成人综合| 久久精品卡一| 国产精品家庭影院| 亚洲精品中文字幕在线| 国产精品一区二区三区久久久| 最新高清无码专区| 国产欧美日韩免费| 宅男噜噜噜66国产日韩在线观看| 国产亚洲免费的视频看| 亚洲天堂激情| 在线日本成人| 久久精品国产第一区二区三区最新章节 | 嫩草国产精品入口| 亚洲欧美国产精品va在线观看| 欧美激情在线观看| 久久精品国产亚洲高清剧情介绍| 欧美天堂亚洲电影院在线播放| 亚洲国产日韩欧美| 国产精品久久久久一区二区| 亚洲精品一区二区三| 国产主播在线一区| 欧美一级二区| 一区二区免费在线播放|