The value of Zmotion is to bring customers more success!
本文主要介绍正运动技术EtherCAT控制器在多通道视觉飞拍与多点精准输出上的应用,采用高性能ZMC408CE控制器,控制器内部高速FPGA实现硬件位置比较输出、精准输出功能,实现运动控制+多通道视觉飞拍与精准输出功能。
ZMC408CE支持8轴运动控制,最多可扩展至32轴,支持直线插补、任意圆弧插补、空间圆弧、螺旋插补、电子凸轮、电子齿轮、同步跟随等功能。
ZMC408CE支持8轴运动控制,可采用脉冲轴(带编码器反馈)或EtherCAT总线轴,通用IO包含24个输入口和16个输出口,部分IO为高速IO,EtherCAT最快100us的刷新周期。
ZMC408CE支持8个通道的硬件比较输出、硬件定时器、运动中精准输出,还支持8通道PWM输出,对应的输出口为OUT0-7,支持8个通道同时触发硬件比较输出,用于多通道的视觉飞拍场合等。
ZMC408CE的PSO功能如何实现视觉飞拍,请参见下文说明和参考例程。
(2)在精度不足的情况下,可以略微降速,分段运行,但速度不降为0,v-t图如下。
PSO功能由HW_PSWITCH2硬件比较输出指令实现。
PSO(position synchronized output)即位置同步输出,本质是通过采集实时的编码器反馈位置(无编码器可使用输出的脉冲位置)与比较模式设定的位置进行比较,控制OP高速同步输出信号,PSO示意图如下。
(2)高速输入口接传感器,感应并记录零件来料位置;
(3)PSO硬件位置比较输出可接2-8个相机进行视觉飞拍、检测和测量;
(4)PSO硬件位置比较输出可接吹气口,对视觉的检测结果进行相应筛选分类。
如需咨询转盘视觉筛选应用,请联系正运动技术相关人员。
(2)Mode=2:清除比较点
HW_PSWITCH2(2)
mode:2-停止并删除没完成的比较点
使用前需要调用此模式,清除可能没有比较完成的数据。使用过程中也可以发送此命令,停止比较。
mode:3-启动比较器
opnum:对应的输出口
opstate:第一个比较点的输出状态
tablestart:第一个比较点VECTOR_MOVED所在TABLE编号
tableend:最后一个比较点VECTOR_MOVED坐标所在TABLE编号
说明:比较点写在TABLE中,每到达一个比较矢量位置OP反转一次。
使用矢量距离比较时,与VECTOR_MOVED进行比较,建议连续运动前设置VECTOR_MOVED初始值。
2.HW_PS2AXISNUM--设置PS2轴号
HW_PS2AXISNUM(axisnum1)=axisnum2
axisnum1:缓冲轴号
axisnum2:实际操作的轴号
HW指令有单独的缓冲区,此指令用于把没有使用的轴的HW_PSWITCH2缓冲重复利用起来,指向当前运动的主轴,,可以对当前的主轴同时做多个比较。
VECTOR_MOVED=VAR
参数:VAR返回轴当前运动的距离,units单位。
RAPIDSTOP(2) WAIT IDLE(0) BASE(0) ATYPE=1 '脉冲轴类型,比较需求位置DPOS 'ATYPE=4 '带编码器的脉冲轴类型,比较编码器的位置MPOS UNITS=5000 ACCEL=1000 DECEL=1000 SPEED=100 SRAMP=50 DPOS=0 MPOS=0 OP(0,OFF) OP(1,OFF) AXIS_ZSET(0)=19 '编码器精准输出 HW_PS2AXISNUM(1)=0 '将轴1缓冲指向轴0,-1取消 HW_PS2AXISNUM(0)=0 '将轴0缓冲指向轴0,-1取消 HW_PSWITCH2(2) AXIS(0) '清空轴0比较点 HW_PSWITCH2(2) AXIS(1) '清空轴1比较点 TABLE(0,50,52,75,77,100,102,125,127,150,152,175,177) '设置比较点的table列表 TABLE(20,50,52,60,62,70,72,80,82,100,101,130,131,140,141) '设置比较点的table列表 HW_PSWITCH2(1,0,1,0,11,1) AXIS(0) '硬件位置比较输出,针对OUT(0) HW_PSWITCH2(1,1,1,20,33,1) AXIS(1) '硬件位置比较输出,针对OUT(1) TRIGGER '触发示波器 MOVEABS(200) END
示波器波形如图所示:采样4个通道的波形,依次为轴0的目标位置、轴0的速度、输出口0、输出口1。
输出0跟输出1支持同时进行比较输出,互相不干扰,均参考轴0的位置输出。
程序示例:OUT(0),OUT(1)各自同步轴0,轴1多轴插补的PSO输出。
RAPIDSTOP(2) WAIT IDLE(0) WAIT IDLE(1) BASE(0,1) ATYPE=1,1 UNITS=1000,1000 ACCEL=1000,1000 DECEL=1000,1000 SPEED=100,100 SRAMP=50,50 MERGE=1 '开启连续插补 DPOS=0,0 MPOS=0,0 OP(0,OFF) OP(1,OFF) VECTOR_MOVED=0 AXIS_ZSET(0)=19 '编码器精准输出 HW_PS2AXISNUM(1)=-1 '取消设置 HW_PS2AXISNUM(1)=0 '设置PS2轴号,将轴1缓冲指向轴0 HW_PSWITCH2(2) AXIS(0) '清空轴0比较点 HW_PSWITCH2(2) AXIS(1) '清空轴1比较点 TABLE(0,50,52,75,77,100,102,125,127,150,152,175,177) '设置比较点的table列表 TABLE(20,50,55,80,88,100,102,130,135,160,162,175,180) '设置比较点的table列表 HW_PSWITCH2(3,0,1,0,11) AXIS(0) '硬件位置比较输出,针对OUT(0) HW_PSWITCH2(3,1,1,20,31) AXIS(1) '硬件位置比较输出,针对OUT(1) TRIGGER '触发示波器 BASE(0,1) '两轴插补 MOVEABS(40,40) '直线插补 MOVECIRCABS(40,-40,40,0,1) '圆弧插补 MOVEABS(0,0) '直线插补 END
YT模式:数据随时间变化。
本次,正运动技术运动控制器八通道PSO的视觉飞拍与精准输出,就分享到这里。