應用背景
隨著市場對篩選需求的增長,“圓盤篩選機”這一個詞更多地出現在了工控行業、電子行業等領域。目前市面上大多數的圓盤篩選機是一個工站的應用,即一個大圓盤完成一工位的篩選工作。
對于相機少、分類少的應用,空間的應用顯得不夠合理,是否可以將機臺空間更合理地利用?另外流水線式的相機少的機構能否一控多呢?
正運動技術解決方案:
正運動針對現有市場需求,為此推廣部署致力于機臺空間的合理利用,將XPCIE1028控制卡對篩選應用進行了升級延伸,實現一卡雙工位的控制(即雙盤篩選),兩個工位之間完全獨立,測試的篩選工作效率達到1.2W+。
01 XPCIE1028控制卡介紹
XPCIE1028是正運動技術新推出的一款采用新型XPCIE總線接口的高速視覺篩選專用的運動控制卡,可控制多個步進電機或數字式伺服電機。
XPCIE1028運動控制卡適合于多軸點位運動、插補運動、軌跡規劃、手輪控制、編碼器位置檢測、I/O控制、位置鎖存等功能的應用。
XPCIE1028運動控制卡自帶8路高速輸入和多達16路高速硬件位置比較輸出,能夠輕松實現視覺飛拍和高速、精準觸發控制等視覺篩選機所需的多種實時性運動控制,以及高穩定性。,時長
XPCIE1028視頻介紹點擊→【視覺篩選機專用卡】超高速PCle實時運動控制卡XPCIE1028 ,實現15000+pcs/分鐘的IO觸發檢測速度!查看。
02 C++語言MFC進行篩選項目的開發
1、新建MFC項目,在工具欄菜單“文件”→“新建”→“項目”,啟動創建項目向導。
2、點擊下一步,修改項目名稱及項目保存路徑。
3、點擊創建,選擇類型為“基于對話框”,繼續點擊“下一步”,直至完成,項目創建成功。
4、根據廠商提供的庫文件,將對應位數的zauxdll2.h、zauxdll.lib、zauxdll.dll、zmotion.dll、zmotion.lib、zmotion.h、zmc_xp.h、zmc_xp.lib以及zmc_xp.dll添加到項目文件夾內,并在項目中包含。
5、在項目添加篩選運動庫及相關頭文件。
6、在彈出來的窗口中依次添加篩選運動庫和相關頭文件。
7、在中添加頭文件引用#include“zmotion.h”、#include “zauxdll2.h”和#include“zmc_xp.h”。
8、上述步驟完成且正確輸入頭文件的相關指令接口,編譯通過,就可以進行篩選程序的開發應用。
03 篩選排料流程以及相關函數介紹
1、操作說明
通過上位機編寫篩選程序時,首先用ZAux_FastOpen指令連接控制卡,再用PC_INT_CARD指令加載篩選程序,然后配置軸、相機、排料等參數,參數設置完成后,選擇相機結果下發模式和通信模式,然后開始篩選程序的運行,當進料傳感器感應到進料后,模擬相機處理的結果,將相機處理的結果下發給控制卡,當運動到對應的排料口的位置后,將會觸發對應的OUT口進行排料。
2、指令說明
04 上位機調用指令方式下實現主盤排料例程
在上位機調用指令的方式下進行觸發排料,能夠實現在相機較多的情況下,實現快速的觸發排料的IO動作,但有個注意的地方,如果排料指令(PC_MODBUS_SET)下發的速度較晚,料已經過了設定的排料位置,就會跳過本次排料,導致后面的料不能正常的觸發對應的IO口進行排料。
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、設置相機、排料等參數及運行程序
int ret = 0; // 定義一個數組,來存放軸的參數設置(依次為軸類型->脈沖當量->旋轉行程(360°)->速度->加速度->減速度->方向->編碼器方向(0為正方向,1為負方向)) float axis_param[10]{1,1000,360,50,1000,1000,0,0}; //設置主盤的軸參數 ret=PC_SAVE_PARAM(c_value::g_handle, axis_param,0); //設置主盤的兩路相機 ret = PC_SET_CAM_NUM(c_value::g_handle,2,0); //設置主盤的3路排料 ret = PC_SET_OP_NUM(c_value::g_handle,3,0); //設置主盤的2路相機觸發的參數 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); //設置主盤的3路排料觸發的參數 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); //設置主盤的網口的通訊參數為0號寄存器,起始值為0(0代表第一個排料口(NG),1代表第二個排料口(OK),2代表第三個排料口(RETEST)) ret = PC_TCP_MODE(c_value::g_handle,0,0,0); //設置主盤的視覺處理結果通訊方式為modbus_tcp ret = PC_SET_MODE(c_value::g_handle, 2,0); //運行篩選主盤程序 ret=PC_CAM_RUN_TASK(c_value::g_handle,0); while (ret != 0) { ret = PC_CAM_RUN_TASK(c_value::g_handle,0); } MessageBox("開始運行!"); Check1_Shake.SetCheck(TRUE); c_value::G_run_test = 1; //開啟排料線程進行排料下發指令 CWinThread* blowTest = AfxBeginThread(blow_test,this);
3、排料線程
//排料線程 UINT CMFCApplication1Dlg::blow_test(LPVOID p) { int cam_num = 0; //中間值,存放上一次的相機觸發計數來與本次的作比較 int cam_tempnum = 0; while (c_value::G_run_test != 0) { //讀取指定編號的相機執行次數 PC_READ_CURCAM_RUN(c_value::g_handle, 1, cam_num); if (cam_num > cam_tempnum) { //模擬相機處理的結果為ok,指定ok料倉進行排料 PC_MODBUS_SET(c_value::g_handle,1,0); cam_tempnum++; } } return 0; }
如果需要使用副盤,在調用上位機接口中的最后面參數(即:vice)寫“1”,就可設置副盤的相關參數、開啟停止副盤篩選的程序;副盤的排料與示例的主盤排料步驟一樣。
05 篩選調試工具的使用
一、方法1
在上位機調用PC_INT_CARD指令將篩選程序加載進控制卡后,在廠商提供的MotionRT7的驅動文件中,雙擊打開名稱為“xplcterm”的文件,最后雙擊打開“xplcterm.exe”的可執行程序即可。
二、方法2
1.上位機調用PC_INT_CARD指令將篩選程序加載進控制卡后,打開RTSys軟件上,連接控制卡。
2.在“工具”里,點擊“插件”的“XPlc Screen”。
主盤的篩選參數設置與查看界面如下圖所示。
3.篩選調試軟件開啟副盤的界面:點擊“開啟副盤”,再點擊“副盤設置”的按鈕就可以打開副盤的調試界面。
副盤的篩選參數設置與查看界面如下圖所示。
4.示例程序運行時,主盤一段時間的進料、相機執行、排料執行等次數。
本次,正運動技術PCIe實時運動控制卡的雙盤視覺篩選機上位機開發應用,就分享到這里。
更多精彩內容請關注“正運動小助手”公眾號,需要相關開發環境與例程代碼,請咨詢正運動技術銷售工程師:400-089-8936。
本文由正運動技術原創,歡迎大家轉載,共同學習,一起提高中國智能制造水平。文章版權歸正運動技術所有,如有轉載請注明文章來源。
正運動技術專注于運動控制技術研究和通用運動控制軟硬件產品的研發,是國家級高新技術企業。正運動技術匯集了來自華為、中興等公司的優秀人才,在堅持自主創新的同時,積極聯合各大高校協同運動控制基礎技術的研究,是國內工控領域發展最快的企業之一,也是國內少有、完整掌握運動控制核心技術和實時工控軟件平臺技術的企業。主要業務有:運動控制卡_運動控制器_EtherCAT運動控制卡_EtherCAT控制器_運動控制系統_視覺控制器__運動控制PLC_運動控制_機器人控制器_視覺定位_XPCIe/XPCI系列運動控制卡等等。
審核編輯 黃宇
-
PCIe
+關注
關注
15文章
1227瀏覽量
82452 -
上位機
+關注
關注
27文章
930瀏覽量
54738 -
運動控制卡
+關注
關注
7文章
108瀏覽量
15445
發布評論請先 登錄
相關推薦
評論