0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PCIe实时运动控制卡的双盘视觉筛选机上位机开发应用

正运动技术 来源:正运动技术 作者:正运动技术 2024-10-10 10:15 次阅读

应用背景

随着市场对筛选需求的增长,“圆盘筛选机”这一个词更多地出现在了工控行业、电子行业等领域。目前市面上大多数的圆盘筛选机是一个工站的应用,即一个大圆盘完成一工位的筛选工作。

对于相机少、分类少的应用,空间的应用显得不够合理,是否可以将机台空间更合理地利用?另外流水线式的相机少的机构能否一控多呢?

正运动技术解决方案:

正运动针对现有市场需求,为此推广部署致力于机台空间的合理利用,将XPCIE1028控制卡对筛选应用进行了升级延伸,实现一卡双工位的控制(即双盘筛选),两个工位之间完全独立,测试的筛选工作效率达到1.2W+。

wKgZoWcHOLGAN4mrAADH83J-LAE386.png

01 XPCIE1028控制卡介绍

XPCIE1028是正运动技术新推出的一款采用新型XPCIE总线接口的高速视觉筛选专用的运动控制卡,可控制多个步进电机或数字式伺服电机

wKgaoWcHOLGAVJo2AAxcQD4LRlc825.png

XPCIE1028运动控制卡适合于多轴点位运动、插补运动、轨迹规划、手轮控制、编码器位置检测、I/O控制、位置锁存等功能的应用。

wKgZoWcHOLKAXka1AAhgtkheo9M859.png

XPCIE1028运动控制卡自带8路高速输入和多达16路高速硬件位置比较输出,能够轻松实现视觉飞拍和高速、精准触发控制等视觉筛选机所需的多种实时性运动控制,以及高稳定性。,时长

XPCIE1028视频介绍点击→【视觉筛选机专用卡】超高速PCle实时运动控制卡XPCIE1028 ,实现15000+pcs/分钟的IO触发检测速度!查看。

02 C++语言MFC进行筛选项目的开发

1、新建MFC项目,在工具栏菜单“文件”→“新建”→“项目”,启动创建项目向导。

wKgaoWcHOLKAP1LSAAH-M2mk_Jg293.png

2、点击下一步,修改项目名称及项目保存路径。

wKgZoWcHOLOAO-XCAADI8VjQ5cc922.png

3、点击创建,选择类型为“基于对话框”,继续点击“下一步”,直至完成,项目创建成功。

wKgaoWcHOLOAF5ssAACMWcp0yOI173.png

4、根据厂商提供的库文件,将对应位数的zauxdll2.h、zauxdll.lib、zauxdll.dll、zmotion.dll、zmotion.lib、zmotion.h、zmc_xp.h、zmc_xp.lib以及zmc_xp.dll添加到项目文件夹内,并在项目中包含。

wKgaoWcHOLOABoaNAABZcPn3tDY828.png

5、在项目添加筛选运动库及相关头文件。

wKgZoWcHOLOAGfGpAAD6Tg3HUss352.png

6、在弹出来的窗口中依次添加筛选运动库和相关头文件。

wKgaoWcHOLSAQVp4AAEv6cxL-CM600.png

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

wKgZoWcHOLSAW3PbAAAdQVB9iCo012.png

8、上述步骤完成且正确输入头文件的相关指令接口,编译通过,就可以进行筛选程序的开发应用。



03 筛选排料流程以及相关函数介绍

1、操作说明

通过上位机编写筛选程序时,首先用ZAux_FastOpen指令连接控制卡,再用PC_INT_CARD指令加载筛选程序,然后配置轴、相机、排料等参数,参数设置完成后,选择相机结果下发模式和通信模式,然后开始筛选程序的运行,当进料传感器感应到进料后,模拟相机处理的结果,将相机处理的结果下发给控制卡,当运动到对应的排料口的位置后,将会触发对应的OUT口进行排料。

wKgaoWcHOLSAFQnaAAA2k3aj_PM161.png

2、指令说明

wKgZoWcHOLSASh8lAAFW36MfxDg614.pngwKgaoWcHOLWAZxShAACLeXvpVo4700.pngwKgZoWcHOLWAYazDAAEKNbDKzuI487.pngwKgaoWcHOLWAF1wzAAC3gUIMWZM291.pngwKgZoWcHOLWAYNxfAACxDWN4wTI397.pngwKgaoWcHOLaAaVmDAAEgDN5qZws897.pngwKgZoWcHOLaAWu3pAAFNkeWzHLQ182.pngwKgaoWcHOLaAdk55AADX-C5A0Tw987.pngwKgZoWcHOLeAf5FfAAEK849qvG0872.pngwKgaoWcHOLeAKUtlAADvsehxaJc699.pngwKgZoWcHOLeARU-eAADNszj-XGA806.pngwKgaoWcHOLeAYskHAACc3xwDKfw631.png

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”的可执行程序即可。

wKgZoWcHOLiAdiOnAAISfcZMV4E714.pngwKgaoWcHOLiACR3JAAEU6K4BTGk817.png

二、方法2

1.上位机调用PC_INT_CARD指令将筛选程序加载进控制卡后,打开RTSys软件上,连接控制卡。

wKgZoWcHOMOAJgHBAAB9odUt6no932.png

2.在“工具”里,点击“插件”的“XPlc Screen”。

wKgaoWcHOMOADAR_AABSHz29oUk505.png

主盘的筛选参数设置与查看界面如下图所示。

wKgZoWcHOMOARE-UAAFtecWTM9k257.png

3.筛选调试软件开启副盘的界面:点击“开启副盘”,再点击“副盘设置”的按钮就可以打开副盘的调试界面。

wKgaoWcHOMSATJaaAAF1tWJy0DE065.png

副盘的筛选参数设置与查看界面如下图所示。

wKgZoWcHOMaAdyxsAAFe-vLlxa4042.png

4.示例程序运行时,主盘一段时间的进料、相机执行、排料执行等次数。

wKgaoWcHOMaASHzTAAFqJxRN8S4032.png

本次,正运动技术PCIe实时运动控制卡的双盘视觉筛选机上位机开发应用,就分享到这里。

更多精彩内容请关注“正运动小助手”公众号,需要相关开发环境与例程代码,请咨询正运动技术销售工程师:400-089-8936。

本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。

wKgZoWcHOMeAFxUgAAIWTNKwqt4350.png


正运动技术专注于运动控制技术研究和通用运动控制软硬件产品的研发,是国家级高新技术企业。正运动技术汇集了来自华为、中兴等公司的优秀人才,在坚持自主创新的同时,积极联合各大高校协同运动控制基础技术的研究,是国内工控领域发展最快的企业之一,也是国内少有、完整掌握运动控制核心技术和实时工控软件平台技术的企业。主要业务有:运动控制卡_运动控制器_EtherCAT运动控制卡_EtherCAT控制器_运动控制系统_视觉控制器__运动控制PLC_运动控制_机器人控制器_视觉定位_XPCIe/XPCI系列运动控制卡等等。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PCIe
    +关注

    关注

    15

    文章

    1217

    浏览量

    82424
  • 上位机
    +关注

    关注

    27

    文章

    930

    浏览量

    54720
  • 运动控制卡
    +关注

    关注

    7

    文章

    108

    浏览量

    15441
收藏 人收藏

    评论

    相关推荐

    PCIe EtherCAT实时运动控制卡PCIE464的IO与编码器读写应用# 正运动技术# 运动控制卡

    编码器运动控制卡
    正运动技术
    发布于 :2024年07月23日 09:37:31

    PCIe EtherCAT实时运动控制卡PCIE464的IO与编码器读写应用

    C#进行PCIe EtherCAT运动控制卡的项目开发和快速读取多个IO和轴编码器位置的例程。
    的头像 发表于 07-17 14:47 740次阅读
    <b class='flag-5'>PCIe</b> EtherCAT<b class='flag-5'>实时运动</b><b class='flag-5'>控制卡</b><b class='flag-5'>PCIE</b>464的IO与编码器读写应用

    运动控制卡伺服电机如何控制

    运动控制卡伺服电机控制是现代工业自动化领域中一项重要的技术,它涉及到运动控制卡、伺服电机、控制
    的头像 发表于 06-12 14:13 771次阅读

    PCIE464M — 高速高精,超高速PCIe EtherCAT实时运动控制卡

    运动“高速高精运动控制卡”家族再添一员猛将!
    的头像 发表于 05-31 11:17 403次阅读
    <b class='flag-5'>PCIE</b>464M — 高速高精,超高速<b class='flag-5'>PCIe</b> EtherCAT<b class='flag-5'>实时运动</b><b class='flag-5'>控制卡</b>

    EtherCAT超高速实时运动控制卡XPCIE1032H上位C#开发(十四)

    XPCIE1032H是一款基于PCI Express的EtherCAT总线运动控制卡,可选6-64轴运动控制,支持多路高速数字输入输出,可轻松实现多轴同步
    的头像 发表于 03-04 10:46 4.1w次阅读
    EtherCAT超高速<b class='flag-5'>实时运动</b><b class='flag-5'>控制卡</b>XPCIE1032H<b class='flag-5'>上位</b><b class='flag-5'>机</b>C#<b class='flag-5'>开发</b>(十四)

    EtherCAT超高速实时运动控制卡XPCIE1032H上位C#开发(十三)

    XPCIE1032H是一款基于PCI Express的EtherCAT总线运动控制卡,可选6-64轴运动控制,支持多路高速数字输入输出,可轻松实现多轴同步
    的头像 发表于 02-25 10:11 828次阅读
    EtherCAT超高速<b class='flag-5'>实时运动</b><b class='flag-5'>控制卡</b>XPCIE1032H<b class='flag-5'>上位</b><b class='flag-5'>机</b>C#<b class='flag-5'>开发</b>(十三)

    超高实时性的EtherCAT运动控制卡——PCIE464

    运动技术PCIE464运动控制卡,提供高效的工业运动控制解决方案。用户可直接将
    发表于 01-26 14:39 1066次阅读

    PT/PVT运动模式介绍:EtherCAT超高速实时运动控制卡XPCIE1032H上位C#人工智能

    上位运动控制卡
    正运动技术
    发布于 :2024年01月25日 11:12:46

    【正运动】高速高精,超高实时性的PCIe EtherCAT实时运动控制卡 | PCIE464

    轨迹的小线段前瞻,各种机器人与自定义机器人算法的控制,多种PSO控制等,满足多样化的工业应用需求。正运动提供自主自研IDE-RTSys开发编程软件,
    发表于 01-24 09:48

    超高速PCle实时运动控制卡XPCIE1028 ,实现15000+pcs/分钟的IO触发检测速度!# 视觉筛选

    运动控制卡
    正运动技术
    发布于 :2024年01月18日 09:22:13

    PCIE464 — 高速高精,超高实时性的PCIe EtherCAT实时运动控制卡

    运动高速高精运动控制卡家族迎来新成员!
    的头像 发表于 01-17 16:29 643次阅读
    <b class='flag-5'>PCIE</b>464 — 高速高精,超高<b class='flag-5'>实时</b>性的<b class='flag-5'>PCIe</b> EtherCAT<b class='flag-5'>实时运动</b><b class='flag-5'>控制卡</b>

    EtherCAT超高速实时运动控制卡XPCIE1032H上位C#开发

    XPCIE1032H集成了强大的运动控制功能,结合MotionRT7运动控制实时软核,解决了高速高精应用中,PC Windows
    发表于 01-15 11:20 542次阅读
    EtherCAT超高速<b class='flag-5'>实时运动</b><b class='flag-5'>控制卡</b>XPCIE1032H<b class='flag-5'>上位</b><b class='flag-5'>机</b>C#<b class='flag-5'>开发</b>

    EtherCAT超高速实时运动控制卡XPCIE1032H上位C#开发(九)

    XPCIE1032H是一款基于PCI Express的EtherCAT总线运动控制卡,可选6-64轴运动控制,支持多路高速数字输入输出,可轻松实现多轴同步
    的头像 发表于 01-13 09:11 1205次阅读
    EtherCAT超高速<b class='flag-5'>实时运动</b><b class='flag-5'>控制卡</b>XPCIE1032H<b class='flag-5'>上位</b><b class='flag-5'>机</b>C#<b class='flag-5'>开发</b>(九)

    EtherCAT超高速实时运动控制卡XPCIE1032H上位C#开发(五):通过RTSys进行调试与诊断

    上位运动控制卡
    正运动技术
    发布于 :2023年12月11日 16:39:22

    EtherCAT超高速实时运动控制卡XPCIE1032H上位C#开发(三):EtherCAT总线模式切换

    上位运动控制卡
    正运动技术
    发布于 :2023年11月23日 16:42:38