首页 新闻 工控搜 论坛 厂商论坛 产品 方案 厂商 人才 文摘 下载 展览
中华工控网首页
  P L C | 变频器与传动 | 传感器 | 现场检测仪表 | 工控软件 | 人机界面 | 运动控制
  D C S | 工业以太网 | 现场总线 | 显示调节仪表 | 数据采集 | 数传测控 | 工业安全
  电 源 | 嵌入式系统 | PC based | 机柜箱体壳体 | 低压电器 | 机器视觉
EtherCAT运动控制器在数控加工手轮随动中的应用
深圳市正运动技术有限公司
收藏本文     查看收藏

本文以正运动技术具备专用手轮接口的运动控制器ZMC408CE为例,介绍手轮、手轮的作用及原理、控制器手轮接口接线以及手轮程序配置。

01  手轮作用及原理

手轮也称手摇脉冲发生器,主要用于数控机床、立体加工中心、卧式加工中心、龙门加工中心等数控设备。当手轮旋转时,编码器产生与手轮运动相对应的信号,通过数控系统选定座标并对座标进行定位。

手动脉冲发生器它中心有轴的光电码盘,其上有环形通、暗的刻线,摇动手轮后,由光电发射和接收器件读取,获得2组正弦波信号HA、HB,每个正弦波相差90度相位差。 由于HA、HB两信号相差90度,可通过A相在前还是B相在前,给出正转脉冲或反转脉冲去控制伺服电机正转或反转。

02  手轮介绍

1. 通过手轮上的“轴选择旋钮”选择需要移动的坐标轴;

2. 通过“倍率选择旋钮”选择合适的移动倍(×1/×10/×100);

3. 旋转“手轮摇柄”移动坐标轴。顺时针旋转为正向移动,逆时针旋转为负向移动,旋转速度快慢可以控制坐标轴的运动速度;

4. 按钮“急停”,紧急停止手轮运动;

5. 控制器手轮 接口为双排标准DB15母头,需要手轮接头为 双排标准DB15公头。

手轮接口图示

03  控制器手轮接口接线

1.硬件介绍

案例采用ZMC408CE运动控制器,具备专用的手轮接口。

ZMC408CE是正运动技术推出的一款高性能EtherCAT总线运动控制器,核心技术采用了先进的FPGA技术,实现硬件位置比较输出、精准输出功能,保证连续轨迹加工的出色性能和稳定性,以及动态数据捕获的实时性,从而实现更加精准控制和提高生产效率和品质。

ZMC408CE支持EtherCAT总线轴 + 脉冲轴混合插补,可脱机或联机运行,可控电机轴数8轴,特殊型号提供16或32轴可选,支持ZDevelop + 多种高级上位机混合编程,可以实现点位运动、电子凸轮、直线插补、圆弧插补、连续轨迹加工和30+种机器人模型的控制。

ZMC408CE产品亮点

1.高性能处理器,提升运算速度、响应时间和扫描周期等;

2.一维/二维/三维、多通道视觉飞拍,高速高精;

3.位置同步输出PSO,连续轨迹加工中对精密点胶胶量控制和激光能量控制等;

4.多轴同步控制,多坐标系独立控制等;

5.EtherCAT同步周期可快至125us;

6.EtherCAT总线和脉冲轴混合插补;

7.直线插补、任意空间圆弧插补、螺旋插补、样条插补等;

8.应用灵活,可PC上位机开发,也可脱机独立运行 ;

ZMC408CE视频介绍

2.控制器手轮接口MPG定义

3.手轮接线参考

4.注意事项

手轮编码器轴接口接线原理如上图所示,手轮厂家的设计多种多样,请先查看手轮内部的设计图后与运动控制器确认正确后谨慎接线;请使用双绞屏蔽线,尤其是环境恶劣的场合,务必使屏蔽层充分接地。

04  程序配置

1.参考以上手轮接线示意图正确连接手轮和控制器;

2.上电后请选EtherNET、RS232、RS485任一种接口连接ZDevelop;

3. 配置轴号:该控制器手轮接口无可用默认AXIS轴号(映射需避开脉冲轴号),必须进行重映射,操作步骤如下:
企业微信截图_20230510085344.png

4. 配置IO:根据需要赋予轴选(HSX,HSY,HSZ,HSU)和倍率(HX1,HX10,HX100)以及紧急停止(HEMGN)功能;这些信号本质为数字输入信号,有固定的编号(参见上节) ,但无固定的功能,需要ZDevelop开发;其名称为推荐配置的功能,轴选即为CONNECT同步运动的被连接轴,倍率即CONNECT比率。

5.完成以上配置即可开始使用手轮。

程序示例如下,运行下方程序后,便可实现手轮的控制。

'不同控制器型号,手轮轴号,倍率和轴选择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系列运动控制卡等等。


 

状 态: 离线

公司简介
产品目录

公司名称: 深圳市正运动技术有限公司
联 系 人: 戴德弟
电  话: 0755-32976042
传  真: 0755-2606 6955
地  址: 深圳市宝安区西乡洲石路阳光工业园A1栋5楼
邮  编: 518100
主  页:
 
该厂商相关技术文摘:
EtherCAT运动控制器的MATLAB开发
成都工博会:正运动技术邀您探索智能制造新趋势
运动控制卡/运动控制器的ZCAN总线ZMIO310扩展模块使用
EtherCAT运动控制器在ROS上的应用(下)
运动控制器/运动控制卡配套ZCAN总线ZIO模块的使用
ITES | 深圳工业展正运动重磅产品即将亮相
2024上海慕尼黑正运动展位现场直击
2024上海慕尼黑超高实时PCIe 运动控制卡解决方案
2024上海慕尼黑机器视觉运动控制一体机解决方案
正运动技术邀您共聚2024西安国际工业自动化机器人展
EtherCAT运动控制器在ROS上的应用(上)
皮带同步跟随:EtherCAT超高速实时运动控制卡XPCIE1032H上位机C#开发(十四)
更多文摘...
立即发送询问信息在线联系该技术文摘厂商:
用户名: 密码: 免费注册为中华工控网会员
请留下您的有效联系方式,以方便我们及时与您联络

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 不良信息举报
工控网客服热线:0755-86369299
版权所有 中华工控网 Copyright©2022 Gkong.com, All Rights Reserved