
應(yīng)用背景
隨著市場(chǎng)對(duì)篩選需求的增長(zhǎng),“圓盤(pán)篩選機(jī)”這一個(gè)詞更多地出現(xiàn)在了工控行業(yè)、電子行業(yè)等領(lǐng)域。目前市面上大多數(shù)的圓盤(pán)篩選機(jī)是一個(gè)工站的應(yīng)用,即一個(gè)大圓盤(pán)完成一工位的篩選工作。
對(duì)于相機(jī)少、分類(lèi)少的應(yīng)用,空間的應(yīng)用顯得不夠合理,是否可以將機(jī)臺(tái)空間更合理地利用?另外流水線式的相機(jī)少的機(jī)構(gòu)能否一控多呢?
正運(yùn)動(dòng)技術(shù)解決方案:
正運(yùn)動(dòng)針對(duì)現(xiàn)有市場(chǎng)需求,為此推廣部署致力于機(jī)臺(tái)空間的合理利用,將XPCIE1028控制卡對(duì)篩選應(yīng)用進(jìn)行了升級(jí)延伸,實(shí)現(xiàn)一卡雙工位的控制(即雙盤(pán)篩選),兩個(gè)工位之間完全獨(dú)立,測(cè)試的篩選工作效率達(dá)到1.2W+。

01 XPCIE1028控制卡介紹
XPCIE1028是正運(yùn)動(dòng)技術(shù)新推出的一款采用新型XPCIE總線接口的高速視覺(jué)篩選專(zhuān)用的運(yùn)動(dòng)控制卡,可控制多個(gè)步進(jìn)電機(jī)或數(shù)字式伺服電機(jī)。

XPCIE1028運(yùn)動(dòng)控制卡適合于多軸點(diǎn)位運(yùn)動(dòng)、插補(bǔ)運(yùn)動(dòng)、軌跡規(guī)劃、手輪控制、編碼器位置檢測(cè)、I/O控制、位置鎖存等功能的應(yīng)用。

XPCIE1028運(yùn)動(dòng)控制卡自帶8路高速輸入和多達(dá)16路高速硬件位置比較輸出,能夠輕松實(shí)現(xiàn)視覺(jué)飛拍和高速、精準(zhǔn)觸發(fā)控制等視覺(jué)篩選機(jī)所需的多種實(shí)時(shí)性運(yùn)動(dòng)控制,以及高穩(wěn)定性。
XPCIE1028視頻介紹點(diǎn)擊→【視覺(jué)篩選機(jī)專(zhuān)用卡】超高速PCle實(shí)時(shí)運(yùn)動(dòng)控制卡XPCIE1028 ,實(shí)現(xiàn)15000+pcs/分鐘的IO觸發(fā)檢測(cè)速度!查看。
02 C++語(yǔ)言MFC進(jìn)行篩選項(xiàng)目的開(kāi)發(fā)
1、新建MFC項(xiàng)目,在工具欄菜單“文件”→“新建”→“項(xiàng)目”,啟動(dòng)創(chuàng)建項(xiàng)目向?qū)А?/p>

2、點(diǎn)擊下一步,修改項(xiàng)目名稱(chēng)及項(xiàng)目保存路徑。

3、點(diǎn)擊創(chuàng)建,選擇類(lèi)型為“基于對(duì)話框”,繼續(xù)點(diǎn)擊“下一步”,直至完成,項(xiàng)目創(chuàng)建成功。

4、根據(jù)廠商提供的庫(kù)文件,將對(duì)應(yīng)位數(shù)的zauxdll2.h、zauxdll.lib、zauxdll.dll、zmotion.dll、zmotion.lib、zmotion.h、zmc_xp.h、zmc_xp.lib以及zmc_xp.dll添加到項(xiàng)目文件夾內(nèi),并在項(xiàng)目中包含。

5、在項(xiàng)目添加篩選運(yùn)動(dòng)庫(kù)及相關(guān)頭文件。

6、在彈出來(lái)的窗口中依次添加篩選運(yùn)動(dòng)庫(kù)和相關(guān)頭文件。

7、在中添加頭文件引用#include“zmotion.h”、#include “zauxdll2.h”和#include“zmc_xp.h”。

8、上述步驟完成且正確輸入頭文件的相關(guān)指令接口,編譯通過(guò),就可以進(jìn)行篩選程序的開(kāi)發(fā)應(yīng)用。
03 篩選排料流程以及相關(guān)函數(shù)介紹
1、操作說(shuō)明
通過(guò)上位機(jī)編寫(xiě)篩選程序時(shí),首先用ZAux_FastOpen指令連接控制卡,再用PC_INT_CARD指令加載篩選程序,然后配置軸、相機(jī)、排料等參數(shù),參數(shù)設(shè)置完成后,選擇相機(jī)結(jié)果下發(fā)模式和通信模式,然后開(kāi)始篩選程序的運(yùn)行,當(dāng)進(jìn)料傳感器感應(yīng)到進(jìn)料后,模擬相機(jī)處理的結(jié)果,將相機(jī)處理的結(jié)果下發(fā)給控制卡,當(dāng)運(yùn)動(dòng)到對(duì)應(yīng)的排料口的位置后,將會(huì)觸發(fā)對(duì)應(yīng)的OUT口進(jìn)行排料。

2、指令說(shuō)明












04 上位機(jī)調(diào)用指令方式下實(shí)現(xiàn)主盤(pán)排料例程
在上位機(jī)調(diào)用指令的方式下進(jìn)行觸發(fā)排料,能夠?qū)崿F(xiàn)在相機(jī)較多的情況下,實(shí)現(xiàn)快速的觸發(fā)排料的IO動(dòng)作,但有個(gè)注意的地方,如果排料指令(PC_MODBUS_SET)下發(fā)的速度較晚,料已經(jīng)過(guò)了設(shè)定的排料位置,就會(huì)跳過(guò)本次排料,導(dǎo)致后面的料不能正常的觸發(fā)對(duì)應(yīng)的IO口進(jìn)行排料。
1、連接控制卡及加載篩選程序
iret= ZAux_FastOpen(5, "LOCAL1", 1000, &c_value::g_handle);
MessageBox("控制卡連接成功!");
int ret = PC_INT_CARD(c_value::g_handle); //初始化篩選功能
while (ret != 0)
{
ret = PC_INT_CARD(c_value::g_handle); //初始化篩選功能
}
2、設(shè)置相機(jī)、排料等參數(shù)及運(yùn)行程序
int ret = 0;
// 定義一個(gè)數(shù)組,來(lái)存放軸的參數(shù)設(shè)置(依次為軸類(lèi)型->脈沖當(dāng)量->旋轉(zhuǎn)行程(360°)->速度->加速度->減速度->方向->編碼器方向(0為正方向,1為負(fù)方向))
float axis_param[10]{1,1000,360,50,1000,1000,0,0};
//設(shè)置主盤(pán)的軸參數(shù)
ret=PC_SAVE_PARAM(c_value::g_handle, axis_param,0);
//設(shè)置主盤(pán)的兩路相機(jī)
ret = PC_SET_CAM_NUM(c_value::g_handle,2,0);
//設(shè)置主盤(pán)的3路排料
ret = PC_SET_OP_NUM(c_value::g_handle,3,0);
//設(shè)置主盤(pán)的2路相機(jī)觸發(fā)的參數(shù)
ret = PC_SAVE_POS(c_value::g_handle, 0, 100.2, 3, 1500, -1,0);
ret = PC_SAVE_POS(c_value::g_handle, 1, 150.5, 4, 1500, -1,0);
//設(shè)置主盤(pán)的3路排料觸發(fā)的參數(shù)
ret = PC_SAVE_POSNG(c_value::g_handle,0,255.5,6,1500,1,0,0);
ret = PC_SAVE_POSNG(c_value::g_handle, 1, 305.5, 7, 1500, 1, 0,0);
ret = PC_SAVE_POSNG(c_value::g_handle, 2, 345.5, 8, 1500, 1, 0,0);
//設(shè)置主盤(pán)的網(wǎng)口的通訊參數(shù)為0號(hào)寄存器,起始值為0(0代表第一個(gè)排料口(NG),1代表第二個(gè)排料口(OK),2代表第三個(gè)排料口(RETEST))
ret = PC_TCP_MODE(c_value::g_handle,0,0,0);
//設(shè)置主盤(pán)的視覺(jué)處理結(jié)果通訊方式為modbus_tcp
ret = PC_SET_MODE(c_value::g_handle, 2,0);
//運(yùn)行篩選主盤(pán)程序
ret=PC_CAM_RUN_TASK(c_value::g_handle,0);
while (ret != 0)
{
ret = PC_CAM_RUN_TASK(c_value::g_handle,0);
}
MessageBox("開(kāi)始運(yùn)行!");
Check1_Shake.SetCheck(TRUE);
c_value::G_run_test = 1;
//開(kāi)啟排料線程進(jìn)行排料下發(fā)指令
CWinThread* blowTest = AfxBeginThread(blow_test,this);
3、排料線程
//排料線程
UINT CMFCApplication1Dlg::blow_test(LPVOID p)
{
int cam_num = 0;
//中間值,存放上一次的相機(jī)觸發(fā)計(jì)數(shù)來(lái)與本次的作比較
int cam_tempnum = 0;
while (c_value::G_run_test != 0)
{
//讀取指定編號(hào)的相機(jī)執(zhí)行次數(shù)
PC_READ_CURCAM_RUN(c_value::g_handle, 1, cam_num);
if (cam_num > cam_tempnum)
{
//模擬相機(jī)處理的結(jié)果為ok,指定ok料倉(cāng)進(jìn)行排料
PC_MODBUS_SET(c_value::g_handle,1,0);
cam_tempnum++;
}
}
return 0;
}
如果需要使用副盤(pán),在調(diào)用上位機(jī)接口中的最后面參數(shù)(即:vice)寫(xiě)“1”,就可設(shè)置副盤(pán)的相關(guān)參數(shù)、開(kāi)啟停止副盤(pán)篩選的程序;副盤(pán)的排料與示例的主盤(pán)排料步驟一樣。
05 篩選調(diào)試工具的使用
一、方法1
在上位機(jī)調(diào)用PC_INT_CARD指令將篩選程序加載進(jìn)控制卡后,在廠商提供的MotionRT7的驅(qū)動(dòng)文件中,雙擊打開(kāi)名稱(chēng)為“xplcterm”的文件,最后雙擊打開(kāi)“xplcterm.exe”的可執(zhí)行程序即可。


二、方法2
1.上位機(jī)調(diào)用PC_INT_CARD指令將篩選程序加載進(jìn)控制卡后,打開(kāi)RTSys軟件上,連接控制卡。

2.在“工具”里,點(diǎn)擊“插件”的“XPlc Screen”。

主盤(pán)的篩選參數(shù)設(shè)置與查看界面如下圖所示。

3.篩選調(diào)試軟件開(kāi)啟副盤(pán)的界面:點(diǎn)擊“開(kāi)啟副盤(pán)”,再點(diǎn)擊“副盤(pán)設(shè)置”的按鈕就可以打開(kāi)副盤(pán)的調(diào)試界面。

副盤(pán)的篩選參數(shù)設(shè)置與查看界面如下圖所示。

4.示例程序運(yùn)行時(shí),主盤(pán)一段時(shí)間的進(jìn)料、相機(jī)執(zhí)行、排料執(zhí)行等次數(shù)。

本次,正運(yùn)動(dòng)技術(shù)PCIe實(shí)時(shí)運(yùn)動(dòng)控制卡的雙盤(pán)視覺(jué)篩選機(jī)上位機(jī)開(kāi)發(fā)應(yīng)用,就分享到這里。
更多精彩內(nèi)容請(qǐng)關(guān)注“正運(yùn)動(dòng)小助手”公眾號(hào),需要相關(guān)開(kāi)發(fā)環(huán)境與例程代碼,請(qǐng)咨詢(xún)正運(yùn)動(dòng)技術(shù)銷(xiāo)售工程師:400-089-8936。
本文由正運(yùn)動(dòng)技術(shù)原創(chuàng),歡迎大家轉(zhuǎn)載,共同學(xué)習(xí),一起提高中國(guó)智能制造水平。文章版權(quán)歸正運(yùn)動(dòng)技術(shù)所有,如有轉(zhuǎn)載請(qǐng)注明文章來(lái)源。

正運(yùn)動(dòng)技術(shù)專(zhuān)注于運(yùn)動(dòng)控制技術(shù)研究和通用運(yùn)動(dòng)控制軟硬件產(chǎn)品的研發(fā),是國(guó)家級(jí)高新技術(shù)企業(yè)。正運(yùn)動(dòng)技術(shù)匯集了來(lái)自華為、中興等公司的優(yōu)秀人才,在堅(jiān)持自主創(chuàng)新的同時(shí),積極聯(lián)合各大高校協(xié)同運(yùn)動(dòng)控制基礎(chǔ)技術(shù)的研究,是國(guó)內(nèi)工控領(lǐng)域發(fā)展最快的企業(yè)之一,也是國(guó)內(nèi)少有、完整掌握運(yùn)動(dòng)控制核心技術(shù)和實(shí)時(shí)工控軟件平臺(tái)技術(shù)的企業(yè)。主要業(yè)務(wù)有:運(yùn)動(dòng)控制卡_運(yùn)動(dòng)控制器_EtherCAT運(yùn)動(dòng)控制卡_EtherCAT控制器_運(yùn)動(dòng)控制系統(tǒng)_視覺(jué)控制器__運(yùn)動(dòng)控制PLC_運(yùn)動(dòng)控制_機(jī)器人控制器_視覺(jué)定位_XPCIe/XPCI系列運(yùn)動(dòng)控制卡等等。
|