㈠ Cnc编程指令代码。如G00快速定位。M00程序停止。写全就最好了。谢谢
快速定位(G00或G0) 刀具以点位控制方式从当前所在位置快速移动到指令给出的目标位置。
指令格式:G00 X(U) Z(W) ;
(2)直线插补(G01或G1)
指令格式:G01 X(U) Z(W) F ;
G02 顺时针圆弧插补
G03 逆时针圆弧插补
G04 停顿
G17 选择XY平面
G18 选择XZ平面
G19 选择YZ平面
G20 英制
G21 公制
G28 返回参考点
G29 返回第二参考点
G30 跳步功能
G40 取消刀具半径补偿
G41 刀具半径左补偿
G42 刀具半径右补偿
G43 刀具长度补偿
G49 取消刀具长度补偿
G50 取消比例缩放功能
G51 比例缩放功能
G51.1 镜像
G50.1 取消镜像
G53 选择机床坐标系
G54 选择第一工件坐标系
G55 选择第二工件坐标系
G56 选择第三工件坐标系
G57 选择第四工件坐标系
G58 选择第五工件坐标系
G59 选择第六工件坐标系
G65 宏程序及宏程序调用
G68 坐标旋转指令
G69 坐标旋转指令取消
G70 精加工循环(车)
G71 外圆粗车固定循环(车)
G72 端面车削固定循环
G73 深孔钻削循环(铣床)
G73 成型加工复式循环(车)
G74 攻螺纹循环(铣床)
G74 端面深孔加工循环(车)
G75 外圆、内圆切槽循环(车)
G80 取消钻孔模式
G81 钻孔
G83 啄钻
G84 攻丝
G90 绝对坐标(铣床)
G90 车端面循环(车)
G91 相对坐标
G92 设定工件坐标系(铣床)
G92 车螺纹(车)
M00 暂停
M01 选择性暂停
M02 程序结束
M30 程序结束并返回程序头
M03 启动主轴转速
M04 主轴停止
M05 主轴停转
M06 换刀
M08 切削液开
M09 切削液关
M19 主轴定位
M98 调子程序
M99 子程序结束
以上都是比较常用的,还有一些不常用的,你再看看说明书吧,希望能帮到你!
㈡ CNC三菱系统 命令大全
CNC编程代码很多 这些G、M代码都是三菱 法兰克系统都能用的 如:G00快速定位
G01直线切削
G02顺时针方向圆弧切削
G03逆时针方向圆弧切削
G04暂停指令 (有的系统为延时)
G09正确停止检测
G10补正设定
G12顺时针方向圆周切削
G13逆时针方向圆周切削
G15极座标系统取消
G16极座标系统设定
G17XY平面设定
G18XZ平面设定
G19YZ平面设定
G20英制单位设定
G21公制单位设定
G22软体极限设定
G23软体极限设定取消
G27机械原点复归检测
G28自动经中间点复归机械原点
G29自动从参考点复归
G30自动复归到第二原点
G40刀具半径补正取消
G41刀具半径偏左补正
G42刀具半径偏右补正
G43刀具长度沿正向补正
G44刀具长度沿负向补正
G49刀具长度补正取消
G45刀具位置补正增加
G46刀具位置补正减少
G47刀具位置补正两倍增加
G48刀具位置补正两倍减少
G50比例功能取消OFF
G51比例功能设定ON
G52回复到基本座标系统
G53回复到机械座标系统
G54第一工件座标系统
G55第二工件座标系统
G56第三工件座标系统
G57第四工件座标系统
G58第五工件座标系统
G59第六工件座标系统
G60 外部补正
G70圆周等分段 循环
G71圆周分段 循环
G72直线分段 循环
G73高速喙钻循环
G74左旋牙切削循环G76精搪孔循环
G77反面搪孔循环
G80固定循环取消
G81钻孔循环
G82沉头孔加工循环
G83啄钻循环
G84右旋牙切削循环
G85搪孔循环
G86搪孔循环
G87搪孔循环
G88搪孔循环
G89搪孔循环
G90绝对指令座标值设定
G91增量指令座标值设定
G92绝对程式零点设定
G94每分钟进给量设定mm/min
G95每转进给给设定mm/rev
G98固定循环,刀具复归到起始点
G99固定循环,刀具复归到R点 M03主轴正转
M04主轴逆时针旋转 (通常不会用到反转)
M05主轴停止
M06刀具交换
M07雾化冷却液开启
M08冷却液开启
M09冷却液关启
M10工作台(B轴)锁住
M11工作台(B轴)松开
M13主轴顺时针转动及加切削液
M14主轴逆时针转动及加切削液
M15正方向运动
M16负方向运动
M19主轴定位
M30程式结束记忆体回归 M98子程序调用m99子程序取消
㈢ 数控车床宏程序怎么写最好带步骤解说
数控车床宏程序是非常灵活且因情况而异的,所以数控车床宏程序编程掌握以下参数即可:
普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。
例如:#1=#2+100;G01X#1F300。
量的表示:计算机允许使用变量名,用户宏程序不行。变量用变量符号(#)和后面的变量号指定。例如:#1,表达式可以用于指定变量号。
此时,表达式必须封闭在括号中。例如:#[#1+#2-12]。
变量根据变量号可以分成四种类型:#0空变量,该变量总是空,没有值能赋给该变量。#1-#33局部变量,局部变量只能用在宏程序中存储数据,例如,运算结果。当断电时,局部变量被初始化为空。调用宏程序时,自变量对局部变量赋值。
#100-#199、#500-#999公共变量,公共变量在不同的宏程序中的意义相同。当断电时,变量#100-#199初始化为空。变量#500-#999的数据保存,即使断电也不丢失。#1000---系统变量。系统变量用于读和写CNC运行时各种数据的变化,例如,刀具的当前位置,补偿值。
局部变量和公共变量可以有0值或下面范围中的值:-1047到-10-29或-10-2到-1047,如果计算结果超出有效范围,则发出P/S报警NO.111。
当在程序中定义变量值时,小数点可以省略。例:当定义#1=123;变量#1的实际值是123.000。
为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,要把表达式放在括号中。例如:G01X[#1+#2]F#3;
被引用变量的值根据地址的最小设定单位自动地舍入。例如:当G00X#/;以1/1000mm的单位执行时,CNC把123456赋值给变量#1,实际指令值为G00X12346.改变引用变量的值的符号,要把负号(-)放在#的前面。
例如:G00X-#1当引用未定义的变量时,变量及地址都被忽略。例如:当变量#1的值是0,并且变量#2的值是空时,G00X#1Y#2的执行结果为G00X0。
(3)cnc宏命令全表扩展阅读:
数控宏程序编程是用变量的方式进行数控编程的方法,数控宏程序分为A类和B类宏程序,其中A类宏程序比较老,编写起来也比较费时费力,B类宏程序类似于C语言的编程,编写起来也很方便。
不论是A类还B类宏程序,它们运行的效果都是一样的。
编写一些大批相似零件的时候,可以用宏程序编写,这样只需要改动几个数据就可以了,没有必要进行大量重复编程。
㈣ cnc84系统钻孔机指令
CM : 清除钻孔文件
CA : 清除工艺参数及刀库位置的设定
CLT: 清除工艺参数(当前计数B除外)
CLM : 清除刀库位置设定及当前计数B
CBRK: 清除断刀记录表的记录
CD : 清除默认刀具参数表
COMM ,N : 不下拉显示以前输入过的命令
T *** : 取某刀(***代表数字)
T : 把主轴上的刀退回原位置
P : 机器到泊车位
R : 机器运动到光栅尺零位
CT M***: 强行把主轴上的刀放于M***指定的刀库位
H***..***: 更改起钻位H值
H : 主轴运动刀起钻位H
Z***.*** : 更改终钻位即更改钻板深度
M22: 压力脚上升
M23: 压力脚下降
M26: 机械手上升
M27 : 机械手下降
M34: 机械手指张开
M35: 机械手指合拢
M36: 进入手动换刀模式
FP**** : 切换钻孔文件格式(****代表的钻孔文件格式有4205 4215 4220 4210 等
FV * : 切换钻孔加工时的文件象限(1—8个象限)
DMAG* : 切换刀库的显示象限(HANS-F6L机为DMAG8即第8象限不可乱改)
FAX***.***FAY***.***:输入零位偏移值
FAIX***.***FAIY***.***:修改零位偏移值(相对于原零位)
NOMO:关闭所有伺服电机
NOMO**:关闭由**指定的伺服电机(列如**可以为XYZ1Z2Z3Z4Z5Z6)
MO:开启伺服电机
LENK:开启刀具检测器的检测使能来量刀长刀径(NOLENK则为关闭此功能)
TOTO:开启导电的模式的断刀检测功能(NOTOTO关闭此功能)
BROK:开启断刀检测记录功能(NOBROK则关闭此功能)
TC-D:关闭直径超差报警功能(TCD则为打开直径超差报警功能)
TC-L:关闭长度超差报警功能(TCL则为打开长度超差报警功能)
TC-R:关闭偏摆超差报警功能(TCR则为打开偏摆超差报警功能)
METR:自动换算机器坐标显示为公制模式(注意必须先用CM清空内存里的钻带才能转换
INCH:自动换算机器坐标显示为英制模式(自动换算机器坐标显示为公制模式
TMET:自动换算刀具参数等信息为公制形式显示(随时根据需要都可换算)
TIN:自动换算刀具参数等信息为英制形式显示(随时根据需要都可换算)
QUIK***.***(开启快钻功能并设离开板面的高度即快钻高度为***.***,NOQUIK为关闭快钻功能
Ctrl+ALT+S: 切换成中文显示
CTRL+ALT+E:切换成英文显示 1| 评论(3)
等待您来回答
CM : 清除钻孔文件
CA : 清除工艺参数及刀库位置的设定
CLT: 清除工艺参数(当前计数B除外)
CLM : 清除刀库位置设定及当前计数B
CBRK: 清除断刀记录表的记录
CD : 清除默认刀具参数表
COMM ,N : 不下拉显示以前输入过的命令
T *** : 取某刀(***代表数字)
T : 把主轴上的刀退回原位置
P : 机器到泊车位
R : 机器运动到光栅尺零位
CT M***: 强行把主轴上的刀放于M***指定的刀库位
H***..***: 更改起钻位H值
H : 主轴运动刀起钻位H
Z***.*** : 更改终钻位即更改钻板深度
M22: 压力脚上升
M23: 压力脚下降
M26: 机械手上升
M27 : 机械手下降
M34: 机械手指张开
M35: 机械手指合拢
M36: 进入手动换刀模式
FP**** : 切换钻孔文件格式(****代表的钻孔文件格式有4205 4215 4220 4210 等
FV * : 切换钻孔加工时的文件象限(1—8个象限)
DMAG* : 切换刀库的显示象限(HANS-F6L机为DMAG8即第8象限不可乱改)
FAX***.***FAY***.***:输入零位偏移值
FAIX***.***FAIY***.***:修改零位偏移值(相对于原零位)
NOMO:关闭所有伺服电机
NOMO**:关闭由**指定的伺服电机(列如**可以为XYZ1Z2Z3Z4Z5Z6)
MO:开启伺服电机
LENK:开启刀具检测器的检测使能来量刀长刀径(NOLENK则为关闭此功能)
TOTO:开启导电的模式的断刀检测功能(NOTOTO关闭此功能)
BROK:开启断刀检测记录功能(NOBROK则关闭此功能)
TC-D:关闭直径超差报警功能(TCD则为打开直径超差报警功能)
TC-L:关闭长度超差报警功能(TCL则为打开长度超差报警功能)
TC-R:关闭偏摆超差报警功能(TCR则为打开偏摆超差报警功能)
METR:自动换算机器坐标显示为公制模式(注意必须先用CM清空内存里的钻带才能转换
INCH:自动换算机器坐标显示为英制模式(自动换算机器坐标显示为公制模式
TMET:自动换算刀具参数等信息为公制形式显示(随时根据需要都可换算)
TIN:自动换算刀具参数等信息为英制形式显示(随时根据需要都可换算)
QUIK***.***(开启快钻功能并设离开板面的高度即快钻高度为***.***,NOQUIK为关闭快钻功能
Ctrl+ALT+S: 切换成中文显示
CTRL+ALT+E:切换成英文显示 1| 评论(3)
等待您来回答
㈤ 高分求CNC数控G、M代码(指令)大全
G代码:
G00 定位(快速移动)
G01 直线插补(进给速度)
G02 顺时针圆弧插补
G03 逆时针圆弧插补
㈥ 求CNC(FANCU)系统变量明细表,如#5201,知道的师傅可以教教我怎么用吗越详细越好的,我在学宏程序
大家都在问宏程序~其实说起来宏就是用公式来加工零件的,比如说椭圆,如果没有宏的话,我们要逐点算出曲线上的点,然后慢慢来用直线逼近,如果是个光洁度要求很高的工件的话,那么需要计算很多的点,可是应用了宏后,我们把椭圆公式输入到系统中然后我们给出Z坐标并且每次加10um那么宏就会自动算出X坐标并且进行切削,实际上宏在程序中主要起到的是运算作用..宏一般分为A类宏和B类宏.A类宏是以G65 Hxx P#xx Q#xx R#xx的格式输入的,而B类宏程序则是 以直接的公式和语言输入的和C语言很相似在0i系统中应用比较广.由于现在B类宏程序的大量使 用很多书都进行了介绍这里我就不再重复了,但在一些老系统中,比如法兰克OTD系统中由于它的MDI键盘上没有公式符号,连最简单的等于号都没有,为此如果应用B类宏程序的话就只能在计算机上编好再通过RSN-32接口传输的数控系统中,可是如果我们没有PC机和RSN-32电缆的话怎么办呢,那么只有通过A类宏程序来进行宏程序编制了,下面我介绍一下A类宏的引用; A类宏是用G65 Hxx P#xx Q#xx R#xx或G65 Hxx P#xx Qxx Rxx格式输入的xx的意思就是数值,是以um级的量输入的,比如你输入100那就是0.1MM~~~~~.#xx就是变量号,关于变量号是什么意思再不知道的的话我也就没治了,不过还是教一下吧,变量号就是把数值代入到一个固定的地址中,固定的地址就是变量,一般OTD系统中有#0~~~#100~#149~~~#500~#531关闭电源时变量#100~#149被初始化成“空”,而变量#500~#531保持数据.我们如果说#100=30那么现在#100地址内的数据就是30了,就是这么简单.好现在我来说一下H代码,大家可以看到A类宏的标准格式中#xx和xx都是数值,而G65表示使用A类宏,那么这个H就是要表示各个数值和变量号内的数值或者各个变量号内的数值与其他变量号内的数值之间要进行一个什么运算,可以说你了解了H代码A类宏程序你基本就可以应用了,好,现在说一下H代码的各个含义: 以下都以#100和#101和#102,及数值10和20做为例子,应用的时候别把他们当格式就行, 基本指令: H01赋值;格式:G65H01P#101Q#102:把#102内的数值赋予到#101中 G65H01P#101Q#10:把10赋予到#101中 H02加指令;格式G65 H02 P#101 Q#102 R#103,把#102的数值加上#103的数值赋予#101 G65 H02 P#101 Q#102 R10 G65 H02 P#101 Q10 R#103 G65 H02 P#101 Q10 R20 上面4个都是加指令的格式都是把Q后面的数值或变量号内的数值加上R后面的数 值或变量号内的数值然后等于到P后面的变量号中. H03减指令;格式G65 H03 P#101 Q#102 R#103,把#102的数值减去#103的数值赋予#101 G65 H03 P#101 Q#102 R10 G65 H03 P#101 Q10 R#103 G65 H03 P#101 Q20 R10 上面4个都是减指令的格式都是把Q后面的数值或变量号内的数值减去R后面的数 值或变量号内的数值然后等于到P后面的变量号中. H04乘指令;格式G65 H04 P#101 Q#102 R#103,把#102的数值乘上#103的数值赋予#101 G65 H04 P#101 Q#102 R10 G65 H04 P#101 Q10 R#103 G65 H04 P#101 Q20 R10 上面4个都是乘指令的格式都是把Q后面的数值或变量号内的数值乘上R后面的数 值或变量号内的数值然后等于到P后面的变量号中. H05除指令;格式G65 H05P#101 Q#102 R#103,把#102的数值除以#103的数值赋予#101 G65 H05 P#101 Q#102 R10 G65 H05 P#101 Q10 R#103 G65 H05 P#101 Q20 R10 上面4个都是除指令格式都是把Q后面的数值或变量号内的数值除以R后面的数 值或变量号内的数值然后等于到P后面的变量号中.(余数不存,除数如果为0的话会出现112报警) 三角函数指令: H31 SIN正玄函数指令:格式G65 H31 P#101 Q#102 R#103;含义Q后面的#102是三角形的斜边R后面的#103内存的是角度.结果是#101=#102*SIN#103,也就是说可以直接用这个求出三角形的另 一条边长.和以前的指令一样Q和R后面也可以直接写数值. H32 COS余玄函数指令:格式G65 H32 #101 Q#102 R#103;含义Q后面的#102是三角形的斜边 R后面的#103内存的是角度.结果是#101=#102*COS#103,也就是说可以直接用这个求出三角形的 另一条边长.和以前的指令一样Q和R后面也可以直接写数值. H33和H34本来应该是TAN 和ATAN的可是经过我使用得数并不准确,希望有知道的人能够告诉我是为什么? 开平方根指令: H21;格式G65 H21 P#101 Q#102 ;意思是把#102内的数值开了平方根然后存到#101中(这个指令是非常重要的如果在车椭圆的时候没有开平方跟的指令是没可能用宏做到的. 无条件转移指令: H80;格式:G65 H80 P10 ;直接跳到第10程序段 有条件转移指令: H81 H82 H83 H84 H85 H86 ,分别是等于就转的H81;不等于就转的H82;小于就转的H83;大于就转的H84;小于等于就转的H85;大于等于就转的H86; 格式:G65 H8x P10 Q#101 R#102;将#101内的数值和#102内的数值相比较,按上面的H8x的码带入H8x中去,如果条件符合就跳到第10程序段,如果不符合就继续执行下面的程序段. 用 户 宏 程 序 能完成某一功能的一系列指令像子程序那样存入存储器,用一个总指令来它们,使用时只需给出这个总指令就能执行其功能。 l 所存入的这一系列指令——用户宏程序 l 调用宏程序的指令————宏指令 l 特点:使用变量 一. 变量的表示和使用 (一) 变量表示 #I(I=1,2,3,…)或#[<式子>] 例:#5,#109,#501,#[#1+#2-12] (二) 变量的使用 1. 地址字后面指定变量号或公式 格式: <地址字>#I <地址字>-#I <地址字>[<式子>] 例:F#103,设#103=15 则为F15 Z-#110,设#110=250 则为Z-250 X[#24+#18*COS[#1]] 2. 变量号可用变量代替 例:#[#30],设#30=3 则为#3 3. 变量不能使用地址O,N,I 例:下述方法下允许 O#1; I#2 6.00×100.0; N#3 Z200.0; 4. 变量号所对应的变量,对每个地址来说,都有具体数值范围 例:#30=1100时,则M#30是不允许的 5. #0为空变量,没有定义变量值的变量也是空变量 6. 变量值定义: 程序定义时可省略小数点,例:#123=149 MDI键盘输一. 变量的种类 1. 局部变量#1~#33 一个在宏程序中局部使用的变量 例: A宏程序 B宏程序 … … #10=20 X#10 不表示X20 … … 断电后清空,调用宏程序时代入变量值 2. 公共变量#100~#149,#500~#531 各用户宏程序内公用的变量 例:上例中#10改用#100时,B宏程序中的 X#100表示X20 #100~#149 断电后清空 #500~#531保持型变量(断电后不丢失) 3. 系统变量 固定用途的变量,其值取决于系统的状态 例:#2001值为1号刀补X轴补偿值 #5221值为X轴G54工件原点偏置值 入时必须输入小数点,小数点省略时单位为μm 一. 运算指令 运算式的右边可以是常数、变量、函数、式子 式中#j,#k也可为常量 式子右边为变量号、运算式 1. 定义 #I=#j 2. 算术运算 #I=#j+#k #I=#j-#k #I=#j*#k #I=#j/#k 3. 逻辑运算 #I=#JOK#k #I=#JXOK#k #I=#JAND#k 4. 函数 #I=SIN[#j] 正弦 #I=COS[#j] 余弦 #I=TAN[#j] 正切 #I=ATAN[#j] 反正切 #I=SQRT[#j] 平方根 #I=ABS[#j] 绝对值 #I=ROUND[#j] 四舍五入化整 #I=FIX[#j] 下取整 #I=FUP[#j] 上取整 #I=BIN[#j] BCD→BIN(二进制) #I=BCN[#j] BIN→BCD 1. 说明 1) 角度单位为度 例:90度30分为90.5度 2) ATAN函数后的两个边长要用“1”隔开 例:#1=ATAN[1]/[-1]时,#1为了35.0 3) ROUND用于语句中的地址,按各地址的最小设定单位进行四舍五入 例:设#1=1.2345,#2=2.3456,设定单位1μm G91 X-#1;X-1.235 X-#2 F300;X-2.346 X[#1+#2];X3.580 未返回原处,应改为 X[ROUND[#1]+ROUND[#2]]; 4) 取整后的绝对值比原值大为上取整,反之为下取整 例:设#1=1.2,#2=-1.2时 若#3=FUP[#1]时,则#3=2.0 若#3=FIX[#1]时,则#3=1.0 若#3=FUP[#2]时,则#3=-2.0 若#3=FIX[#2]时,则#3=-1.0 5) 指令函数时,可只写开头2个字母 例:ROUND→RO FIX→FI 6) 优先级 函数→乘除(*,1,AND)→加减(+,-,OR,XOR) 例:#1=#2+#3*SIN[#4]; 7) 括号为中括号,最多5重,园括号用于注释语句 例:#1=SIN[[[#2+#3]*#4+#5]*#6];(3重) 一. 转移与循环指令 1.无条件的转移 格式: GOTO 1; GOTO #10; 2.条件转移 格式: IF[<条件式>] GOTO n 条件式: #j EQ#k 表示= #j NE#k 表示≠ #j GT#k 表示> #j LT#k 表示< #j GE#k 表示≥ #j LE#k 表示≤ 例: IF[#1 GT 10] GOTO 100; … N100 G00 691 X10; 例:求1到10之和 O9500; #1=0 #2=1 N1 IF [#2 GT10] GOTO 2 #1=#1+#2; #2=#2+1; GOTO 1 N2 M301.循环 格式:WHILE[<条件式>]DO m;(m=1,2,3) … … … ENDm 说明:1.条件满足时,执行DOm到ENDm,则从DOm的程序段 不满足时,执行DOm到ENDm的程序段 2.省略WHILE语句只有DOm…ENDm,则从DOm到ENDm之间形成死循环 3.嵌套 4.EQ NE时,空和“0”不同 其他条件下,空和“0”相同 例:求1到10之和 O0001; #1=0; #2=1; WHILE [#2LE10] DO1; #1=#1+#2; #2=#2+#1; END1; M30;㈦ 数控编程宏程序的指令
宏程序编程
一 变量
普通加工程序直接用数值指定G代码和移动距离;例如,GO1和X100.0。使用用户宏程序时,数值可以直接指定或用变量指定。当用变量时,变量值可用程序或用MDI面板上的操作改变。
#1=#2+100
G01 X#1 F300
说明:
变量的表示
计算机允许使用变量名,用户宏程序不行。变量用变量符号(#)和后面的变量号指定。
例如:#1
表达式可以用于指定变量号。此时,表达式必须封闭在括号中。
例如:#[#1+#2-12]
变量的类型
变量根据变量号可以分成四种类型
变量号
变量类型
功能
#0
空变量
该变量总是空,没有值能赋给该变量.
#1-#33
局部变量
局部变量只能用在宏程序中存储数据,例如,运算结果.当断电时,局部变量被初始化为空.调用宏程序时,自变量对局部变量赋值,
#100-#199
#500-#999
公共变量
公共变量在不同的宏程序中的意义相同.当断电时,变量#100-#199初始化为空.变量#500-#999的数据保存,即使断电也不丢失.
#1000
系统变量
系统变量用于读和写CNC运行时各种数据的变化,例如,刀具的当前位置和补偿值.
变量值的范围
局部变量和公共变量可以有0值或下面范围中的值:
-1047到-10-29或-10-2到-1047
如果计算结果超出有效范围,则发出P/S报警NO.111.
小数点的省略
当在程序中定义变量值时,小数点可以省略。
例:当定义#1=123;变量#1的实际值是123.000。
变量的引用
为在程序中使用变量值,指定后跟变量号的地址。当用表达式指定变量时,要把表达式放在括号中。
例如:G01X[#1+#2]F#3;
被引用变量的值根据地址的最小设定单位自动地舍入。
例如:
当G00X#/;以1/1000mm的单位执行时,CNC把123456赋值给变量#1,实际指令值为G00X12346.
改变引用变量的值的符号,要把负号(-)放在#的前面。
例如:G00X-#1
当引用未定义的变量时,变量及地址都被忽略。
例如:当变量#1的值是0,并且变量#2的值是空时,G00X#1 Y#2的执行结果为G00X0。
双轨迹(双轨迹控制)的公共变量
对双轨迹控制,系统为每一轨迹都提供了单独的宏变量,但是,根据参数N0.6036和6037的设定,某些公共变量可同时用于两个轨迹。
未定义的变量
当变量值未定义时,这样的变量成为空变量。变量#0总是空变量。它不能写,只能读。
引用
当引用一个未定义的变量时,地址本身也被忽略。
当#1=
当#1=0
G90 X100 Y#1
G90 X100
G90 X100 Y#1
G90 X100 Y0
(b) 运算
除了用赋值以外,其余情况下与0相同。
当#1=时
当#1=0时
#2=#1
#2=
#2=#1
#2=0
#2=#*5
#2=0
#2=#*5
#2=0
#2=#1+#1
#2=0
#2=#1+#1
#2=0
(c)条件表达式
EQ和NE中的不同于0。
当#1=时
当#1=0时
#1EQ#0 成立
#1EQ#0 不成立
#1 NE #0 成立
#1 NE #0 不成立
#1 GE #0 成立
#1 GE #0 不成立
#1 GT #0 不成立
#1 GT #0 不成立
限制
程序号,顺序号和任选程序段跳转号不能使用变量。
例:下面情况不能使用变量:
0#1;
/#2G00X100.0;
N#3Y200.0;
二 算术和逻辑运算
下面表中列出的运算可以在变量中执行。运算符右边的表达式可包含常量和或由函数或运算符组成的变量。表达式中的变量#j和#k可以用常数赋值。左边的变量也可以用表达式赋值。
说明:
角度单位
函数SIN ,COS,ASIN,ACOS,TAN和ATAN的角度单位是度。如90°30'表示为90.5度。
ARCSIN # i= ASIN[#j]
(1)取值范围如下:
当参数(NO.6004#0)NAT位设为0时,270°~90°
当参数(NO.6004#0)NAT位设为1时,-90°~90°
(2)当#j超出-1到1的范围时,发出P/S报警NO.111.
(3)常数可替代变量#j
ARCCOS #i=ACOS[#j] 取值范围从180°~0° 当#j超出-1到1的范围时,发出P/S报警NO.111. 常数可替代变量#j
三 程序举例
铣椭圆:
轨迹:
椭圆程序代码如下:
N10 G54 G90 G0 S1500 M03
N12 X0 Y0 Z20.
N14 G0 Z1
N16 G1 Z-5. F150.
N18 G41 D1
N20 #1=0
N22 #2=34
N24 #3=24
N26 #4=#2*COS[#1]
N28 #5=#3*SIN[#1]
N30 #10=#4*COS[45]-#5*SIN[45]
N32 #11=#4*SIN[45]+#5*COS[45]
N34 G1 X#10 Y#11
N36 #1=#1+1
N38 IF [#1 LT 370] GOTO26
N40 G40 G1 X0 Y0
N42 G0 Z100
N44 M30
铣矩形槽:
铣矩形槽代码如下:
#102=0.
N3#100=0.
#101=0.
#103=200.
#104=400.
G91G28Z0.
G0G90G54X0.Y0.
G43H1Z20.
M3S2000.
N4G0X#100Y#101
G01Z#102F200.
#102=#102-2.
IF[#102EQ-50.]GOTO1
GOTO2
N2
N4X#104F500.
Y#103
X#100
Y#101
#100=#100+10.
#101=#101+10.
#103=#103-10.
#104=#104-10.
IF[#100EQ100.]GOTO3
GOTO4
N3
N1
M5
M9
G91G28Z0.
G28Y0.
M30
铣倾斜3度的面:
轨迹:
铣倾斜3度的面的代码如下:
O0001
#[#1+1*2]=1
G65P9012L1A0B0.1C4I100J3K0
M30
宏程序O9012代码如下:
G54 G90 G00 X[#3] Y0 Z100
S500 M3
G01 Z0 F300
WHILE[#1LE10]DO1
#7= #1/TAN[#5]+#3
G1Z-#1 X#7
#8=#6/2-ROUND[#6/2]
IF[#8EQ0]GOTO10
G1Y0
GOTO20
N10 Y#4
N20#1=#1+#2
#6=#6+1
END1
G0
Z100
铣半球:
轨迹:
铣半球代码如下:
G90G0G54X-10.Y0M3S4500
G43Z50.H1M8
#1=0.5
WHILE[#1LE50.]DO1
#2=50.-#1
#3=SQRT[2500.-[#2*#2]]
G1Z-#1F20
X-#3F500
G2I#3
#1=#1+0.5
END1
G0Z50.M5
M30
铣喇叭:
铣喇叭代码如下:
M03 S500
M06 T01
#1=0
#2=0
G0 Z15
X150 Y0
N11
#2=30*SIN[#1]
#3=30+30*[1-COS[#1]]
G01 Z-#2 F40
G41 X#3 D01
G03 I-#3
G40 G01 X150 Y0
#1=#1+1
IF [#1 LE 90] GOTO 11
G0 Z30
M30
㈧ Cnc编程指令代码怎么写
M29
M30 M63 M64 M80 M81 M82 M83 M85 M98 M99刚性攻螺纹 程序结束并返回 排屑启动 排屑停止 ,刀库前进 ,刀库后退 ,刀具松开 ,刀具夹紧 ,刀库旋转 ,调用子程序 ,调用子程序结束并返回 ,后指令, 单独程序段 ,后指令注。
在一个程序段中只能有指令一个 M
指令,如果在一个程序中出现两个或两个以上的 M 指令时, 则只有最后一个 M 指令有效,其余无效,其他指令。
(1)F—进给速度指令 F
及后面的若干数字表示,当指令为 G94 单位是 mm/min,当指令为 G95 单位是 mm/r。
(2)S—主轴转速指令 S 及后面的若干数字表示,单位是 r/min。
(3)T—刀具指令 T 及后面的三位数字表示,表示刀号。
(4)H 和 D—刀具长度补偿值和刀具半径补偿值 H 和 D 及其后面的三位数字表示,该三位数字为存放刀具补偿量地存储器地址(番号)。