XPCIE1032H功能簡介
XPCIE1032H是一款基于PCI Express的EtherCAT總線運(yùn)動控制卡,可選6-64軸運(yùn)動控制,支持多路高速數(shù)字輸入輸出,可輕松實(shí)現(xiàn)多軸同步控制和高速數(shù)據(jù)傳輸。
XPCIE1032H集成了強(qiáng)大的運(yùn)動控制功能,結(jié)合MotionRT7運(yùn)動控制實(shí)時(shí)軟核,解決了高速高精應(yīng)用中,PC Windows開發(fā)的非實(shí)時(shí)痛點(diǎn),指令交互速度比傳統(tǒng)的PCI/PCIe快10倍。
XPCIE1032H支持PWM,PSO功能,板載16進(jìn)16出通用IO口,其中輸出口全部為高速輸出口,可配置為4路PWM輸出口或者16路高速PSO硬件比較輸出口。輸入口含有8路高速輸入口,可配置為4路高速色標(biāo)鎖存或兩路編碼器輸入。
XPCIE1032H搭配MotionRT7實(shí)時(shí)內(nèi)核,使用本地LOCAL接口連接,通過高速的核內(nèi)交互,可以做到更快速的指令交互,單條指令與多條指令一次性交互時(shí)間可以達(dá)到3-5us左右。
?XPCIE1032H與MotionRT7實(shí)時(shí)內(nèi)核的配合具有以下優(yōu)勢:
1.支持多種上位機(jī)語言開發(fā),所有系列產(chǎn)品均可調(diào)用同一套API函數(shù)庫;
2.借助核內(nèi)交互,可以快速調(diào)用運(yùn)動指令,響應(yīng)時(shí)間快至微秒級,比傳統(tǒng)PCI/PCIe快10倍;
3.解決傳統(tǒng)PCI/PCIe運(yùn)動控制卡在Windows環(huán)境下控制系統(tǒng)的非實(shí)時(shí)性問題;
4.支持一維/二維/三維PSO(高速硬件位置比較輸出),適用于視覺飛拍、精密點(diǎn)膠和激光能量控制等應(yīng)用;
5.提供高速輸入接口,便于實(shí)現(xiàn)位置鎖存;
6.支持EtherCAT總線和脈沖輸出混合聯(lián)動、混合插補(bǔ)。
?使用XPCIE1032H和MotionRT7進(jìn)行項(xiàng)目開發(fā)時(shí),通常需要進(jìn)行以下步驟:
1.安裝驅(qū)動程序,識別XPCIE1032H;
2.打開并執(zhí)行文件“MotionRT710.exe”,配置參數(shù)和運(yùn)行運(yùn)動控制實(shí)時(shí)內(nèi)核;
3.使用ZDevelop軟件連接到控制器,進(jìn)行參數(shù)監(jiān)控。連接時(shí)請使用PCI/LOCAL方式,并確保ZDevelop軟件版本在3.10以上;
4.完成控制程序開發(fā),通過LOCAL鏈接方式連接到運(yùn)動控制卡,實(shí)現(xiàn)實(shí)時(shí)運(yùn)動控制。
?與傳統(tǒng)PCI/PCIe卡和PLC的測試數(shù)據(jù)結(jié)果對比:
我們可以從測試對比結(jié)果看出,XPCIE1032H運(yùn)動控制卡配合實(shí)時(shí)運(yùn)動控制內(nèi)核MotionRT7,在LOCAL鏈接(核內(nèi)交互)的方式下,指令交互的效率是非常穩(wěn)定,當(dāng)測試數(shù)量從1w增加到10w時(shí),單條指令交互時(shí)間與多條指令交互時(shí)間波動不大,非常適用于高速高精的應(yīng)用。
XPCIE1032H控制卡安裝
關(guān)閉計(jì)算機(jī)電源。
打開計(jì)算機(jī)機(jī)箱,選擇一條空閑的XPCIE卡槽,用螺絲刀卸下相應(yīng)的擋板條。
將運(yùn)動控制卡插入該槽,擰緊擋板條上的固定螺絲。
XPCIE1032H驅(qū)動安裝與建立連接參考往期文章EtherCAT超高速實(shí)時(shí)運(yùn)動控制卡XPCIE1032H上位機(jī)C#開發(fā)(一):驅(qū)動安裝與建立連接。
一、C#語言進(jìn)行運(yùn)動控制項(xiàng)目開發(fā)
二、相關(guān)PC函數(shù)介紹
相關(guān)PC函數(shù)介紹詳情可參考“ZMotion PC函數(shù)庫編程手冊 V2.1.1”。
1、控制器網(wǎng)口連接函數(shù)接口
2、硬件比較輸出函數(shù)接口
3、硬件定時(shí)器函數(shù)接口
在form設(shè)計(jì)界面找到需要用到的控件拖拽到窗體中進(jìn)行UI界面設(shè)計(jì),效果如下。
三、位置同步輸出PSO介紹
PSO(position synchronized output)即位置同步輸出,本質(zhì)是通過采集實(shí)時(shí)的編碼器反饋位置(無編碼器可使用輸出的脈沖位置)與比較模式設(shè)定的位置進(jìn)行比較,控制OP高速同步輸出信號,PSO示意圖如下。
PSO一般與激光器(或點(diǎn)膠噴射閥等設(shè)備)同步輸出信號進(jìn)行相位同步,在運(yùn)動軌跡的所有階段以恒定的空間(或恒定時(shí)間)間隔觸發(fā)輸出開關(guān),包括加速、減速和勻速段,從而實(shí)現(xiàn)脈沖能量均勻地作用在被加工物體上。
PSO功能的特點(diǎn)是能高速且穩(wěn)定的輸出信號,因?yàn)檩敵鼍茸銐蚋?,所以能夠在整個(gè)運(yùn)動軌跡中以固定的距離觸發(fā)輸出信號而不用考慮總體速度,即在直線部分以很快的速度運(yùn)動,而在圓角部分減速的同時(shí)也能保證輸出間距恒定。
通常圓角加工部分在整個(gè)加工過程中占有比較小的部分,這樣在保證加工效果的同時(shí),就可以最大限度地提高產(chǎn)能。
正運(yùn)動的PSO功能調(diào)用ZAux_Direct_HwPswitch2函數(shù)接口實(shí)現(xiàn),該函數(shù)采用硬件實(shí)現(xiàn)IO的高速比較輸出,故名硬件比較輸出。
四、位置同步輸出PSO模式介紹
單軸PSO參考往期文章單軸PSO視覺飛拍與精準(zhǔn)輸出:EtherCAT超高速實(shí)時(shí)運(yùn)動控制卡XPCIE1032H上位機(jī)C#開發(fā)(七)。
1、2D比較 --模式25
⊙該模式主要功能為:碰到設(shè)置好的二維比較點(diǎn)之后,輸出口電平反轉(zhuǎn)。
該模式使用時(shí)需要指定高速輸出口,設(shè)置好首個(gè)比較點(diǎn)的輸出狀態(tài)、比較軸和比較點(diǎn)(即設(shè)置table寄存器,點(diǎn)數(shù)量等),設(shè)置比較點(diǎn)的脈沖最大誤差等參數(shù)后,啟動比較。緊接著驅(qū)動軸運(yùn)動即可。
如下圖設(shè)置:設(shè)置高速比較輸出口0,首個(gè)比較點(diǎn)的輸出狀態(tài)為1,設(shè)置比較軸為0,1。設(shè)置兩個(gè)比較點(diǎn),比較點(diǎn)坐標(biāo)分別為:(100,50),(160,80)。即當(dāng)軸運(yùn)動到點(diǎn)(100,50),點(diǎn)(160,80)。誤差范圍在±50個(gè)脈沖左右的范圍時(shí),都會觸發(fā)電平變化。
示波器波形如圖所示:在坐標(biāo)(100,50)的時(shí)候輸出為1,直到坐標(biāo)(160,80)的時(shí)候恢復(fù)為0。
2、2D比較 -- 模式26
⊙該模式主要功能為:碰到設(shè)置好的二維比較點(diǎn)之后,輸出口輸出一斷設(shè)置好的定時(shí)脈沖。
該模式使用時(shí),需要指定高速輸出口,設(shè)置好首個(gè)比較點(diǎn)的輸出狀態(tài),設(shè)置比較軸,在設(shè)置比較點(diǎn)(即設(shè)置table寄存器,點(diǎn)數(shù)量等),設(shè)置好比較點(diǎn)之后在設(shè)置脈沖的有效時(shí)間,脈沖周期時(shí)間,以及脈沖個(gè)數(shù)(重復(fù)次數(shù)),設(shè)置比較點(diǎn)的脈沖最大誤差等參數(shù)后,啟動比較。緊接著驅(qū)動軸運(yùn)動即可。
如下圖設(shè)置:設(shè)置高速比較輸出口0,首個(gè)比較點(diǎn)的輸出狀態(tài)為1,設(shè)置比較軸為0,1。設(shè)置兩個(gè)比較點(diǎn),比較點(diǎn)坐標(biāo)分別為:(100,100),(200,200)。即當(dāng)軸運(yùn)動到點(diǎn)(100,100),點(diǎn)(200,200)。誤差范圍在±10個(gè)脈沖左右的范圍時(shí),都會觸發(fā)兩個(gè)周期為60ms,脈沖有效時(shí)間為20ms的脈沖。
示波器波形如圖所示:在坐標(biāo)(100,100),坐標(biāo)(200,200)的時(shí)候都會觸發(fā)兩個(gè)周期為60ms,脈沖有效時(shí)間為20ms的脈沖。
3、3D比較 -- 模式35
該模式主要功能為:碰到設(shè)置好的三維比較點(diǎn)之后,輸出口電平反轉(zhuǎn)。
該模式使用時(shí)需要指定高速輸出口,設(shè)置好首個(gè)比較點(diǎn)的輸出狀態(tài),設(shè)置比較軸,在設(shè)置比較點(diǎn)(即設(shè)置table寄存器,點(diǎn)數(shù)量等),設(shè)置比較點(diǎn)的脈沖最大誤差等參數(shù)后,啟動比較。緊接著驅(qū)動軸運(yùn)動即可。
如下圖設(shè)置:設(shè)置高速比較輸出口0,首個(gè)比較點(diǎn)的輸出狀態(tài)為1,設(shè)置比較軸為0,1,2。設(shè)置4個(gè)比較點(diǎn),比較點(diǎn)坐標(biāo)分別為:(80,40,20),(160,80,40),(240,120,60),(320,160,80)。即當(dāng)軸運(yùn)動到點(diǎn)(80,40,20),(160,80,40),(240,120,60),(320,160,80)。誤差范圍在±10個(gè)脈沖左右的范圍時(shí),都會觸發(fā)電平變化。
示波器波形如圖所示:在坐標(biāo)點(diǎn)(80,40,20),(160,80,40),(240,120,60),(320,160,80)時(shí)會發(fā)生電平變化。
4、3D比較 -- 模式36
該模式主要功能為:碰到設(shè)置三維比較點(diǎn)之后,輸出口輸出一斷設(shè)置好的定時(shí)脈沖。
該模式使用時(shí),需要指定高速輸出口,設(shè)置好首個(gè)比較點(diǎn)的輸出狀態(tài),設(shè)置比較軸,在設(shè)置比較點(diǎn)(即設(shè)置table寄存器,點(diǎn)數(shù)量等),設(shè)置好比較點(diǎn)之后在設(shè)置脈沖的有效時(shí)間,脈沖周期時(shí)間,以及脈沖個(gè)數(shù)(重復(fù)次數(shù)),設(shè)置比較點(diǎn)的脈沖最大誤差等參數(shù)后,啟動比較。緊接著驅(qū)動軸運(yùn)動即可。
如下圖設(shè)置:設(shè)置高速比較輸出口0,首個(gè)比較點(diǎn)的輸出狀態(tài)為1,設(shè)置比較軸為0,1,2。設(shè)置4個(gè)比較點(diǎn),比較點(diǎn)坐標(biāo)分別為:(80,40,20),(160,80,40),(240,120,60),(320,160,80)。即當(dāng)軸運(yùn)動到點(diǎn)(80,40,20),(160,80,40),(240,120,60),(320,160,80)。誤差范圍在±10個(gè)脈沖左右的范圍時(shí),都會觸發(fā)兩個(gè)周期為60ms,脈沖有效時(shí)間為20ms的脈沖。
示波器波形如圖所示:在坐標(biāo)點(diǎn)(80,40,20),(160,80,40),(240,120,60),(320,160,80)的時(shí)候都會觸發(fā)兩個(gè)周期為60ms,脈沖有效時(shí)間為20ms的脈沖。
核心功能代碼:PSO/2D/3D核心程序。
int ZAux_Direct_HwPswitch2_2D() { string cmdbuff=""; string tempbuff = ""; StringBuilder cmdbuffAck = new StringBuilder(); //生成命令 switch (PsoMode) { case 7: tempbuff = String.Format("HW_PSWITCH2({0},{1},{2},{3},{4},{5},{6},{7})", PsoMode, ModePara1, ModePara2, ModePara3, ModePara4, ModePara5, ModePara6, ModePara7); break; case 25: tempbuff = String.Format("HW_PSWITCH2({0},{1},{2},{3},{4},{5})", PsoMode, ModePara1, ModePara2, ModePara3, ModePara4, ModePara5); break; case 26: tempbuff = String.Format("HW_PSWITCH2({0},{1},{2},{3},{4},{5},{6},{7},{8})", PsoMode, ModePara1, ModePara2, ModePara3, ModePara4, ModePara5, ModePara6, ModePara7, ModePara8); break; case 35: tempbuff = String.Format("HW_PSWITCH2({0},{1},{2},{3},{4},{5})", PsoMode, ModePara1, ModePara2, ModePara3, ModePara4, ModePara5); break; case 36: tempbuff = String.Format("HW_PSWITCH2({0},{1},{2},{3},{4},{5},{6},{7},{8})", PsoMode, ModePara1, ModePara2, ModePara3, ModePara4, ModePara5, ModePara6, ModePara7, ModePara8); break; } //調(diào)用命令執(zhí)行函數(shù) int ret = zmcaux.ZAux_Execute(g_handle, tempbuff, cmdbuffAck, 2048); if (cmdbuffAck.Length != 0) MessageBox.Show(cmdbuff, "提示"); return ret; }
本次,正運(yùn)動技術(shù)二維/三維的多軸PSO視覺飛拍與精準(zhǔn)輸出:EtherCAT超高速實(shí)時(shí)運(yùn)動控制卡XPCIE1032H上位機(jī)C#開發(fā)(八),就分享到這里。
更多精彩內(nèi)容請關(guān)注“正運(yùn)動小助手”公眾號,需要相關(guān)開發(fā)環(huán)境與例程代碼,請咨詢正運(yùn)動技術(shù)銷售工程師。
本文由正運(yùn)動技術(shù)原創(chuàng),歡迎大家轉(zhuǎn)載,共同學(xué)習(xí),一起提高中國智能制造水平。文章版權(quán)歸正運(yùn)動技術(shù)所有,如有轉(zhuǎn)載請注明文章來源。
審核編輯 黃宇
-
上位機(jī)
+關(guān)注
關(guān)注
27文章
942瀏覽量
54813 -
PSO
+關(guān)注
關(guān)注
0文章
49瀏覽量
12940 -
運(yùn)動控制卡
+關(guān)注
關(guān)注
7文章
113瀏覽量
15463 -
ethercat
+關(guān)注
關(guān)注
18文章
690瀏覽量
38701 -
正運(yùn)動技術(shù)
+關(guān)注
關(guān)注
0文章
101瀏覽量
404
發(fā)布評論請先 登錄
相關(guān)推薦
評論