The value of Zmotion is to bring customers more success!
本文以正运动技术具备专用手轮接口的运动控制器ZMC408CE为例,介绍手轮、手轮的作用及原理、控制器手轮接口接线以及手轮程序配置。
2. 通过“倍率选择旋钮”选择合适的移动倍(×1/×10/×100);
3. 旋转“手轮摇柄”移动坐标轴。顺时针旋转为正向移动,逆时针旋转为负向移动,旋转速度快慢可以控制坐标轴的运动速度;
4. 按钮“急停”,紧急停止手轮运动;
5. 控制器手轮 接口为双排标准DB15母头,需要手轮接头为 双排标准DB15公头。
手轮接口图示
1.硬件介绍
案例采用ZMC408CE运动控制器,具备专用的手轮接口。
ZMC408CE是正运动技术推出的一款高性能EtherCAT总线运动控制器,核心技术采用了先进的FPGA技术,实现硬件位置比较输出、精准输出功能,保证连续轨迹加工的出色性能和稳定性,以及动态数据捕获的实时性,从而实现更加精准控制和提高生产效率和品质。
2.一维/二维/三维、多通道视觉飞拍,高速高精;
3.位置同步输出PSO,连续轨迹加工中对精密点胶胶量控制和激光能量控制等;
4.多轴同步控制,多坐标系独立控制等;
5.EtherCAT同步周期可快至125us;
6.EtherCAT总线和脉冲轴混合插补;
7.直线插补、任意空间圆弧插补、螺旋插补、样条插补等;
ZMC408CE视频介绍可点击→高性能EtherCAT总线运动控制器,带你玩转“8通道独立PSO”应用场景查看。
接口 | 引脚号 | 信号 | 说明 |
| 1 | H-5V | 5V电源输出正极,专为手轮供电 |
2 | HA- | 编码器A相信号(IN40) | |
3 | HB- | 编码器B相信号(IN41) | |
4 | HEMGN | 紧急停止信号(IN51) | |
5 | NC | 悬空 | |
6 | HX1 | 选择X1倍率(IN42) | |
7 | HX10 | 选择X10倍率(IN43) | |
8 | HX100 | 选择X100倍率(IN44) | |
9 | HSU | 轴选3(IN48) | |
10 | HSV | 轴选4(IN49) | |
11 | EGND | 5V电源输出负极,信号公共端 | |
12 | HSW | 轴选5(IN50) | |
13 | HSZ | 轴选2(IN47) | |
14 | HSY | 轴选1(IN46) | |
15 | HSX | 轴选0(IN45) | |
注意: 1.5V电源输出仅为手轮供电,切勿为其他设备供电。 2.该接口中的所有信号均为数字输入信号,编号为IN(40-51)。 |
2.上电后请选EtherNET、RS232、RS485任一种接口连接ZDevelop;
程序示例如下,运行下方程序后,便可实现手轮的控制。
'不同控制器型号,手轮轴号,倍率和轴选择IN编号不一样,参考控制器使用手册,本例程使用控制器型号为ZMC408CE '不同手轮控制轴数不一样,本例程控制轴数为6个 '轴号设置 global const axis_X = 0 'X轴 global const axis_Y = 1 'Y轴 global const axis_Z = 2 'Z轴 global const axis_U = 3 'U轴 global const axis_V = 4 'V轴 global const axis_W = 5 'W轴 global const def_R = 8 '手轮默认轴号 global const axis_R = 10 '手轮重新映射轴号 '倍率IN编号设置 const io_Handlow = 42 '1倍率 const io_Handmid = 43 '10倍率 const io_Handhigh = 44 '100倍率 '轴选择IN编号设置 const io_HandX = 45 '手轮X轴 const io_HandY = 46 '手轮Y轴 const io_HandZ = 47 '手轮Z轴 const io_HandU = 48 '手轮U轴 const io_HandV = 49 '手轮V轴 const io_HandW = 50 '手轮W轴 '紧急停止信号IN编号设置 const io_HandEMGN = 51 '急停 global dim conflag '手轮连接轴标记 conflag = -1 ATYPE(def_R) = 0 '还原轴 8 轴类型 ATYPE(axis_R) = 0 '还原轴 10 轴类型 AXIS_ADDRESS(axis_R) = (-1<<16)+ def_R '将 MPG 手脉轴地址映射到轴 10 ATYPE(axis_R) = 3 '设置手脉轴轴类型为正交编码器类型 UNITS(axis_R) = 1 '设置手脉轴脉冲当量脉冲为单位 While 1 if in(io_handX) = on then if in(io_handlow) = on then connect(1, axis_R) axis(axis_X) '链接到轴X, 倍率 1 elseif in(io_handmid) = on then connect(10, axis_R) axis(axis_X) '链接到轴X, 倍率 10 elseif in(io_handhigh) = on then connect(100, axis_R) axis(axis_X) '链接到轴X, 倍率 100 endif conflag = axis_X elseif in(io_handY) = on then if in(io_handlow) = on then connect(1, axis_R) axis(axis_Y) elseif in(io_handmid) = on then connect(10, axis_R) axis(axis_Y) elseif in(io_handhigh) = on then connect(100, axis_R) axis(axis_Y) endif conflag = axis_Y elseif in(io_handZ) = on then if in(io_handlow) = on then connect(1, axis_R) axis(axis_Z) elseif in(io_handmid) = on then connect(10, axis_R) axis(axis_Z) elseif in(io_handhigh) = on then connect(100, axis_R) axis(axis_Z) end if conflag = axis_Z elseif in(io_handU) = on then if in(io_handlow) = on then connect(1, axis_R) axis(axis_U) elseif in(io_handmid) = on then connect(10, axis_R) axis(axis_U) elseif in(io_handhigh) = on then connect(100, axis_R) axis(axis_U) endif conflag = axis_U elseif in(io_handV) = on then if in(io_handlow) = on then connect(1, axis_R) axis(axis_V) elseif in(io_handmid) = on then connect(10, axis_R) axis(axis_V) elseif in(io_handhigh) = on then connect(100, axis_R) axis(axis_V) endif conflag = axis_V elseif in(io_handW) = on then if in(io_handlow) = on then connect(1, axis_R) axis(axis_W) elseif in(io_handmid) = on then connect(10, axis_R) axis(axis_W) elseif in(io_handhigh) = on then connect(100, axis_R) axis(axis_W) endif conflag = axis_W elseif conflag <> -1 then '取消连接 cancel(2) axis(conflag) conflag = -1 elseif in(io_HandEMGN) = off then RAPIDSTOP(2) endif Wend
本次,正运动技术 EtherCAT运动控制器在数控加工手轮随动中的应用, 就分享到这里 。
更多精彩内容请关注“ 正运动小助手 ”公众号,需要相关开发环境与例程代码,请咨询正运动技术销售工程师:400-089-8936。
正运动技术专注于运动控制技术研究和通用运动控制软硬件产品的研发,是国家级高新技术企业。正运动技术汇集了来自华为、中兴等公司的优秀人才,在坚持自主创新的同时,积极联合各大高校协同运动控制基础技术的研究,是国内工控领域发展最快的企业之一,也是国内少有、完整掌握运动控制核心技术和实时工控软件平台技术的企业。主要业务有:运动控制卡_运动控制器_EtherCAT运动控制卡_EtherCAT控制器_运动控制系统_视觉控制器__运动控制PLC_运动控制_机器人控制器_视觉定位_XPCIe/XPCI系列运动控制卡等等。