㈠ 数控系统里面 怎么利用宏变量让机器自动找到最大和最小值 我现在有十六组数
先把16个数值赋值给#1~#16,
用#1依次减去其它15个变量,
如孝旁果结果大于0,就用这个新的数去减其它的数,
直到全部减完,就找到巧敏橡最拿袭大数了。
最小数也是用类似的方法可以找到。
答题不易,有疑问请继续追问,满意请采纳为最佳答案!
手机提问请点击右上角的“采纳回答”按钮。
谢谢!
㈡ 求数控宏程序 教程
参考下~~~
fuanc
O1001;主程序
G99G97;
M03S500T0101;
G0X42.Z2.;此步为起点
G65 P1234 A25 C20 U2 V1 F0。1 S700;A为长半轴,C为短半轴,U为粗宽州晌车ap(mm),V为精车ap(角度)迹改;
G0 X100. Z100.;
M05 T0100;
M30;
O1234;子程序
#5=#5043;
#4=#3;
WHILE[#4GE0] DO1;
#2=[[1-[#4*#4]/[#3*#3]]*[#1*#1]];
#2=SQRT[#2];
#2=#2-#1;
G0X[2*#4+0.5];
G1Z[#2+0.3]F0.15;
U1W1;
G0Z#5;
#4=#4-#21;
END1;
G0X0;
G1Z0.;
#5=360.;
WHILE[#5GE270] D02;
#2=#1*COS[#5];
#4=#3*SIN[#5];
#2=#2-#1;
#4=ABS[#4];
G1X[2*#4]Z#2F#9;
#5=#5-#22;
END2;
M99;
-----------------------------------------------------------------------------
长半轴100,短半轴80
O0001
G00 X0 Z150.
G98
#24 = 80 (短轴半径,X 轴方向)
#26 = 100 (长轴半径,Z轴方向)
#7 = 0.1 (Z轴取点的间隔距离)慎锋
#1 = #26 + #7 (Z轴方向最大值,假设为顶点)
#23 = 3.15 (Z轴方向最小值)
WHILE [ #1 GT #23 ] DO 1
#1 = #1 - #7 (计算每次 Z轴的坐标值)
IF [ #1 GT #23 ] GOTO 9
#1 = #23 (最后一次把 Z轴终点坐标赋值给#1)
N9 #3 = 2 * #24 * SQRT[1-[#1*#1]/[#26*#26]] (X 轴坐标值计算,此处按直径编程)
G01 X#3 Z#1 F100
END 1
M30
%
㈢ 数控 程序 宏程序 逻辑运算
宏指令G65可以实现丰富的宏功能,包括算术运算、逻辑运算等处理功能。
一般形式: G65 Hm P#i Q#j R#k
式中:
m--宏程序功能,数值范围01~99;
#i--运算结果存放处的变量名;
#j--被操作的第一个变量,也可以是一个常数;
#k--被操作的第二个变量,也可以是一个常数。
例如,当程序功能为加法运算时:
程序P#100 Q#101 R#102......含义为#100=#101+#102
程序P#100 Q-#101 R#102......含义为#100=-#101+#102
程序P#100 Q#101 R15......含义为#100=#101+15
1、宏功能指令
(1)算术运算指令(表4.4)
表4.4 算术运算指令
G码 H码 功 能 定 义
G65 H01 定义,替换 # i=# j
G65 H02 加 # i=# j+# k
G65 H03 减 # i=# j-# k
G65 H04 乘 # i=# j × # k
G65 H05 除 # i=# j/# k
G65 H21 平方根 # i=√# j
G65 H22 绝对值 # i=|# j|
G65 H23 求余 # i=# j-trunc﹙# j/# k﹚· # k
Trunc;丢弃小于1的分数部分
G65 H24 BCD码→二进制码 # i=BIN﹙# j﹚
G65 H25 二进制码→BCD码 # i=BCD﹙# j﹚
G65 H26 复合乘/除 # i=﹙# i × # j﹚÷# k
G65 H27 复合平方根1 # i=√# j2+# k2
G65 H28 复合平方根2 # i=√# j2-# k2
1)变量的定义和替换 #i=#j
编程格式 G65 H01 P#i Q#j
例 G65 H01 P#101 Q1005; (#101=1005)
G65 H01 P#101 Q-#112;(#101=-#112)
2)加法 #i=#j+#k
编程格式 G65 H02 P#i Q#j R#k
例 G65 H02 P#101 Q#102 R#103;(#101=#102+#103)
3)减法 #i=#j-#k
编程格式 G65 H03 P#i Q#j R#k
例 G65 H03 P#101 Q#102 R#103;(#101=#102-#103)
4)乘法 #i=#j×#k
编程格式 G65 H04 P#i Q#j R#k
例 G65 H04 P#101 Q#102 R#103;(#101=#102×#103)
5)除法 #i=#j / #k
编程格式 G65 H05 P#i Q#j R#k
例 G65 H05 P#101 Q#102 R#103;(#101=#102/#103)
6)平方根 #i=
编程格式 G65 H21 P#i Q#j
例 G65 H21 P#101 Q#102;(#101= )
7)绝对值 #i=│#j│
编程格式 G65 H22 P#i Q#j
例 G65 H22 P#101 Q#102;(#101=│#102│)
8)复合平方根1 #i=
编程格式 G65 H27 P#i Q#j R#k
例 G65 H27 P#101 Q#102 R#103;(#101=
9)复合平方根2 #i=
编程格式 G65 H28 P#i Q#j R#k
例 G65 H28 P#101 Q#102 R#103(#101=
(2)逻辑运算指令(表4.5)
表4.5 逻辑运算指令
G码 H码 功 能 定 义
G65 H11 逻辑“或” # i=# j · OR · # k
G65 H12 逻辑“与” # i=# j · AND · # k
G65 H13 异或 # i=# j · XOR · # k
1)逻辑或 #i=#j OR #k
编程格式 G65 H11 P#i Q#j R#k
例 G65 H11 P#101 Q#102 R#103;(#101=#102 OR #103)
2)逻辑与 #i=#j AND #k
编程格式 G65 H12 P#i Q#j R#k
例 G65 H12 P#101 Q#102 R#103;(#101=#102 AND #103)
(3)三角函数指令(表4.6)
表4.6 三角函数指令
G码 H码 功 能 定 义
G65 H31 正弦 # i=# j · SIN ﹙# k﹚
G65 H32 余弦 # i=# j · COS ﹙# k﹚
G65 H33 正切 # i=# j · TAN﹙# k﹚
G65 H34 反正切 # i=ATAN﹙# j/# k﹚
1)正弦函数 #i=#j×SIN(#k)
编程格式 G65 H31 P#i Q#j R#k (单位:度)
例 G65 H31 P#101 Q#102 R#103;(#101=#102×SIN(#103))
2)余弦函数 #i=#j×COS(#k)
编程格式G65 H32 P#i Q#j R#k (单位:度)
例 G65 H32 P#101 Q#102 R#103;(#101=#102×COS(#103))
3)正切函数 #i=#j×TAN#k
编程格式G65 H33 P#i Q#j R#k (单位:度)
例 G65 H33 P#101 Q#102 R#103;(#101=#102×TAN(#103))
4)反正切 #i=ATAN(#j/#k)
编程格式G65 H34 P#i Q#j R#k (单位:度,0o≤ #j ≤360o)
例 G65 H34 P#101 Q#102 R#103;(#101=ATAN(#102/#103))
(4)控制类指令(表4.7)
表4.7 控制类指令
G码 H码 功 能 定 义
G65 H80 无条件转移 GO TO n
G65 H81 条件转移1 IF # j=# k,GOTOn
G65 H82 条件转移2 IF # j≠# k,GOTOn
G65 H83 条件转移3 IF # j># k,GOTOn
G65 H84 条件转移4 IF # j<# k,GOTOn
G65 H85 条件转移5 IF # j≥# k,GOTOn
G65 H86 条件转移6 IF # j≤# k,GOTOn
G65 H99 产生PS报警 PS报警号500+n出现
1)无条件转移
编程格式G65 H80 Pn (n为程序段号)
例G65 H80 P120;(转移到N120)
2)条件转移1 #j EQ #k(=)
编程格式G65 H81 Pn Q#j R#k (n为程序段号)
例 G65 H81 P1000 Q#101 R#102
当#101=#102,转移到N1000程序段;若#101≠ #102,执行下一程序段。
3)条件转移2 #j NE #k(≠)
编程格式G65 H82 Pn Q#j R#k (n为程序段号)
例 G65 H82 P1000 Q#101 R#102
当#101≠ #102,转移到N1000程序段;若#101=#102,执行下一程序段。
4)条件转移3 #j GT #k (> )
编程格式G65 H83 Pn Q#j R#k (n为程序段号)
例 G65 H83 P1000 Q#101 R#102
当#101 > #102,转移到N1000程序段;若#101 ≤#102,执行下一程序段。
5)条件转移4 #j LT #k(<)
编程格式 G65 H84 Pn Q#j R#k (n为程序段号)
例 G65 H84 P1000 Q#101 R#102
当#101 < #102,转移到N1000;若#101≥ #102,执行下一程序段。
6)条件转移5 #j GE #k(≥)
编程格式 G65 H85 Pn Q#j R#k (n为程序段号)
例 G65 H85 P1000 Q#101 R#102
当#101≥ #102,转移到N1000;若#101<#102,执行下一程序段。
7)条件转移6 #j LE #k(≤)
编程格式 G65 H86 Pn Q#j Q#k (n为程序段号)
例 G65 H86 P1000 Q#101 R#102
当#101≤#102,转移到N1000;若#101>#102,执行下一程序段。
2、使用注意
为保证宏程序的正常运行,在使用用户宏程序的过程中,应注意以下几点;
(1)由G65规定的H码不影响偏移量的任何选择;
(2)如果用于各算术运算的Q或R未被指定,则作为0处理;
(3)在分支转移目标地址中,如果序号为正值,则检索过程是先向大程序号查找,如果序号为负值,则检索过程是先向小程序号查找。
(4)转移目标序号可以是变量。[em24][em27][em24]锏惧害鍦板浘
㈣ 在excel中找最大值
首先,A、B、C、兆陆D不是数值,没有最大值族拍顷一说吧。若比较的是贺游文本顺序,"A"最小而"D"最大.
㈤ 法兰克宏程序里边怎么找最大值最小值
#701=#601(最大)
#702=#601(最小)
#1=0
WHILE[[#1+601]LE604]DO1
IF[#[#1+601]GT#701]THEN#701=#[#1+601]
IF[#[#1+601]LT#702]THEN#702=#[#1+601]
#1=#1+1
END1
㈥ 我想编一个宏程序,不断改变i的大小,可以得到一个数值,程序运行后可以得到一个最小值。才开始学宏,改
if else只有两种写法,一种是在同一行,比如
i=0
if 5>2 then i=1 else i=2
另外一种
if 5>2 then
....
...
else
...
...
end if
任何语言建议先学基春启卜础内容,变量、旁埋循环、条件判断之类的,一上来扒穗就写代码效率很低。
㈦ 宏程序如何使用
记下指令和格式就和子程序差不多。指令(EQ为=,NE不等于, GT大于, LT小与, GE大于等于 ,LE小于等于)WH DO END是运算指令也是英文缩写。
例赋值#2等于5。运算#2=#2+1 运行一次后#2值就是6,运行n次#2值为5+n。
A宏程序的编制方法就是: 利用变量编程的 ;
1、条件语句1 IF [条件表达式] GOTO n n?. 当条件满足时,程序就跳转到同一程序中语句标号为n的 语句上继续执行, 当条件不满足时,程序执行下一条语句。
2、条件语句2WHILE [条件表达式] DO m...?END m 当条件满足时,从DO m到ENDm之间的程序就重复执行; 当条件不满足时,程序就执行ENDm下一条语句。
3、椭圆的解析方程:
4、椭圆的参数方程: 条件语句2。
5、椭圆加工程序 N010 #1=1 角度步长 N020 #2=-90 (270) 初始角度 N030 #3=90 终止角度 N040 #4=10 刀具半径 N050 #5=30 长半轴 N060 #6=20 短半轴 N070 G90G00X0Y [#6+#4] 刀具运行到(0,-30,)的位置 N080 S1000M03 N090 G01Z-3F100 刀具下到-3mm N100 。 WHILE[#2LE#3]DO1 起始角度小于等于终止角度 N110 #7=#5*COS[#2] 计算X坐标值(椭圆参数方程) N120 #8=#6*SIN[#2] 计算Y坐标值 (椭圆参数方程) N130 G1X#7Y#8F300 直线插补一个步长 N14 0#2=#2+#1 变量#2增加一个角度步长 N150 END1 N160 G90G00Z100.0M05 快速抬刀。
㈧ 加工中心宏程序怎么用
宏就是用公式来加工零件的,普通加工程序直接用指定G代码和移动距离,例如:
G01和X100.0。
使用用户宏程序时,数值可以直接指定或用变量指定,当用变量时,变量值可以用程序或面板操作改变,如:
#1=#2+100; G01 X#1 F300。
(8)宏程序如何计算最大值和最小值扩展阅读:
宏程序指令适合抛物线、椭圆、双曲线等没有插补指令的曲线编程;适合图形一样,只是尺寸不同的系列零件的编程;适合工艺路信物径一样,只是位置参数不同的系列零件的编程。较大地简化编程;扩展应用范围。
宏程序还提供了循环语句、分支语句和子程序调用语句,利于编制各种复杂的零件加工程序,减少乃至免除手工编程时进滑宽液行繁琐的数值计算,以及精简程序巧正量。