中國自動(dòng)化學(xué)會(huì)專家咨詢工作委員會(huì)指定宣傳媒體
文摘詳情
gkongbbs

PCIe實(shí)時(shí)運(yùn)動(dòng)控制卡的雙盤視覺篩選機(jī)上位機(jī)開發(fā)應(yīng)用

http://casecurityhq.com 2024-10-10 09:29 深圳市正運(yùn)動(dòng)技術(shù)有限公司

032.gif

應(yīng)用背景

隨著市場對(duì)篩選需求的增長,“圓盤篩選機(jī)”這一個(gè)詞更多地出現(xiàn)在了工控行業(yè)、電子行業(yè)等領(lǐng)域。目前市面上大多數(shù)的圓盤篩選機(jī)是一個(gè)工站的應(yīng)用,即一個(gè)大圓盤完成一工位的篩選工作。

對(duì)于相機(jī)少、分類少的應(yīng)用,空間的應(yīng)用顯得不夠合理,是否可以將機(jī)臺(tái)空間更合理地利用?另外流水線式的相機(jī)少的機(jī)構(gòu)能否一控多呢?

正運(yùn)動(dòng)技術(shù)解決方案:

正運(yùn)動(dòng)針對(duì)現(xiàn)有市場需求,為此推廣部署致力于機(jī)臺(tái)空間的合理利用,將XPCIE1028控制卡對(duì)篩選應(yīng)用進(jìn)行了升級(jí)延伸,實(shí)現(xiàn)一卡雙工位的控制(即雙盤篩選),兩個(gè)工位之間完全獨(dú)立,測試的篩選工作效率達(dá)到1.2W+。

000.png

01 XPCIE1028控制卡介紹

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

001.png

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

002.png

XPCIE1028運(yùn)動(dòng)控制卡自帶8路高速輸入和多達(dá)16路高速硬件位置比較輸出,能夠輕松實(shí)現(xiàn)視覺飛拍和高速、精準(zhǔn)觸發(fā)控制等視覺篩選機(jī)所需的多種實(shí)時(shí)性運(yùn)動(dòng)控制,以及高穩(wěn)定性。

XPCIE1028視頻介紹點(diǎn)擊→【視覺篩選機(jī)專用卡】超高速PCle實(shí)時(shí)運(yùn)動(dòng)控制卡XPCIE1028 ,實(shí)現(xiàn)15000+pcs/分鐘的IO觸發(fā)檢測速度!查看。


 

02 C++語言MFC進(jìn)行篩選項(xiàng)目的開發(fā)

1、新建MFC項(xiàng)目,在工具欄菜單“文件”→“新建”→“項(xiàng)目”,啟動(dòng)創(chuàng)建項(xiàng)目向?qū)А?/p>

003.png

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

004.png

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

005.png

4、根據(jù)廠商提供的庫文件,將對(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)目中包含。

006.png

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

007.png

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

008.png

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

009.png

8、上述步驟完成且正確輸入頭文件的相關(guān)指令接口,編譯通過,就可以進(jìn)行篩選程序的開發(fā)應(yīng)用。


 

03 篩選排料流程以及相關(guān)函數(shù)介紹

1、操作說明

通過上位機(jī)編寫篩選程序時(shí),首先用ZAux_FastOpen指令連接控制卡,再用PC_INT_CARD指令加載篩選程序,然后配置軸、相機(jī)、排料等參數(shù),參數(shù)設(shè)置完成后,選擇相機(jī)結(jié)果下發(fā)模式和通信模式,然后開始篩選程序的運(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)行排料。

010.png

2、指令說明

011.png




 

04 上位機(jī)調(diào)用指令方式下實(shí)現(xià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)過了設(shè)定的排料位置,就會(huì)跳過本次排料,導(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ù)組,來存放軸的參數(shù)設(shè)置(依次為軸類型->脈沖當(dāng)量->旋轉(zhuǎn)行程(360°)->速度->加速度->減速度->方向->編碼器方向(0為正方向,1為負(fù)方向))
float axis_param[10]{1,1000,360,50,1000,1000,0,0};
//設(shè)置主盤的軸參數(shù)
ret=PC_SAVE_PARAM(c_value::g_handle, axis_param,0);
//設(shè)置主盤的兩路相機(jī)
ret = PC_SET_CAM_NUM(c_value::g_handle,2,0);
//設(shè)置主盤的3路排料
ret = PC_SET_OP_NUM(c_value::g_handle,3,0);
//設(shè)置主盤的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è)置主盤的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è)置主盤的網(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è)置主盤的視覺處理結(jié)果通訊方式為modbus_tcp
ret = PC_SET_MODE(c_value::g_handle, 2,0);
//運(yù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("開始運(yùn)行!");
Check1_Shake.SetCheck(TRUE);
c_value::G_run_test = 1;
//開啟排料線程進(jìn)行排料下發(fā)指令
CWinThread* blowTest = AfxBeginThread(blow_test,this);

3、排料線程

//排料線程
UINT CMFCApplication1Dlg::blow_test(LPVOID p)
{
    int cam_num = 0;
    //中間值,存放上一次的相機(jī)觸發(fā)計(jì)數(shù)來與本次的作比較
    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料倉進(jìn)行排料
            PC_MODBUS_SET(c_value::g_handle,1,0);
            cam_tempnum++;
        }
    }
    return 0;
}

如果需要使用副盤,在調(diào)用上位機(jī)接口中的最后面參數(shù)(即:vice)寫“1”,就可設(shè)置副盤的相關(guān)參數(shù)、開啟停止副盤篩選的程序;副盤的排料與示例的主盤排料步驟一樣。

05 篩選調(diào)試工具的使用

一、方法1

在上位機(jī)調(diào)用PC_INT_CARD指令將篩選程序加載進(jìn)控制卡后,在廠商提供的MotionRT7的驅(qū)動(dòng)文件中,雙擊打開名稱為“xplcterm”的文件,最后雙擊打開“xplcterm.exe”的可執(zhí)行程序即可。

023.png

024.png

二、方法2

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

025.png

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

026.png

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

027.png

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

028.png

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

029.png

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

030.png

本次,正運(yùn)動(dòng)技術(shù)PCIe實(shí)時(shí)運(yùn)動(dòng)控制卡的雙盤視覺篩選機(jī)上位機(jī)開發(fā)應(yīng)用,就分享到這里。

更多精彩內(nèi)容請(qǐng)關(guān)注“正運(yùn)動(dòng)小助手”公眾號(hào),需要相關(guān)開發(fā)環(huán)境與例程代碼,請(qǐng)咨詢正運(yùn)動(dòng)技術(shù)銷售工程師:400-089-8936。

本文由正運(yùn)動(dòng)技術(shù)原創(chuàng),歡迎大家轉(zhuǎn)載,共同學(xué)習(xí),一起提高中國智能制造水平。文章版權(quán)歸正運(yùn)動(dòng)技術(shù)所有,如有轉(zhuǎn)載請(qǐng)注明文章來源。


031.png

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

版權(quán)所有 中華工控網(wǎng) Copyright?2024 Gkong.com, All Rights Reserved