国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

OPC技術在多工業(yè)機器人聯(lián)動控制中的應用*

2014-07-31 20:40:06朱云龍孔凡讓
機械研究與應用 2014年1期
關鍵詞:回轉臺組態(tài)對象

朱云龍,孔凡讓

(中國科學技術大學 精密機械與精密儀器系,安徽 合肥 230027)

OPC技術在多工業(yè)機器人聯(lián)動控制中的應用*

朱云龍,孔凡讓

(中國科學技術大學 精密機械與精密儀器系,安徽 合肥 230027)

以某省科技館工業(yè)智能機器人科普展品研發(fā)為應用背景,介紹了OPC技術及工業(yè)機器人發(fā)展概況,采用Microsoft Visual C++ 2006編寫OPC客戶端程序,實現(xiàn)了多工業(yè)機器人的聯(lián)動控制。

工業(yè)機器人;OPC技術;Microsoft Visual C++ 2006

ofScienceandTechnologyofChina,HefeiAnhui230027,China)

1 引 言

傳統(tǒng)控制系統(tǒng)中,每個應用軟件與不同的現(xiàn)場設備或其他應用軟件進行通訊時,需要開發(fā)不同的自定義接口,這給軟件開發(fā)和維護帶來了巨大的負擔。而應用軟件或現(xiàn)場設備升級后,與其他現(xiàn)有的應用軟件之間的通訊往往會出現(xiàn)不協(xié)調,影響系統(tǒng)的正常運行,甚至造成系統(tǒng)崩潰。OPC(OLE for Process Control)是OPC基金會組織制定的工業(yè)控制軟件互操作性規(guī)范,以微軟公司的COM/DCOM(組件對象模型/分布式組件對象模型)技術為基礎,為工業(yè)控制軟件定義了一套標準的對象、接口和屬性。采用OPC規(guī)范后,硬件開發(fā)商只需提供統(tǒng)一的OPC接口程序,軟件開發(fā)人員只需遵循OPC數(shù)據(jù)接口協(xié)議,就能從不同硬件設備的OPC服務器中獲取數(shù)據(jù),實現(xiàn)數(shù)據(jù)交換方式的標準化,極大提高了自動化系統(tǒng)、現(xiàn)場設備系統(tǒng)間的互操作性[1-2]。

筆者就某省科技館工業(yè)智能機器人科普展品研發(fā)制造中,OPC技術在多工業(yè)機器人聯(lián)動控制中的應用實例給出介紹。

2 工業(yè)智能機器人展品簡述

工業(yè)智能機器人展品外觀如圖1所示。機器人主體由三只六軸工業(yè)機器人組合而成,分別構成機器人的頭部、左手和右手,主體固定于展臺下方由煙臺華大數(shù)控機床附件有限公司生產(chǎn)的SKT12630數(shù)控回轉臺上(通過西門子PLC200擴展一個EM253定位模塊控制)。三只工業(yè)機器人和PLC200(西門子EM277模塊通信)通過Profibus-DP總線和西門子CP5611通訊卡與上位機連接。工作人員操作展臺前方的控制按鈕(按鈕連線至西門子PLC200的輸入端),工業(yè)智能機器人伴隨音樂完成一系列動作。

圖1 工業(yè)智能機器人展品外觀

3 工業(yè)機器人簡述

在工業(yè)發(fā)達國家,工業(yè)機器人經(jīng)歷近半個世紀的迅速發(fā)展,其技術日趨成熟,在汽車行業(yè)、電子電氣行業(yè)、橡膠及塑料行業(yè)、食品行業(yè)等諸多工業(yè)領域得到廣泛的應用。工業(yè)機器人作為先進制造業(yè)中不可替代的重要裝備和手段,已成為衡量一個國家制造業(yè)水平和科技水平的重要標志。

我國已經(jīng)成為世界公認的制造業(yè)大國,但隨著勞動力成本的不斷提高,經(jīng)濟發(fā)展模式和制造產(chǎn)業(yè)結構調整勢在必行,發(fā)展高科技產(chǎn)業(yè),提高制造業(yè)生產(chǎn)自動化水平,由勞動密集型向技術密集型轉變已經(jīng)成為必由之路。進入21世紀,國內一大批企業(yè)或自主研制或與科研院所合作,進入工業(yè)機器人研制和生產(chǎn)行列,我國工業(yè)機器人進入了初步產(chǎn)業(yè)化階段。在這一階段,先后涌現(xiàn)出新松機器人、奇瑞裝備、廣數(shù)、青島軟控等數(shù)十家從事工業(yè)機器人生產(chǎn)的企業(yè)。奇瑞裝備有限公司與哈爾濱工業(yè)大學合作研制的165 kg點焊機器人,已在線應用約50臺,分別用于焊接、搬運等場合,自主研制出我國第一條國產(chǎn)機器人自動化焊接生產(chǎn)線,可實現(xiàn)S11車型左右側圍的生產(chǎn)[3]。

筆者在工業(yè)智能機器人科普展品研發(fā)過程中選用了安徽埃夫特智能裝備有限公司生產(chǎn)的ER20-C10六軸工業(yè)機器人,負載能力20 kg,如圖2所示。三只工業(yè)機器人的控制系統(tǒng)為奧地利的KEBA控制系統(tǒng),與西門子公司的PLC產(chǎn)品屬于不同廠商的硬件設備,機器人與機器人之間以及機器人與PLC200之間不能直接通信。采用OPC技術規(guī)范,在Windows XP Professional SP2環(huán)境下用Microsoft Visual C++ 2006開發(fā)工具編寫客戶端程序,向三只工業(yè)機器人和PLC200獲取和發(fā)送數(shù)據(jù),實現(xiàn)了三只工業(yè)機器人之間的聯(lián)動控制和工業(yè)機器人與PLC200之間的實時通信。

4 OPC數(shù)據(jù)存取規(guī)范簡介

自1996年發(fā)布以來,OPC規(guī)范在工業(yè)控制領域得到了廣泛的應用。OPC數(shù)據(jù)存取規(guī)范是OPC規(guī)范的核心之一,重點是對現(xiàn)場設備的在線數(shù)據(jù)進行存取。規(guī)范中指出一個OPC客戶端程序可以連接到一個或多個OPC服務器廠商,而多個OPC客戶端程序也可以連接到一個OPC服務器上,OPC客戶端與服務器的關系如圖3所示。

圖2 ER20-C10工業(yè)機器人 圖3 OPC客戶端與服務器關系

客戶端程序與OPC服務器之間的連接和通信通過兩類接口來實現(xiàn):定制接口和自動化接口。定制接口主要用于采用C++語言的應用程序開發(fā),是服務商必須提供的。自動化接口主要用于采用VB,C#,Delphi等編程語言的應用程序開發(fā)是可選的。典型的OPC架構如圖4所示。

圖4 典型的OPC架構

OPC數(shù)據(jù)存儲服務器主要包含服務器對象(OPC Server)、組對象(OPC Group)和項對象(OPC Item)。OPC服務器對象維護有關服務器的信息,并作為OPC組對象的包容器,可動態(tài)地創(chuàng)建或釋放組對象。OPC組對象維護自身相關信息,提供包容和邏輯組織OPC項的機制,分為公共組和私有組。公共組用于多個客戶端程序共享,私有組只用于一個客戶端程序。OPC項表示了與OPC服務器中數(shù)據(jù)的連接,客戶端程序通過OPC組對象實現(xiàn)對OPC項的訪問,獲得信號變量的值(Value)、數(shù)據(jù)類型(Type)、品質(Quality)等信息[4]。

此文中的服務器選擇的是西門子公司的SMATIC NET OPC服務器,客戶端程序與OPC服務器之間的通信基于定制接口。

5 具體實現(xiàn)流程

5.1 OPC服務器組態(tài)

(1) 配置PC站 完成機器人各部分硬件連接后,打開Station Configurator Editor,分別在配置界面一號槽內添加OPC Server,三號槽內添加CP5611卡,并在其屬性對話框中填寫PROFIBUS參數(shù),站地址為3,協(xié)議類型選擇DP,傳輸速率設置為1.5 Mbps。配置完成后,PC站的Station Name命名為“PC”。

(2) STEP7中組態(tài)PC站 新建一個Simatic PC Station,插入一個PC站,命名為第一步配置PC站的Station Name“PC”。在硬件目錄窗口,組態(tài)與所安裝SIMATIC NET軟件版本相一致的硬件,插槽結構與Station Configuration Editor中配置的一致。將CP5611設置為DP主站,依次添加西門子的EM277模塊和三只工業(yè)機器人的通信模塊FM265/A為DP從站,設置相應參數(shù),編譯并保存,硬件組態(tài)結構如圖5所示。打開NetPro,組態(tài)PROFIBUS-DP網(wǎng)絡,設置相應的站地址,傳輸率等參數(shù),編譯并保存,網(wǎng)絡組態(tài)結構如圖6所示。

圖5 硬件組態(tài)結構 圖6 網(wǎng)絡組態(tài)結構

(3) 打開控制面板,打開“Set PG/PC Interface”窗口,選擇“CP5611(PROFIBUS)”,保存編譯無誤后,將正確組態(tài)信息下載至PC站中[5-6],完成OPC服務器的組態(tài)工作。

5.2 客戶端程序設計

客戶端程序從OPC服務器中讀取連接展臺前方按鈕狀態(tài)數(shù)據(jù)源的項對象的值,判斷機器人狀態(tài),然后通過對OPC服務器進行寫操作,將啟動命令值傳入相應的項對象,控制三只工業(yè)機器人和數(shù)控回轉臺啟動,工業(yè)智能機器人開始伴隨音樂完成一系列運動。程序流程圖如圖7所示。

圖7 控制程序流程圖

(1) 工業(yè)機器人之間的聯(lián)動控制

三只工業(yè)機器人的動作編程由機器人各自的示教盒示教完成。為保證機器人運動期間互相不干涉,實現(xiàn)聯(lián)動控制,每只工業(yè)機器人提供了3個字節(jié)的輸入和4個字節(jié)的輸出變量,添加為OPC服務器的項對象。

在一只機器人動作示教過程中,當需要進行聯(lián)動控制時,其余機器人暫停運動,等待繼續(xù)運動命令信號。該機器人完成系列動作后,由其輸出一個變量值至OPC服務器, OPC客戶端程序讀取到該變量值后,向OPC服務器對應的項對象寫入值,其余機器人就可接收到繼續(xù)運動命令信號,繼續(xù)動作。

當任何一只機器人出現(xiàn)故障,停止運動時,會向OPC服務器發(fā)送相應信號,客戶端程序讀取到故障信號后,會向OPC服務器中相應項對象寫入暫停運動信號,其余機器人立即暫停運動,防止機器人之間出現(xiàn)碰撞事故。工作人員清除故障后重啟系統(tǒng)。

通過OPC技術,保證三只工業(yè)機器人之間的信號交互,實現(xiàn)了三只工業(yè)機器人運動過程中的聯(lián)動控制和安全通信。

(2) 機器人與數(shù)控回轉臺之間的聯(lián)動控制

當機器人運動至某些動作序列時,需要聯(lián)合數(shù)控回轉臺運動,此時機器人會輸出對應變量的值至OPC服務器中相應項對象,客戶端程序讀取到該值后,向OPC服務器中PLC200對應的項對象寫入命令值,相應的PLC程序得到調用,控制數(shù)控回轉臺進行-45°~+45°角度范圍內的旋轉運動。以此實現(xiàn)了機器人與數(shù)控回轉臺之間的聯(lián)動控制。

程序設計主要過程和部分代碼如下:

①初始化COM控件,注冊OPCGroup及OPCItem。

HRESULT r1;//用于返回函數(shù)調用結果

r1=CoInitialize(NULL);

r1=CLSIDFromProgID(L"OPC.SimaticNET", &clsid);

r1=CoCreateInstance (clsid, NULL, CLSCTX_LOCAL_SERVER ,IID_IOPCServer, (void**)&m_pIOPCServer);//創(chuàng)建OPCserver實例對象,獲得IOPCServer接口指針m_pIOPCServer

r1=m_pIOPCServer->AddGroup(L"grp1",TRUE,500,1,&TimeBias,&PercentDeadband,0x409,&m_GrpSrvHandle,&RevisedUpdateRate,IID_IOPCItemMgt,(LPUNKNOWN*)&m_pIOPCItemMgt);//添加命名為“grp1”的組對象

根據(jù)項目需要,添加27個OPCItem,其中SLAVE008的OPC項是組態(tài)的PLC200內部變量(單獨編寫PLC程序),SLAVE004、SLAVE005 SLAVE006的OPC項分別為頭部、右手、左手工業(yè)機器人提供的變量:

const LPWSTR szItemID[27]={

L"DP:[CP 5611]SLAVE008_IB0,1",

L"DP:[CP 5611]SLAVE008_IB1,1",

L"DP:[CP 5611]SLAVE004_IB0,1",

L"DP:[CP 5611]SLAVE004_IB1,1",

L"DP:[CP 5611]SLAVE004_IB2,1",

L"DP:[CP 5611]SLAVE004_IB3,1",

L"DP:[CP 5611]SLAVE006_IB0,1",

L"DP:[CP 5611]SLAVE006_IB1,1",

L"DP:[CP 5611]SLAVE006_IB2,1",

L"DP:[CP 5611]SLAVE006_IB3,1",

L"DP:[CP 5611]SLAVE005_IB0,1",

L"DP:[CP 5611]SLAVE005_IB1,1",

L"DP:[CP 5611]SLAVE005_IB2,1",

L"DP:[CP 5611]SLAVE005_IB3,1",

L"DP:[CP 5611]SLAVE008_QB0,1",

L"DP:[CP 5611]SLAVE008_QB1,1",

L"DP:[CP 5611]SLAVE008_QB2,1",

L"DP:[CP 5611]SLAVE008_QB15,1",

L"DP:[CP 5611]SLAVE004_QB0,1",

L"DP:[CP 5611]SLAVE004_QB2,1",

L"DP:[CP 5611]SLAVE004_QB3,1",

L"DP:[CP 5611]SLAVE006_QB0,1",

L"DP:[CP 5611]SLAVE006_QB2,1",

L"DP:[CP 5611]SLAVE006_QB3,1",

L"DP:[CP 5611]SLAVE005_QB0,1",

L"DP:[CP 5611]SLAVE005_QB2,1",

L"DP:[CP 5611]SLAVE005_QB3,1",};

for(int i=0;i<27;i++){

m_Items[i].szAccessPath= L"";

m_Items[i].szItemID=szItemID[i];

m_Items[i].bActive= TRUE;

m_Items[i].hClient= i+1;

m_Items[i].dwBlobSize= 0;

m_Items[i].pBlob = NULL;

m_Items[i].vtRequestedDataType=2;}

r1=m_pIOPCItemMgt->AddItems(27,m_Items,&m_pItemResult,&m_pErrors); //將27個OPC項加入組內

r1=m_pIOPCItemMgt->QueryInterface(IID_IOPCSyncIO,(void**)&m_pIOPCSyncIO);//為OPCGroup的組對象定義同步讀寫接口

②同步讀寫數(shù)據(jù)

r1=m_pIOPCSyncIO->Read(OPC_DS_CACHE,27,phServer,&pItemValue,&pErrors);//讀取數(shù)據(jù),存入pItemValue指向存儲區(qū)內

r1=m_pIOPCSyncIO->Write(27,phServer,values,&pErrors); //同步寫入values數(shù)據(jù)

③釋放對象

r1=m_pIOPCItemMgt->RemoveItems(27, phServer,&pErrors);//移除數(shù)據(jù)項

r1=m_pIOPCServer->RemoveGroup(m_GrpSrvHandle, TRUE);//移除組

m_pIOPCSyncIO->Release();

m_pIOPCServer->Release();

CoUninitialize();//釋放服務器等

通過以上步驟[7],建立完成客戶端程序通過OPC服務器與三只工業(yè)機器人及數(shù)控回轉臺之間的通訊。根據(jù)項目實際情況,進行邏輯控制,實現(xiàn)了智能工業(yè)機器人的控制功能。該智能工業(yè)機器人于2013年9月投入展示,系統(tǒng)運行良好。

6 結 語

目前,我國工業(yè)機器人的發(fā)展十分迅速,應用領域也越來越廣泛。該文基于OPC技術,實現(xiàn)了三只工業(yè)機器人之間的聯(lián)動控制和工業(yè)機器人與PLC200之間的實時通信。利用OPC技術,拓展了工業(yè)機器人的應用方法, 亦可作為工業(yè)機器人在其他領域的應用參考。

[1] 顧 鍵,王京春,黃德先.OPC-COM技術在工業(yè)自動化軟件中的應用[J].計算機工程與應用,2002(12):207-209.

[2] 陸會明.控制裝置標準化通信:OPC服務器開發(fā)設計與應用[M].北京:機械工業(yè)出版社,2010.

[3] 趙 杰.我國工業(yè)機器人發(fā)展現(xiàn)狀與面臨的挑戰(zhàn)[J].航空制造技術,2012(12):26-29.

[4] OPC foundation.OPC DA 2.05a Specification[EB/OL]. http://www.opcfoundation.org, 2001-12-17.

[5] Siemens.S7 Communication Via SIMATIC NET OPC Server to S7-200/EM277[EB/OL]. http://www.ad.siemens.com.cn/download,2011-08-02.

[6] 盧健儉,何永義,王永波,等.OPC技術在電子電力控制器測試平臺的應用[J].制造業(yè)自動化,2013,35(3):60-63.

[7] Siemens. How to Achieve Data Access Through OPC in VC[EB/OL]. http://www.ad.siemens.com.cn/download,2009-06-25.

Application of OPC Technology in Coordinated Control for Multi Industrial Robots

ZHU Yun-long,KONG Fan-rang

(DepartmentofPrecisionMachineryandPrecisionInstrumentation,University

Taking research and development of an intelligent robot exhibit as application background, OPC technology and development of industrial robot is introduceed. Through writing OPC client program,using Microsoft Visual C++ 2006, the coordinated control of multi industrial robots is achieved.

industrial robot;OPC technology;Microsoft Visual C++ 2006

2013-12-16

國家自然科學基金資助項目(51075379)

朱云龍(1989-),男,四川宜賓人,在讀碩士,主要從事機電一體化技術方面的研究工作。

TP29

A

1007-4414(2014)01-0191-04

猜你喜歡
回轉臺組態(tài)對象
神秘來電
睿士(2023年2期)2023-03-02 02:01:09
縱軸式掘進機回轉臺有限元分析
關于ZBZ160 型礦用掘進機回轉臺的結構性能分析
基于PLC及組態(tài)技術的恒溫控制系統(tǒng)開發(fā)探討
礦用掘進機回轉臺使用過程中結構性能的研究
攻略對象的心思好難猜
意林(2018年3期)2018-03-02 15:17:24
基于PLC和組態(tài)的智能電動擰緊系統(tǒng)
基于熵的快速掃描法的FNEA初始對象的生成方法
PLC組態(tài)控制在水箱控制系統(tǒng)的應用
區(qū)間對象族的可鎮(zhèn)定性分析
岳阳市| 个旧市| 平山县| 循化| 利川市| 聊城市| 卓资县| 庆云县| 南岸区| 关岭| 彩票| 和硕县| 容城县| 衡水市| 大安市| 禹州市| 五莲县| 岳阳市| 宜城市| 延寿县| 高淳县| 香河县| 皋兰县| 汶上县| 页游| 威海市| 疏附县| 赣州市| 拉萨市| 望江县| 南汇区| 南澳县| 彰化市| 会同县| 泾川县| 五常市| 微山县| 双鸭山市| 蚌埠市| 维西| 班戈县|