<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于CAN總線(xiàn)的機械手控制系統

基于CAN總線(xiàn)的機械手控制系統

作者: 時(shí)間:2009-09-29 來(lái)源:網(wǎng)絡(luò ) 收藏

1引言

本文引用地址:http://dyxdggzs.com/article/163547.htm

  可在空間抓放物體,動(dòng)作靈活多樣,適用于可變換生產(chǎn)品種的中、小批量自動(dòng)化生產(chǎn),廣泛應用于柔性自動(dòng)線(xiàn)。我們開(kāi)發(fā)的用于熱處理淬火加工的物料搬運,是一種按預先設定的程序進(jìn)行工件分揀、搬運和淬火加工的自動(dòng)化裝置,可部分代替人工在高溫和危險的作業(yè)區進(jìn)行單調持久的作業(yè),并可根據工件的變化以及淬火工藝的要求隨時(shí)更改相關(guān)控制參數。由于目前許多商品化的工業(yè)機器人(或)大都采用封閉結構的專(zhuān)用,一般采用專(zhuān)用計算機(如PUMA工業(yè)機器人使用PDP-11)作為上層主控計算機,使用專(zhuān)用機器人語(yǔ)言(如VAL)作為離線(xiàn)編程工具,采用專(zhuān)用微處理器,并將控制算法固化在EPROM中[1],這種專(zhuān)用系統很難進(jìn)行擴展、修改或再集成外部硬件(如傳感器)和軟件。因此,我們自行開(kāi)發(fā)了氣、電混合驅動(dòng)的三自由度圓柱坐標型機械手以及相應的物料分揀裝置,并根據其控制要求設計了的分式布開(kāi)放結構機械手。

  本文重點(diǎn)闡述了該機械手的結構組成,并從多個(gè)方面對控制系統軟件的設計方法作了進(jìn)一步分析。

2機械手基本結構

  物料搬運機械手由機械手和物料分揀兩部分裝置組成。如圖1所示,機械手主要由機座(采用步進(jìn)電機驅動(dòng)旋轉)、水平手臂(采用直線(xiàn)坐標氣缸HMP-20-200)、垂直手臂(采用滑塊氣缸SLT-16-50)、氣爪(采用平行氣爪HGP-10-A)等部分組成。物料分揀裝置則由三個(gè)普通氣缸構成,用以將不同長(cháng)度的工件送至不同的軌道中,供機械手分別抓取和搬運。


圖1物料搬運機械手結構簡(jiǎn)圖

3的機械手控制系統組成

  在機械手控制系統的開(kāi)發(fā)中,我們始終立足于開(kāi)放結構機械手控制器的設計思想,主要體現在以下幾方面:

 ?。?)硬件標準結構,能實(shí)現現場(chǎng)設備之間、設備與各種傳感器之間以及現場(chǎng)設備與控制室之間的數據通信。

  現場(chǎng)總線(xiàn)是當今自動(dòng)化領(lǐng)域技術(shù)發(fā)展的熱點(diǎn)之一,被譽(yù)為自動(dòng)化領(lǐng)域的計算機局域網(wǎng)。(ControllerAreaNetwork)總線(xiàn)是現場(chǎng)總線(xiàn)的一個(gè)分支,是應用于生產(chǎn)現場(chǎng)控制設備之間實(shí)現雙向串行多節點(diǎn)數字通信的系統,是開(kāi)放式、數字式的底層控制網(wǎng)絡(luò )。因其具有很高的可靠性和性能價(jià)格比,已經(jīng)成為國際標準,受到工業(yè)界的廣泛重視,并已被公認為幾種最有前途的現場(chǎng)總線(xiàn)之一。機械手控制系統建立在CAN總線(xiàn)網(wǎng)絡(luò )基礎上,能夠更好地滿(mǎn)足其開(kāi)放性和可靠性的要求。

  如圖2所示,控制系統中上位機采用PC機,在上位機的PCI總線(xiàn)插槽中安裝了瑞隆德公司的CANPCA單口CAN總線(xiàn)適配卡。下位機則采用若干CAN總線(xiàn)智能節點(diǎn),分別與氣閥、步進(jìn)電機驅動(dòng)器、傳感器、開(kāi)關(guān)等相連。上、下位機間的數據通信都是通過(guò)各自的CAN總線(xiàn)控制器SJA1000芯片和CAN總線(xiàn)收發(fā)器82C250芯片來(lái)實(shí)現的。其中,SJA1000具有完成CAN總線(xiàn)通信協(xié)議所要求的全部特性,它與獨立CAN總線(xiàn)控制器82C200完全兼容,并有支持CAN2.0B協(xié)議、擴展接收緩沖器、增強錯誤處理能力和增強驗收濾波等新增功能。四個(gè)下位機智能節點(diǎn)各自獨立完成現場(chǎng)數據采集和運行控制任務(wù),并通過(guò)SJA1000實(shí)現與上位機間的數據接收和發(fā)送。而上位機則通過(guò)PCI橋和接口控制電路來(lái)訪(fǎng)問(wèn)CAN控制器,從而實(shí)現與下位機間的數據通信。


圖2物料搬運機械手CAN總線(xiàn)控制系統示意圖

 ?。?)使用基于非專(zhuān)用計算機平臺的開(kāi)發(fā)系統(本控制系統中采用PC機)。

 ?。?)使用標準的操作系統和標準的控制語(yǔ)言。

  機械手控制系統監控軟件采用VisualC++6.0作為開(kāi)發(fā)工具,運行于Windows98平臺上。VC是一種面向對象的編程語(yǔ)言,它提供了可視化編程環(huán)境,特別是提供了MFC類(lèi)庫,封裝了WindowsAPI接口函數,并建立了應用程序框架,使程序開(kāi)發(fā)人員可以將主要精力集中于所要解決的具體問(wèn)題上。

  另外,在機械手的水平手臂氣缸伺服控制中,采用德國Festo公司的伺服定位控制器SPC200以及與之配套的內置位移傳感器MLO-POT-0225、伺服定位控制連接器SPC-AIF-POT和比例方向流量閥MPYE-5-1/8-LF-010-B等裝置。機械手的回轉控制則采用北京凱恩帝數控公司的BD-3Y三相混和式步進(jìn)電機驅動(dòng)器。

4機械手控制系統監控軟件設計

  4.1監控軟件基本結構

  機械手監控軟件采用VC++6.0作為開(kāi)發(fā)工具,應用其提供的MFC類(lèi)庫和APPWizard功能生成SDI單文檔界面應用程序。VC++6.0提供了現成的窗口、工具條等制作手段,大大簡(jiǎn)化了界面的開(kāi)發(fā)過(guò)程,并且使得開(kāi)發(fā)出的界面具有組態(tài)軟件風(fēng)格,使用起來(lái)方便、靈活。如圖3所示,監控軟件主要由系統界面、CAN總線(xiàn)通信、機械手監控以及運行狀態(tài)顯示等模塊組成。下面就其中的數據通信、運行監控及動(dòng)態(tài)顯示部分作進(jìn)一步分析。


圖3機械手監控軟件功能框圖

  4.2CAN總線(xiàn)數據通信

  CAN總線(xiàn)是一種有效支持分布式控制及實(shí)時(shí)控制的多主串行總線(xiàn),它具有短報文幀收發(fā)靈活、非破壞性基于優(yōu)先權的總線(xiàn)仲裁技術(shù)等多種優(yōu)越性能。在機械手控制系統中,CAN總線(xiàn)數據通信是通過(guò)與CANPCA適配卡一起提供Pcicandrv.LIB(CAN總線(xiàn)函數庫)中的相關(guān)函數調用實(shí)現的[5]。為了及時(shí)準確地了解CAN總線(xiàn)狀態(tài),并盡可能減少故障和縮小故障范圍,在控制軟件中專(zhuān)門(mén)設計了測試程序,負責CAN總線(xiàn)接口及通信部分的調試、運行任務(wù)。只有在測試正常的前提下,才能進(jìn)一步運用CAN總線(xiàn)對機械手進(jìn)行控制。CAN總線(xiàn)數據有標準幀和擴展幀之分,它們都是由信息和數據兩部分組成的,只是地址標識符的位數不同。下面是CAN總線(xiàn)初始化及CAN標準幀數據收發(fā)的部分代碼。

  //CAN總線(xiàn)初始化

  voidCWuLiao::InitCAN()

 ?。?/p>

  intretval;

  retval=CAN_Open();//打開(kāi)PCI適配卡函數

  if(retval!=1)AfxMessageBox(打開(kāi)PCI卡失敗!);

  ptrConfig=Config;

  ptrStruct=Struct;//定義CAN數據幀結構指針

  ptrConfig->timer0=0x3f;

  ptrConfig->timer1=0xff;//設置波特率為5K

  ptrConfig->workMode=0;//使用11位的CAN節點(diǎn)地址

  ptrStruct->card=0;//PCI適配卡卡號

  ptrConfig->accCode=0;//CAN接收碼

  ptrConfig->accMask=0xff;//CAN屏蔽碼

  ptrConfig->control=1;//開(kāi)放中斷

  ptrConfig->filterMode=0;//CAN控制器采用單濾波方式

  retval=CAN_Init(ptrStruct,ptrConfig);//調CAN初始化函數

  if(retval!=1)AfxMessageBox(初始化失敗!);

 ?。?/p>

  //CAN數據發(fā)送

  voidCWuLiao::OutputCAN(unsignedintCanID,unsignedcharH8B,unsignedcharL8B)

 ?。?/p>

  intretval;

  ptrPacket=Packet;

  ptrStruct=Struct;

  ptrStruct->card=0;

  ptrPacket->length=4;//發(fā)送數據長(cháng)度4個(gè)字節

  ptrPacket->rtr=0;//表示發(fā)送的是數據幀,而非遠程幀

  ptrPacket->CAN_ID=CanID;//定義CAN節點(diǎn)地址

  ptrPacket->data[0]=0x44;

  ptrPacket->data[1]=0x4f;//CAN數據發(fā)送命令字

  ptrPacket->data[2]=H8B;

  ptrPacket->data[3]=L8B;//要發(fā)送的高、低字節

 


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>