ZMC系列运动控制器作为一个多轴运动控制器,部分控制器支持标准的计算机数控(Computerized Numerical Control,检称CNC)功能,实现简易的数控机床控制,同时也可应用于其它一些通过G代码进行定位及路径规划的场合。
G代码(G-code)是最为广泛使用的计算机数控编程语言,主要在计算机辅助制造中用于控制自动机床。G代码指令是数控机床加工的核心,功能代码由字母G和一个两位数整数表示(例如G01、G02)。
G代码有多样性的特点,每个公司的数控机床都有各自定义的G代码和M代码含义,其核心的运动指令虽格式略有区别,但控制原理基本类似。
ZBasic支持G代码形式的SUB过程,支持标准格式的G代码。可根据实际加工需求来自定义G代码功能,形成GSUB形式来解析CNC文件。
支持UG、MasterCam、ArtCAM等多种CAD/CAM软件生成的NC加工代码,可应用于雕铣机、精雕机、钻攻中心和加工中心等机床加工场合。
A.ZMC406控制器一台。
B.电脑一台。
C.带屏蔽层网线一根。
D.24V直流电源一个。
E.伺服驱动器+电机若干。
F.接线端子与连接线若干。
A.ZDevelop V3.10版本控制器编程软件。
B.ZmotionCAD V1.0导图工具。
均从正运动官网www.zmotion.com.cn下载压缩包,解压后直接运行应用程序,无需安装。
运动控制器接线:
举例使用运动控制器ZMC406,脉冲轴和总线轴均支持。
A.主电源:
将控制器主电源接线端子上的E+24V端子接入24V直流电源正极,将EGND端子接入24V直流电源负极。
B.以太网EtherNET端口接线:
使用一根网线将控制器的EtherNET端口与电脑的以太网口相连。
C.驱动器与控制器接线:
将脉冲型驱动器按要求接入到脉冲轴接口上,EtherCAT总线驱动器接到总线接口。
在正运动控制器上,ZBasic支持G代码形式的SUB过程,将需要用到的G代码,在GSUB函数里使用运动指令编写G代码的控制过程。
G代码执行时,将运动参数传入GSUB,GSUB执行控制轴按要求动作。每一个G代码和M代码由用户使用GSUB函数编写其动作。
常见G的代码举例:
GSUB label([char1] [,char2]…) '编写G代码功能
END SUB
语法参数:
label:过程名称,不能与现有的关键词冲突
char1:过程调用时传入的字母参数,自动作为LOCAL局部变量
char2:过程调用时传入的字母参数,自动作为LOCAL局部变量
GSUB_PARA(char)
char:GSUB定义时传入的字母参数
GSUB_IFPARA(char)
char:GSUB定义时传入的字母参数
返回值:-1-传入,0-未传入
G01 X100 Y100 Z100 U100 '调用G01直线插补
END '主程序结束
GLOBAL GSUB G01(X,Y,Z,U) '定义GSUB过程G01
PRINT GSUB_PARA(X),GSUB_PARA(Y),GSUB_PARA(Z),GSUB_PARA(U)
IF coor_rel THEN '相对位置
MOVE(GSUB_PARA(X),GSUB_PARA(Y),GSUB_PARA(Z),GSUB_PARA(U))
ELSE '绝对位置
LOCAL xdis, ydis, zdis, udis
IF GSUB_IFPARA(X) THEN '判断是否有参数传入GSUB
xdis = GSUB_PARA(X)
ELSE
xdis = ENDMOVE_BUFFER(0)
ENDIF
IF GSUB_IFPARA(Y) THEN
ydis = GSUB_PARA(Y)
ELSE
ydis = ENDMOVE_BUFFER(1)
ENDIF
IF GSUB_IFPARA(Z) then
zdis = GSUB_PARA(Z)
ELSE
zdis = ENDMOVE_BUFFER(2)
ENDIF
IF GSUB_IFPARA(U) then
udis = GSUB_PARA(U)
ELSE
udis = ENDMOVE_BUFFER(3)
ENDIF
MOVEABS(xdis,ydis,zdis,udis) '绝对位置
ENDIF
END SUB
CAD导图软件是正运动自主研发的一款根据图形导出加工代码的软件,在正运动官方网站下载CAD导图软件,打开软件后,导入图形(支持的文件格式:.dxf、.plt、.ai)。
或打开文件(导图软件生成的.zmo文件),文件加载后,软件自动生成加工数据,若不满意自动加工数据,可自定义设置后再刷新数据,重新生成加工轨迹数据。
数据达到要求后可直接发送数据到控制器运行,或保存数据到磁盘,应用在其他场景。
CAD导图软件根据上方图形生成的G代码文件如下图所示:
本项目应用于6轴G代码加工,主要展示G01直线插补功能,程序主要由四大部分组成。
A.主程序:
编写项目的功能,进行参数定义,轴参数初始化,执行启动,停止,急停等过程。
B.G代码解析程序:
使用GSUB编写G00,G01等G代码的控制器过程,等待被G代码调用时执行。
C.三次文件加载:
搜索U盘或FLASH里的三次文件(.z3p)加载到控制器,启动加工时调用三次文件内的G代码执行。
D.HMI组态界面:
人机交互,在界面上选择盘符里的三次文件,手动控制加工的启停,展示加工过程与控制器的状态等信息。
本项目支持6个轴加工,分三个任务。主要用到TABLE寄存器临时存储G代码要显示在触摸屏上的数据,支持连接到仿真器控制器上运行。
A.任务0:
上电自动运行的主任务,用于程序初始化,控制启停等。
B.任务1:
HMI组态界面任务。
C.任务3:
回零任务和G代码加工任务,上电先执行回零,待回零完成才能加工。
◆不同的功能同一个任务号运行的时候,注意不要同时运行,否则会导致任务重复开启,控制器报错。
3.ZDevelop软件操作演示视频
运动控制器的自定义G代码编程应用
本次,正运动技术运动控制器的自定义G代码编程应用,就分享到这里。
更多精彩内容请关注“正运动小助手”公众号,需要相关开发环境与例程代码,请咨询正运动技术销售工程师。
本文由正运动技术原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。