[汇川] 关于汇川与欧姆龙PLC做视觉飞拍的对比

[复制链接]
查看15047 | 回复0 | 2025-1-13 08:04:48 | 显示全部楼层 |阅读模式
飞拍介绍   飞拍 顾名思义就是飞行拍照,也就是在运动过程中实现拍照;

关于飞拍需要了解的一些知识    飞拍速度:就是你要以多快的速度从相机上经过,让它拍照;        快门时间:或者说是相机曝光时间,理论上时间越短越好(取决于相机帧率性能),因为在拍照取像的过程中,时间越短产品移动的距离越短;需求的精度与理论能达到的精度是否能达到?    假设相机以1000mm/s的速度经过相机飞拍,相机曝光时间100us,那么取像过程中轴移动1000*0.0001mm即0.1mm;然后,还要综合考虑相机打光环境,机构稳定性,PLC触发响应性等综合计算看是否能够达到需求的精度;(虽然这一部分是视觉工程师需要考虑的点,但是我们也需要明白原因,才能更好的配合)普通拍照与飞拍在硬件使用上的一些区别    在相机的选用上,相机一般要选用高帧率的相机,光源也需要选用高曝频闪光源;    在PLC的应用上,一般根据采用的飞拍方式来选用合适的硬件(下面会具体介绍),例如考虑PLC的性能,高速输入输出口响应频率,还可能涉及到差分信号转单端信号,NPN信号转PNP信号等;讲了这么多,现在开始正式介绍一下两款PLC,飞拍上的应用    下面我会通过汇川Easy系列PLC,欧姆龙NX系列PLC做应用讲解;    (当然,有些驱动器也具有飞拍功能,因为没有通用性,灵活性没有PLC方便,所以我们还是以PLC来做飞拍作为讲解;)汇川PLC 飞拍应用    汇川Easy/H5U PLC 本体自带8个高速输入口,8个高速输出口,我们可以用到这些高速输入输出口实现飞拍。在实现飞拍过程中主要用到编码器轴的高速比较功能;

    如上图,因为伺服驱动一般输出的AB相为差分信号,而PLC需要接收单端信号,所以我们需要用到H2U-2DC模块转一下(当然,直接在网上买个好点的差分转单端的模块也行,因为汇川的这个模块不好买),然后单端信号接到PLC高速输入口,当做编码器轴,然后配置一个高速输出口用来触发相机拍照;(注意了:汇川有些驱动器 不标配编码器输出功能,比如SV630 SV660,需要用到SV670 SV680都行,其他家驱动器基本都有,比如松下的,三菱的,CDHD的,让我们diss一下减配的汇川)具体设置如下图:    1.新建一个轴    2.设置为本地编码器轴(X0 X1对应计数器0)    3.设置脉冲比例(比如我用的直线电机 1mm=2000pls,我直线电机最快2000mm/s ,本地高速端口能接收的最大脉冲频率200k,那么设置100pls/mm,当直线电机速度达到2000mm/s时,反馈的频率刚好200k,不会超过本地脉冲接收频率)    4.设定端口和倍率(根据接收方式不同可能存在倍率关系,改这里就好)    5.设定输出端口,用于触发相机,触发时间可以修改(根据拍照间隔)    6.设置驱动器编码器输出(汇川驱动器默认2500pls/圈),我用的直线电机,48000pls=24mm,直接1:1输出不行,所以根据第3步需求需要比例缩放一下,CDHD在如图位置修改;

程序应用有以下几条指令:    ENC_Counter(编码器轴使能)    ENC_Preset(编码器轴预设值)    ENC_Reset(编码器轴错误复位)    ENC_ArrayCompare(编码器轴数组比较)    具体使用时,编码器轴一般是接收某根轴的编码器输出,所以它应该跟某根轴是"绑定"关系,我把它叫做“飞拍轴”;    “ENC_Counter”使能状态,开始接收“飞拍轴”编码器值,当找原后可以触发一下“ENC_Preset”指令,把“飞拍轴”反馈坐标预设给“编码器轴”,这样就可以让“飞拍轴”和“编码器轴”当前坐标一样了;这时候,应该移动轴,检查两个轴坐标是不是一样,同方向变化,如果“飞拍轴”+10,结果“编码器轴”-10,那么就需要对换一下AB相;    重点指令还是“ENC_ArrayCompare”,编码器数组比较,一般我们用飞拍都是为了一次拍多次照片,或者一次拍多个产品,所以我推荐直接用数组比较指令(也有单独的比较指令);

    使用的时候注意,先传入参数,再打开比较,busy代表开始比较了,Done代表比较完成了,完成时会输出一个脉冲信号;实际用的时候,因其他原因可能出现漏拍风险,所以一般飞拍开始前后我会跟视觉交互一次信号。开始的时候,他那边清空计数,飞拍完了,他给我写一次接收到的图片数,数量正确了,才可以使用视觉给的引导数据,我称为校验飞拍次数;欧姆龙PLC 飞拍应用    欧姆龙NX系列 PLC开发得比较早,并没有汇川的后发优势,本体没有高速输入输出口,所以如果想用PLC做飞拍,需要购买高速输出模块(带时间戳)(NX-OD2258/2154),如果想用编码器,还需要高速输入模块(NX-EC01*2/02*2),当然汇川也开发了一个GR10-2HCE总线编码器轴模块可以给欧姆龙用

;   欧姆龙没有专门的编码器比较指令,所以给实现飞拍设置了门槛,所以当遇到了飞拍需求时,建议联系你所在地区的技术支持,他们会提供你关于飞拍的拓展功能块;    下面讲讲欧姆龙这边提供的两种飞拍方法:1.不使用NX编码器输入单元的飞拍方法    需要用到的第三方FB: FlyingTrigger_Others(这个欧姆龙技术提供的)    设置如下图

功能块如下图

此种方式用到了“总线时间戳”,通过预测位置同步补偿的方式来减小误差,所以这种方式容易受到速度改变,伺服调试参数不稳定带来误差,好处就是节省一定成本;2.使用NX编码器输入单元的飞拍方法



    此种方式用到了外部编码器输入,使用编码器轴进行比较而来,故而精度能够得到保证,受伺服稳定性影响较小;综合对比下来    汇川PLC因为开发得比较晚,具有后发优势,所以使用起来简单方便一点,看看指令手册就能用了;欧姆龙作为一款主流的PLC实现功能当然是没问题的,只是使用起来方式上会有区别,使用前需要咨询技术支持拿到他们封装的功能块。当然,如果你是大佬,可以无视这些,自己封装一个库。我也尝试用过其他PLC的中断程序来实现飞拍功能,也是可以实现的,只是如果是官方开发的功能块,能够考虑的因素比较多,用起来也更加稳定可靠。    随着飞拍应用越来越普及,建议各PLC厂家也应该考虑拓展这一块的功能块,紧跟时代发展,推动控制行业进步~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则