




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
--.---總結(jié).z.康耐視相機(jī)操作使用說(shuō)明書(shū)文件狀態(tài):■草稿□修改□定稿文檔□不保密■內(nèi)部□項(xiàng)目名稱(chēng)版本號(hào)1.0描述康耐視相機(jī)操作使用說(shuō)明書(shū)編寫(xiě)人余國(guó)鷹編寫(xiě)日期2015/9/10審核人審核日期--.---總結(jié).z.目錄一、康耐視相機(jī)具體設(shè)置31.1軟件安裝錯(cuò)誤!未定義書(shū)簽。1.2流程編輯 31.3Codesys通信注意事項(xiàng) 6二、相機(jī)標(biāo)定 72.1相機(jī)校準(zhǔn) 72.2絕對(duì)坐標(biāo)實(shí)現(xiàn) 92.3相對(duì)坐標(biāo)實(shí)現(xiàn)3三、示教器示例程序33.1絕對(duì)坐標(biāo)實(shí)現(xiàn)范例33.2相對(duì)坐標(biāo)實(shí)現(xiàn)范例3四、Codesys邏輯開(kāi)發(fā)34.1Socket通信開(kāi)發(fā)34.2外部點(diǎn)數(shù)據(jù)處理PAGEREF_Toc427327145\h3五、細(xì)節(jié)說(shuō)明3康耐視相機(jī)具體設(shè)置軟件安裝雙擊康耐視相機(jī)軟件,按照步驟一步步安裝即可。流程編輯1.設(shè)置電腦本地連接IPV4地址為(設(shè)置為39段即可)。2.雙擊康耐視In-Sight瀏覽器軟件進(jìn)入相機(jī)設(shè)置界面,軟件會(huì)自動(dòng)搜索連接的相機(jī)設(shè)備,如下圖1.1所示。圖1.13.雙擊相機(jī)設(shè)備(紅色橢圓內(nèi)設(shè)備圖標(biāo)),進(jìn)入相機(jī)編輯界面,如下圖1.2所示。圖1.24.在應(yīng)用程序步驟中,開(kāi)始、設(shè)置工具、配置結(jié)果、完成這4個(gè)步驟形成一個(gè)完整的相機(jī)操作流程;開(kāi)始單擊"開(kāi)始”中"已連接”,如下圖1.3所示,可以進(jìn)行連接設(shè)備、斷開(kāi)設(shè)備、刷新、添加等操作。圖1.3單擊"開(kāi)始”中的"設(shè)置圖像”,如下圖1.4所示。在"采集/加載圖像”對(duì)話框中,"觸發(fā)器”按鈕是進(jìn)行拍照,"實(shí)況視頻”按鈕是實(shí)時(shí)顯示相機(jī)中的圖像,"從PC加載圖像”按鈕是加載一張存在的圖像。圖1.4在"編輯采集設(shè)置”對(duì)話框中,設(shè)置一系列相機(jī)參數(shù),根據(jù)具體需要進(jìn)行調(diào)節(jié)設(shè)置工具單擊"設(shè)置工具”中"定位部件”按鈕,對(duì)檢測(cè)模型進(jìn)行定位,作為識(shí)別的模型進(jìn)行對(duì)比;單擊"設(shè)置工具”中"檢測(cè)部件”按鈕,對(duì)模型進(jìn)行編輯操作。在"定位部件”的設(shè)置對(duì)話框中,如下圖1.5所示,合格閥值:每次拍照之后的得分如果大于閥值,則拍照成功,否則失敗;旋轉(zhuǎn)公差:檢測(cè)部件能夠旋轉(zhuǎn)的角度范圍,如果在范圍之類(lèi)則會(huì)拍照成功,否則會(huì)失敗圖1.5配置結(jié)果單擊"配置結(jié)果”中"通信”按鈕,進(jìn)行通訊設(shè)置操作,如下圖1.6所示。新時(shí)達(dá)機(jī)器人視覺(jué)通信采用的TCP/IP通訊方式,單擊"TCP/IP”,如下圖1.7所示,在"TCP/IP設(shè)置”對(duì)話框中,"服務(wù)器主機(jī)名”設(shè)為(機(jī)器人控制器IP地址),"端口”設(shè)置與CodeSys中相同,本例中設(shè)為9876,"超時(shí)時(shí)間”設(shè)為15000,"結(jié)束符”設(shè)為字符串(CR13)。單擊"格式化輸出字符串”,進(jìn)行輸出操作,如下圖1.8所示。勾選"使用分隔符”,表示在輸出之間用逗號(hào)分隔符進(jìn)行隔開(kāi),方便進(jìn)行數(shù)據(jù)處理操作;單擊"添加”按鈕,可以輸出很多數(shù)據(jù),這里只需要輸出4個(gè)數(shù)據(jù),"失敗”、"定位器.*”、"定位器.Y”、"定位器.角度”;輸出數(shù)據(jù)說(shuō)明:均為7個(gè)字節(jié)寬度,除圖案.失敗是整形外,其它數(shù)據(jù)均為浮點(diǎn)型,小數(shù)點(diǎn)位數(shù)為2位。第一位圖案.失敗:判定符,為0表示采集到特征,拍照成功;為1則拍照失敗。第二位圖案.定位器.*:輸出用戶(hù)坐標(biāo)系下的*方向絕對(duì)值。第三位圖案.定位器.Y:輸出用戶(hù)坐標(biāo)系下的Y方向絕對(duì)值。4)第四位圖案.定位器.角度:輸出用戶(hù)坐標(biāo)系下的相對(duì)角度。圖1.6圖1.7圖1.8完成在"完成”中單擊"保存作業(yè)”,則保存當(dāng)前作業(yè)任務(wù)中的所有設(shè)置;在"完成”中單擊"運(yùn)行作業(yè)”,則運(yùn)行當(dāng)前作業(yè)任務(wù)。注意,以上參數(shù)設(shè)定必須在脫機(jī)模式下才能夠設(shè)置,在聯(lián)機(jī)狀態(tài)下參數(shù)不能設(shè)置,與外界設(shè)備實(shí)時(shí)通訊必須在聯(lián)機(jī)模式下;物體旋轉(zhuǎn)一定角度拍照失敗,看檢測(cè)部件是否超過(guò)相機(jī)視野范圍和旋轉(zhuǎn)角度值設(shè)置是否合理。Codesys通信注意事項(xiàng)說(shuō)明:設(shè)定PC端的IP地址,IP地址必須,這里設(shè)定為,用網(wǎng)線與相機(jī)控制器相連;通信流程包括:建立TCPIP的服務(wù)器端并連接,給相機(jī)發(fā)送指令,從相機(jī)接收數(shù)據(jù);圖1.7中如果把"字段分隔符”改為"停止”,則兩個(gè)數(shù)據(jù)之間就是無(wú)分隔符的直接連接;如果選擇其他,則有相應(yīng)的分隔符號(hào);例:采用"消零”為"有”,"字段分隔符”為"停止”的方式時(shí),相機(jī)發(fā)送數(shù)據(jù)"-001.00”和"1010.02”時(shí),實(shí)際上發(fā)送了"454848494648484948494846485013”(13是回車(chē)符的ASIIC碼);在下載工程成功時(shí),查看通訊是否連接正常。當(dāng)client_congne*任務(wù)中的step_cogne*:=2和server_cogne*中的step_server:=2時(shí),此時(shí)通訊成功,否則通訊不正常,需要查看設(shè)備是否連接好和In-Sight軟件是否處于聯(lián)機(jī)狀態(tài)。詳細(xì)指令及其他形式的通信可參考文檔《通信設(shè)定sdnb-cn5-714d_fh_fz5》。相機(jī)標(biāo)定要實(shí)現(xiàn)將相機(jī)采集的數(shù)據(jù)轉(zhuǎn)換為機(jī)器人坐標(biāo)系下的位姿數(shù)據(jù),必須建立相機(jī)坐標(biāo)系與機(jī)器人坐標(biāo)系的對(duì)應(yīng)轉(zhuǎn)換關(guān)系,該過(guò)程通過(guò)相機(jī)標(biāo)定來(lái)實(shí)現(xiàn)。相機(jī)也分平面相機(jī)和三維相機(jī),前者只支持平面數(shù)據(jù)采集,后者則可以獲取*yz空間值。以三維相機(jī)為例,要詳細(xì)建立相機(jī)三維空間的位置與機(jī)器人坐標(biāo)系的對(duì)應(yīng)關(guān)系,必須通過(guò)嚴(yán)格的手眼標(biāo)定來(lái)實(shí)現(xiàn)。不同相機(jī)有手眼標(biāo)定算法,通過(guò)示教多個(gè)點(diǎn)來(lái)建立手眼轉(zhuǎn)換關(guān)系。這里不詳述。如果只做平面工件抓取,那只需要工件變化的坐標(biāo)值*、y以及繞z軸的轉(zhuǎn)動(dòng)角度c,問(wèn)題就簡(jiǎn)單的多,只需要進(jìn)行平面的簡(jiǎn)單標(biāo)定即可實(shí)現(xiàn)。以康耐視相機(jī)為例,格力等客戶(hù)只需要實(shí)現(xiàn)流水線來(lái)料的抓取操作,標(biāo)定平面坐標(biāo)系即可,康耐視相機(jī)可以提供移動(dòng)后的工件相對(duì)于移動(dòng)前的偏移位置量,或者提供工件的絕對(duì)移動(dòng)位置。這里,我們提供這兩種工作方式的實(shí)現(xiàn)過(guò)程。相機(jī)校準(zhǔn)相機(jī)默認(rèn)輸出的坐標(biāo)值是相機(jī)采集到的像素值,并非實(shí)際工件位置尺寸,因此需要將物理坐標(biāo)與像素值進(jìn)行映射標(biāo)定。設(shè)定校準(zhǔn)后,可使測(cè)量結(jié)果像素值轉(zhuǎn)換為實(shí)際尺寸并輸出,康耐視提供了校準(zhǔn)參數(shù)的制作過(guò)程。1.單擊"設(shè)置圖像",界面右下角出現(xiàn)下圖2.1所示界面。校準(zhǔn)類(lèi)型中有很多種,根據(jù)實(shí)際需要選擇,這里選擇"網(wǎng)格”,然后單擊"校準(zhǔn)”按鈕,出現(xiàn)下圖2.2所示界面。圖2.12.打印校準(zhǔn)網(wǎng)格紙張。在圖2.2中,單擊"打印網(wǎng)格”按鈕,然后將打印的網(wǎng)格紙張放在相機(jī)視野正中間。3.在"設(shè)置”界面中,"網(wǎng)格類(lèi)型”為方格圖案(帶基準(zhǔn)),其它值均為默認(rèn)。4.單擊"姿勢(shì)”,進(jìn)入姿勢(shì)設(shè)置界面,如圖2.3所示,原點(diǎn)位置為默認(rèn),單擊"觸發(fā)器”按鈕,相機(jī)會(huì)自動(dòng)拍照,最后單擊"校準(zhǔn)”,校準(zhǔn)工作就結(jié)束。5.單擊"結(jié)果”,可以查看校準(zhǔn)情況,如圖2.4所示。圖2.2圖2.3圖2.46.建立檢測(cè)模型。單擊"定位部件”,出現(xiàn)如圖2.5所示界面,單擊"位置工具”中"圖案”,然后單擊"添加”,單擊"OK”,接著單擊界面右下角"模型”,拖動(dòng)綠色模型矩形框,使被檢測(cè)模型處于綠色矩形框中,最后單擊界面右下角"訓(xùn)練”,此時(shí)檢測(cè)模型已經(jīng)建立。圖2.57.查看模型建立是否成功。在界面右側(cè)選擇板中,可以查看建立圖案的情況,綠色圓點(diǎn)表示模型建立成功,同時(shí)會(huì)輸出檢測(cè)模型的位置、角度、得分,如圖2.6所示。圖2.6通過(guò)以上7步即可完成相機(jī)的校準(zhǔn)過(guò)程。絕對(duì)坐標(biāo)實(shí)現(xiàn)絕對(duì)坐標(biāo)的實(shí)現(xiàn)必須借助機(jī)器人的用戶(hù)坐標(biāo)系,即機(jī)器人在用戶(hù)坐標(biāo)系下走絕對(duì)位置運(yùn)動(dòng)。具體實(shí)現(xiàn)由以下幾個(gè)步驟組成。首先,用step機(jī)器人三點(diǎn)法示教出一個(gè)固定用戶(hù)坐標(biāo)系。用戶(hù)坐標(biāo)系的原點(diǎn)根據(jù)實(shí)際情況而定,一般選擇流水線上一個(gè)固定位置參考點(diǎn),該參考點(diǎn)要方便相機(jī)進(jìn)行坐標(biāo)轉(zhuǎn)化標(biāo)定。關(guān)于用戶(hù)坐標(biāo)系的標(biāo)定,可參見(jiàn)新時(shí)達(dá)機(jī)器人操作使用說(shuō)明書(shū);其次,進(jìn)行相機(jī)坐標(biāo)與實(shí)際位置坐標(biāo)的標(biāo)定轉(zhuǎn)換。在完成第一步中的固定用戶(hù)坐標(biāo)系標(biāo)定后,在該坐標(biāo)系下選取工件上的三點(diǎn),計(jì)算出這三點(diǎn)在用戶(hù)坐標(biāo)系的*、Y值(該步驟可通過(guò)機(jī)器人協(xié)助示教獲得在用戶(hù)坐標(biāo)系下的位姿值)。在圖像輸入的"校準(zhǔn)”模塊中,按照2.1中的步驟完成相機(jī)坐標(biāo)與實(shí)際位置坐標(biāo)的校準(zhǔn)參數(shù)制作轉(zhuǎn)換;最后,機(jī)器人實(shí)現(xiàn)絕對(duì)位置運(yùn)動(dòng)。在完成第二步后,工件每偏移一點(diǎn),相機(jī)均可計(jì)算出其在用戶(hù)坐標(biāo)系下新的位置值*、Y和繞Z軸的theta角度值。這樣,只需要在示教器程序中設(shè)置抓取運(yùn)動(dòng)點(diǎn)參考的坐標(biāo)系為用戶(hù)坐標(biāo)系即可,即RefSys語(yǔ)句下走絕對(duì)cpe點(diǎn)。該cpe點(diǎn)是codesys里直接讀取的相機(jī)返回值。相對(duì)坐標(biāo)實(shí)現(xiàn)相對(duì)坐標(biāo)的實(shí)現(xiàn)就比較簡(jiǎn)單,只需要將相機(jī)坐標(biāo)轉(zhuǎn)換為實(shí)際位置坐標(biāo)即可。在工件上選取三個(gè)特征點(diǎn),用帶尖機(jī)器人示教出這三點(diǎn)在機(jī)器人基坐標(biāo)系下的坐標(biāo)值(主要是*和Y)。按照2.1中的校準(zhǔn)流程制作出校準(zhǔn)參數(shù)。這樣,工件偏移后,相機(jī)可以直接計(jì)算出其新的坐標(biāo)*、Y和theta。需要注意的是,使用相對(duì)坐標(biāo)運(yùn)動(dòng)時(shí),相機(jī)輸出數(shù)據(jù)必須是相對(duì)量,即測(cè)量坐標(biāo)與基準(zhǔn)坐標(biāo)之差,而不是絕對(duì)測(cè)量坐標(biāo)。具體信息見(jiàn)后續(xù)章節(jié)。示教器示例程序絕對(duì)坐標(biāo)實(shí)現(xiàn)范例Tool(tool0);//若帶工具,則先加載好PTP(ap0);//走到一個(gè)安全位置點(diǎn)Lin(cp3);//走到標(biāo)準(zhǔn)抓取位置(工件處于標(biāo)準(zhǔn)位置時(shí)機(jī)器人的抓取位姿,提前示教好)RefSys(ref1);//切到用戶(hù)坐標(biāo)系下WaitTime(uint3);BOOLE*TSet(boolbasepos,TRUE);//端口號(hào)為2,發(fā)送信號(hào)到codesys,讀取當(dāng)前位置作為標(biāo)準(zhǔn)抓取位置WaitTime(uint4);BOOLE*TSet(boolbasepos,FALSE);//關(guān)閉該端口/////以上為獲得標(biāo)準(zhǔn)抓取位置需要的步驟RefSys(WORLD);PTP(ap0);LP:int0;BOOLE*TSet(boolphoto,TRUE);//發(fā)送相機(jī)拍照命令,端口號(hào)0WaitTime(uint0);//等待PLC處理時(shí)間,建議在300ms以上bool0:=BOOLE*TRead(boolenableget);//讀取抓取標(biāo)志位,為T(mén)RUE則能抓取BOOLE*TSet(boolphoto,FALSE);//關(guān)閉該端口,保證下次為高電平觸發(fā)IF(bool0=0)THEN//為true則可抓取,否則重新發(fā)送拍照命令WaitTime(uint1);GOTO(int0);END_IFRefSys(ref1);//切到用戶(hù)坐標(biāo)系下Lin(rcpe0);//走到codesys里輸出的絕對(duì)位置(外部點(diǎn)形式,端口號(hào)0)BOOLE*TSet(boolfinishget,TRUE);//發(fā)送抓取完成標(biāo)志W(wǎng)aitTime(uint2);BOOLE*TSet(boolfinishget,FALSE);//關(guān)閉抓取完成標(biāo)志PTP(ap1);GOTO(int1);//回到循環(huán)開(kāi)始,等待下一個(gè)工件相對(duì)坐標(biāo)實(shí)現(xiàn)范例Tool(tool0);//若帶工具,則先加載好PTP(ap0);//走到一個(gè)安全位置點(diǎn)Lin(cp3);//走到標(biāo)準(zhǔn)抓取位置(工件處于標(biāo)準(zhǔn)位置時(shí)機(jī)器人的抓取位姿,提前示教好)WaitTime(uint3);BOOLE*TSet(boolbasepos,TRUE);//端口號(hào)為2,讀取當(dāng)前位置作為標(biāo)準(zhǔn)抓取位置WaitTime(uint4);BOOLE*TSet(boolbasepos,FALSE);//關(guān)閉該端口/////以上為獲得標(biāo)準(zhǔn)抓取位置需要的步驟PTP(ap0);//回到安全點(diǎn)LP:int0;BOOLE*TSet(boolphoto,TRUE);//發(fā)送相機(jī)拍照命令,端口號(hào)0WaitTime(uint0);//等待PLC處理時(shí)間,建議在300ms以上bool0:=BOOLE*TRead(boolenableget);//讀取抓取標(biāo)志位,為T(mén)RUE則能抓取BOOLE*TSet(boolphoto,FALSE);//關(guān)閉該端口,保證下次為高電平觸發(fā)IF(bool0=0)THEN//為true則可抓取,否則重新發(fā)送拍照命令WaitTime(uint1);GOTO(int0);END_IFLin(rcpe1);//走到codesys里輸出的絕對(duì)位置(外部點(diǎn)形式,該位置是機(jī)器人當(dāng)前位置加上相對(duì)偏移,端口號(hào)1)BOOLE*TSet(boolfinishget,TRUE);//發(fā)送抓取完成標(biāo)志W(wǎng)aitTime(uint2);BOOLE*TSet(boolfinishget,FALSE);//關(guān)閉抓取完成標(biāo)志PTP(ap1);GOTO(int1);//回到循環(huán)開(kāi)始,等待下一個(gè)工件Codesys邏輯開(kāi)發(fā)Socket通信開(kāi)發(fā)首先,要在codesys上完成socket通訊開(kāi)發(fā)。通訊開(kāi)發(fā)的要點(diǎn)包括協(xié)議類(lèi)型、協(xié)議數(shù)據(jù)、數(shù)據(jù)收發(fā)、邏輯判斷等。一般的相機(jī)都是支持TCP/IP協(xié)議的,我們也多是采用該協(xié)議完成step控制器與各類(lèi)相機(jī)的通訊連接及數(shù)據(jù)交互的。一般來(lái)說(shuō),機(jī)器人控制器作為主機(jī)server(服務(wù)器),相機(jī)處理器作為從機(jī)client(客戶(hù)端)??刂破髯鳛橹鳈C(jī)的好處在于,控制器"知道”自己什么時(shí)候需要拍照、需要數(shù)據(jù),此時(shí)給相機(jī)發(fā)送命令即可。相機(jī)作為客戶(hù)端始終處于監(jiān)聽(tīng)狀態(tài)。主機(jī)控制器的IP地址為,端口號(hào)任意,如取為9876,用網(wǎng)線與相機(jī)控制器相連,在完成相機(jī)與控制器的通信數(shù)據(jù)格式設(shè)定后,接下來(lái)就是codesys端編程實(shí)現(xiàn)。通信示例說(shuō)明:CASEstepOF0: SAddr.sAddr:='192.168.39.120';//服務(wù)器地址 server(*Enable:=TRUE,ipAddr:=SAddr,uiPort:=9876);//建立服務(wù)器 IF(server.*Busy=TRUE)THEN connect(*Enable:=server.*Busy,hServer:=server.hServer);//連接 IF(connect.*Active=TRUE)THEN//連接成功 step:=1;//執(zhí)行接收數(shù)據(jù) END_IF IF(connect.*Error=TRUE)THEN//連接報(bào)錯(cuò) step:=3;//復(fù)位 END_IF END_IF IF(server.*Error=TRUE)THEN step:=3; END_IF///////////////////////從相機(jī)傳過(guò)來(lái)的數(shù)據(jù)以ASCII碼的形式存儲(chǔ)到recvokcr數(shù)組,數(shù)組的第一位存儲(chǔ)的是串行數(shù)據(jù)輸出中設(shè)定的首位///////////////////////例如設(shè)定的整數(shù)位為1,小數(shù)位為1,當(dāng)相機(jī)發(fā)送一個(gè)1.0時(shí),用BYTE型recvokcr數(shù)組"1.0回車(chē)(CR)”對(duì)應(yīng)的ASCII碼"49",”62",”48",”13" 1: size1:=SIZEOF(recvokcr);//數(shù)組長(zhǎng)度 precv:=ADR(recvokcr);//數(shù)組地址recv(*Enable:=TRUE,hConnection:=connect.hConnection,szSize:=size1,pData:=precv);//接收數(shù)據(jù) IF(recv.szCount>7)THEN//判斷是否收到數(shù)據(jù)輸出,這里的數(shù)字應(yīng)小于數(shù)據(jù)總長(zhǎng)度 step:=5;//數(shù)據(jù)處理 END_IF IFrecv.*ErrorTHEN//接收數(shù)據(jù)報(bào)錯(cuò) step:=3; END_IF///////////////////////以ASCII碼的形式從senddata數(shù)組傳給相機(jī),給相機(jī)發(fā)送"M回車(chē)(CR)”命令可以采集一張圖片 2: size2:=SIZEOF(senddata);//數(shù)組長(zhǎng)度 senddata[0]:=16#4D;//M的ASCII碼,16進(jìn)制表示,是單次測(cè)量的指令。 senddata[1]:=16#0D;//回車(chē)(CR)的ASCII碼,16進(jìn)制表示(歐姆龍相機(jī)用MCR來(lái)發(fā)送數(shù)據(jù)) psend:=ADR(senddata);//指令地址send(*E*ecute:=TRUE,hConnection:=connect.hConnection,szSize:=size2,pData:=psend,udiTimeOut:=1000000); IF(send.*Done=TRUE)THEN//發(fā)送成功 send(*E*ecute:=FALSE);//函數(shù)復(fù)位 step:=1; END_IF IF(send.*Error=TRUE)THEN//發(fā)送報(bào)錯(cuò) send(*E*ecute:=FALSE); step:=3; END_IF 5://數(shù)據(jù)處理程序………..3://復(fù)位后返回 connect(*Enable:=FALSE); server(*Enable:=FALSE); recv(*Enable:=FALSE,hConnection:=connect.hConnection,szSize:=size,pData:=precv); step:=99;99: step:=0;END_CASE注意,多數(shù)socket函數(shù)都是上升沿執(zhí)行,所以在調(diào)用后,應(yīng)在合適的地方將其關(guān)閉(給下降沿),這樣下一周期執(zhí)行時(shí)才會(huì)繼續(xù)生效。否則可能造成函數(shù)執(zhí)行無(wú)效,程序死循環(huán)卡死在*一步、或者報(bào)錯(cuò)處理。外部點(diǎn)數(shù)據(jù)處理在步驟1.1通過(guò)socket實(shí)現(xiàn)控制器與相機(jī)的通信連接及數(shù)據(jù)收發(fā)處理后,本步驟主要完成與HMI的命令收發(fā)處理以及外部cpe點(diǎn)位置計(jì)算與返回。完整流程邏輯如下://獲取示教器輸入GetHMIBOOL(Enable:=TRUE,PortNumber:=0,Data=>ReqGet); //獲取拍照命令GetHMIBOOL(Enable:=TRUE,PortNumber:=1,Data=>FinishGet); //獲取完成抓取命令GetHMIBOOL(Enable:=TRUE,PortNumber:=2,Data=>BasePosGet);//獲取標(biāo)準(zhǔn)抓取位置命令//(**獲取標(biāo)準(zhǔn)抓取位置(當(dāng)前通過(guò)IO語(yǔ)句發(fā)送命令實(shí)現(xiàn),端口號(hào)為2)***)IF(BasePosGet=TRUEAND(BasePosCount=0))THEN BasePosCount:=1; ReadRefSys(Enable:=TRUE,RefSys=>RefSys_qz);//注意,ReadRefSys讀出來(lái)的當(dāng)前坐標(biāo)系的ABC為弧度,需要轉(zhuǎn)換為角度 RefSys_qz.a:=RefSys_qz.a*R2D; RefSys_qz.b:=RefSys_qz.b*R2D; RefSys_qz.c:=RefSys_qz.c*R2D; ReadTCPData(Enable:=TRUE,RefSys:=RefSys_qz,CartPos=>BasePos);//注意,當(dāng)前讀取用戶(hù)坐標(biāo)系下的位置值END_IFIFBasePosGet=FALSETHEN BasePosCount:=0;END_IF//(**請(qǐng)求相機(jī)數(shù)據(jù)并計(jì)算抓取外部點(diǎn){與通訊部分分開(kāi)使用,通過(guò)標(biāo)志符確定是否獲取數(shù)據(jù)成功}***)rtrig(CLK:=TakePhoPLC);IFrtrig.Q=TRUETHEN TakePhoPLC:=FALSE; //baseTCP為標(biāo)準(zhǔn)抓取位置 baseTCP.*:=BasePos.*; baseTCP.y:=BasePos.y; baseTCP.z:=BasePos.z; baseTCP.a:=BasePos.a*D2R; baseTCP.b:=BasePos.b*D2R; baseTCP.c:=BasePos.c*D2R; //Tpos為相機(jī)輸出數(shù)據(jù) Tpos.*:=server.Pos_*; Tpos.y:=server.Pos_y; Tpos.z:=0; Tpos.a:=0; Tpos.b:=0; Tpos.c:=server.Pos_c*D2R; //以下過(guò)程為坐標(biāo)變換,將相機(jī)坐標(biāo)系下的角度theta轉(zhuǎn)換到用戶(hù)坐標(biāo)系下 FB_Cartpos2Homomatri*_0(SR_RefSys_0:=baseTCP); baseTCP_homomatri*:=FB_Cartpos2Homomatri*_0.Ref_Homomatri*; FB_Cartpos2Homomatri*_1(SR_RefSys_0:=Tpos); basecamera_homomatri*:=FB_Cartpos2Homomatri*_1.Ref_Homomatri*; FB_MulHomomatri*_0(homomatri*_1:=basecamera_homomatri*,homomatri*_2:=baseTCP_homomatri*); T0TCP:=FB_MulHomomatri*_0.homomatri*_out; (*changeto*yzabc*) FB_Homomatri*2Cartpos_0(Ref_Homomatri*:=T0TCP,SR_RefSys_0=>SR_test); FB_Homomatri*2Cartpos_0(Ref_Homomatri*:=T0TCP,SR_RefSys_0=>SR_RefSys_0); SR_RefSys_0.a:=SR_RefSys_0.a*R2D; SR_RefSys_0.b:=SR_RefSys_0.b*R2D; SR_RefSys_0.c:=SR_RefSys_0.c*R2D;//絕對(duì)坐標(biāo)輸出,端口號(hào)0 E*TPos.*:=server.Pos_*;//*和y值用相機(jī)輸出數(shù)據(jù) E*TPos.y:=server.Pos_y; E*TPos.z:=BasePos.z;//z、a、b用標(biāo)準(zhǔn)抓取位置值 E*TPos.a:=BasePos.a; E*TPos.b:=BasePos.b; E*TPos.c:=SR_RefSys_0.c; //theta用轉(zhuǎn)換過(guò)的
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鋼結(jié)構(gòu)材料性能的多場(chǎng)耦合分析-洞察闡釋
- 黃金在20世紀(jì)的國(guó)際金融戰(zhàn)爭(zhēng)與和平-洞察闡釋
- 數(shù)據(jù)驅(qū)動(dòng)的智能港口決策系統(tǒng)-洞察闡釋
- 多智能體協(xié)作與群體行為研究-洞察闡釋
- 內(nèi)蒙古建筑職業(yè)技術(shù)學(xué)院《建筑專(zhuān)題設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 武昌首義學(xué)院《茅盾文學(xué)獎(jiǎng)獲獎(jiǎng)作品欣賞》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧特殊教育師范高等專(zhuān)科學(xué)?!妒称匪菰醇夹g(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 云南財(cái)經(jīng)職業(yè)學(xué)院《空間生物學(xué)與空間生物技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 江蘇城鄉(xiāng)建設(shè)職業(yè)學(xué)院《預(yù)防醫(yī)學(xué)基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 黔南民族醫(yī)學(xué)高等專(zhuān)科學(xué)?!冬F(xiàn)代農(nóng)業(yè)技術(shù)導(dǎo)論(養(yǎng)殖類(lèi))》2023-2024學(xué)年第二學(xué)期期末試卷
- 醬料生產(chǎn)知識(shí)培訓(xùn)課件模板
- 藥品網(wǎng)絡(luò)銷(xiāo)售監(jiān)督管理辦法培訓(xùn)
- 天車(chē)軌道梁加固安全施工方案
- 脫發(fā)介紹演示培訓(xùn)課件
- 初中物理教材插圖原理集錦(回歸教材)
- 腸梗阻護(hù)理查房(小腸減壓管的應(yīng)用)
- 2024屆遼寧省沈陽(yáng)市東北育才校中考沖刺卷物理試題含解析
- 抗菌藥物合理應(yīng)用
- 初中體育籃球雙手胸前傳接球教案
- 中建盤(pán)扣式落地卸料平臺(tái)施工方案
- 配電網(wǎng)技術(shù)標(biāo)準(zhǔn)(施工驗(yàn)收分冊(cè))
評(píng)論
0/150
提交評(píng)論