The value of Zmotion is to bring customers more success!
对于相机少、分类少的应用,空间的应用显得不够合理,是否可以将机台空间更合理地利用?另外流水线式的相机少的机构能否一控多呢?
XPCIE1028运动控制卡适合于多轴点位运动、插补运动、轨迹规划、手轮控制、编码器位置检测、I/O控制、位置锁存等功能的应用。
XPCIE1028视频介绍点击→【视觉筛选机专用卡】超高速PCle实时运动控制卡XPCIE1028 ,实现15000+pcs/分钟的IO触发检测速度!查看。
1、新建MFC项目,在工具栏菜单“文件”→“新建”→“项目”,启动创建项目向导。
8、上述步骤完成且正确输入头文件的相关指令接口,编译通过,就可以进行筛选程序的开发应用。
2、指令说明
在上位机调用指令的方式下进行触发排料,能够实现在相机较多的情况下,实现快速的触发排料的IO动作,但有个注意的地方,如果排料指令(PC_MODBUS_SET)下发的速度较晚,料已经过了设定的排料位置,就会跳过本次排料,导致后面的料不能正常的触发对应的IO口进行排料。
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”,就可设置副盘的相关参数、开启停止副盘筛选的程序;副盘的排料与示例的主盘排料步骤一样。
在上位机调用PC_INT_CARD指令将筛选程序加载进控制卡后,在厂商提供的MotionRT7的驱动文件中,双击打开名称为“xplcterm”的文件,最后双击打开“xplcterm.exe”的可执行程序即可。
二、方法2
主盘的筛选参数设置与查看界面如下图所示。
更多精彩内容请关注“正运动小助手”公众号,需要相关开发环境与例程代码,请咨询正运动技术销售工程师:400-089-8936。
正运动技术专注于运动控制技术研究和通用运动控制软硬件产品的研发,是国家级高新技术企业。正运动技术汇集了来自华为、中兴等公司的优秀人才,在坚持自主创新的同时,积极联合各大高校协同运动控制基础技术的研究,是国内工控领域发展最快的企业之一,也是国内少有、完整掌握运动控制核心技术和实时工控软件平台技术的企业。主要业务有:运动控制卡_运动控制器_EtherCAT运动控制卡_EtherCAT控制器_运动控制系统_视觉控制器__运动控制PLC_运动控制_机器人控制器_视觉定位_XPCIe/XPCI系列运动控制卡等等。