当前位置:网站首页 > MATLAB编程 > 正文

matlab 函数(matlab函数文件和脚本文件区别)



现在很多数控技术人员都不懂宏程序,他们认为有了自动编程软件,就不需要学习宏程序了。事实上,宏程序的功能非常强大,比如编写一些批量、重复的程序,使用宏程序就只需要改动几个数据就可以了,没有必要进行大量重复的编程,可极大简化操作,大幅度提高工作效率。


宏程序可以使用变量进行算术运算、逻辑运算和函数的混合运算,还提供了循环语句、分支语句和子程序调用语句。


一般来说:宏程序适合图形一样,只是尺寸不同的系列零件的编程;适合工艺路径一样,只是位置参数不同的系列零件的编程;适合抛物线、椭圆、双曲线等没有插补指令的曲线编程。



01
变量的表示和使用


一、变量表示

#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




02
变量的种类



1. 局部变量#1~#33

一个在宏程序中局部使用的变量,其运算结果其他程序不可使用。
例: A宏程序 B宏程序
… …
#10=20 X#10 不表示X20
… …
断电后清空,调用宏程序时代入变量值


2. 公共变量#100~#199,#500~#999

各用户宏程序内公用的变量 ,其运算结果任何程序调用都相同。
例:上例中#10改用#100时,B宏程序中的
X#100表示X20
#100~#149 断电后清空
#500~#531保持型变量(断电后不丢失)


3. 系统变量

固定用途的变量,其值取决于系统的状态
例:#2001值为1号刀补X轴补偿值
#5221值为X轴G54工件原点偏置值
入时必须输入小数点,小数点省略时单位为μm



03
运算指令

运算式的右边可以是常数、变量、函数、式子
式中#j,#k也可为常量
式子右边为变量号、运算式


一、定义

#I=#j


二、 算术运算

#I=#j+#k
#I=#j-#k
#I=#j*#k
#I=#j/#k


三、逻辑运算

#I=#JOK#k
#I=#JXOK#k
#I=#JAND#k


四、函数


#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) 角度单位为度
例:90度30分为90.5度

2) ATAN函数后的两个边长要用“/ ”隔开
例:#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重)



04
转移与循环指令


1. 无条件的转移

格式:GOTO n;


无条件地转移到程序段n去
n:程序段号(1-99999)
n也可用变量或表达式来代替
GOTO10;
GOTO #10;


2. 条件转移


IF [<条件表达式>]    GOTO n;
若满足<条件表达式>,下步操作转移到程序段号为n的程序段去。
若不满足,执行下个程序段。


IF [<条件表达式>]    THEN … ;
若满足<条件表达式>,执行THEN后的宏程序语句,只执行一个语句。
IF[#1EQ #2] THEN #3=0;


条件式:
#j 和#k也可用<表达式>来代替


例:IF[#1 GT 10] GOTO 100;
N100 G00 G91 X10;
例:求1到10之和
O9500;
#1=0
#2=1
N1 IF [#2 GT10] GOTO 2
#1=#1+#2;
#2=#2+1;
GOTO 1
N2 M30


3. 循环


格式:WHILE[<条件式>]DO m;(m=1,2,3)
ENDm


1.条件满足时,执行DOm到ENDm,则从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;

三玖教育-专业权威在线职业教育品牌,服务在线学员突破35万+,线下1000+,2021年实现线上、线下双重模式教学,2022年获得“腾讯教育突破奖”,清华大学出版社战略合作品质课程,着力于培养行业高薪编程工程师,我们坚信核心技术是推动行业快速发展的重要方向 ,改变学员人生重要途径,所有任职老师均累积行业多年经验,全职辅导亲授课程。

目前涵盖:设UG画图建模班、UG加工参数班、产品及模具编程实战班、UG四五轴编程班、Powermill编程实战班、军工产品编程及大型汽车模具类的编程,Mastercam三四五轴编程,hyperMILL编程,数控车编程,车铣复合编程、覆盖CNC加工中心所有热门编程技术,培养从基础到实战,从简单到复杂,通俗易懂,循序渐进的教学方式。

关注我们不迷路

到此这篇matlab 函数(matlab函数文件和脚本文件区别)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • matlab的函数怎么用(matlab中函数用法)2025-12-01 18:54:09
  • 颜色代码表(matlab颜色代码表)2025-12-01 18:54:09
  • matlab函数大全详解(matlab 函数)2025-12-01 18:54:09
  • matlab函数与脚本(matlab函数脚本符号运算)2025-12-01 18:54:09
  • matlab函数功能大全(matlab函数介绍)2025-12-01 18:54:09
  • matlab函数输入的参数数目不足(matlab 输入的参数数目不足)2025-12-01 18:54:09
  • matlab函数文件和脚本文件的区别(matlab函数文件和脚本文件的区别)2025-12-01 18:54:09
  • matlab函数速查手册pdf(matlab数学手册)2025-12-01 18:54:09
  • matlab函数怎么写ln(matlab函数写法)2025-12-01 18:54:09
  • matlab如何输出多种结果(matlab输出结果多一个ans)2025-12-01 18:54:09
  • 全屏图片