⼦程序调⽤与宏定义的异同_新代系统:宏编程的基本概念和
基本书写格式
⽤⼀组指令构成某功能,并且象⼦程序⼀样存储在存储器中,再把这些存储的功能由⼀个指令来代表,执⾏时只需写出这个代表指令,就可以执⾏其相应的功能。
在这⾥,所存储的⼀组指令叫做宏程序体(或⽤户宏程序),简称为⽤户宏。其代表指令称为⽤户宏命令,也称作宏程序调⽤指令。
使⽤时,编程⼈员只需会使⽤⽤户宏指令即可,⽽不必去关⼼宏程序体中的指令内容。
例如,在下述程序流程中,可以这样使⽤⽤户宏:
主程序
⽤户宏
……
O9011
G65 P9011 A10 I5;
……
……
X#1Y#4;
在这个程序的主程序中,⽤ G65 P9011调⽤⽤户宏程序 O9011,并且对⽤户宏中的变量赋值:#1=10、#4=5(A代表#1、I代表#4)。⽽在⽤户宏中未知量⽤变量#1及#4来代表。
⽤户宏有以下四个主要特征:
1)在⽤户⽤户宏程序中可以使⽤变量,即宏程序体中能含有复杂的表达式;
2)能够进⾏变量之间的各种运算;
3)可以⽤⽤户宏指令对变量进⾏赋值,就象许多⾼级语⾔中的带参函数或过程,实参能赋值给形参;
4)容易实现程序流程的控制。
使⽤⽤户宏时的主要⽅便之处在于由于可以⽤变量代替具体数值,因⽽在加⼯同⼀类的⼯件时.只得将实际的值赋予变量既可,⽽不需要对每个不同的零件都编⼀个程序。
下⾯再以⼀个⽰意性的例⼦来说明⽤户宏的概念。
当图 1-1中 A、B、U、V的尺⼨分别为 A=20、B=10、U=40、V=20时,
其程序为:
O1;
G9l G00 X20.0 Y10.0;
G01 Y10.0;
X40.0;
Y-20.0;
X-40.0;
G00 X-20.0 Y-10.0;;
但是当图中 A、B、U、V尺⼨变化时则⼜需要编⼀个类似的程序。
实际上,我们可以将程序写为:
O1;
G91 G00 XA YB;
G01Y V;
XU;
Y-V;
X-U;
G00 X-A Y-B;
此时可以将其中变量,⽤⽤户宏中的变量#i代替,⽽字母与#i的对应关
系为:
A——#1
B—— #2
U—— #21
调用子程序的例子V—— #22
则⽤户宏程序即可写成如下形式
09801;
G9l G00 X#l Y#2;
G01 Y#22;
X#21
Y-#22;
X-#21;
G00 X-#1 Y-#2;
M99;
使⽤时就可以⽤下述⽤户宏指令来调⽤:
G65 P9801 A20.0 B10.0 U40.0 V20.0;
由于地址码 A、B、U、V分别与变量#1、#2、#21、#22有着⼀定的对应关系,执⾏以上⽤户宏调⽤程序段时,实际数值就会将被赋予给对应的变量,其对应结果为#1=20.0,#2=10.0,#21=40.0,#22=20.0;然后被调⽤的⽤户宏程序再按所得到的变量值在宏程序中进⾏运算或执⾏指令,结束后返回主程序。
如上述所⽰,当加⼯同⼀类,但只是尺⼨不同的⼯件时,只需改变⽤户宏命令的数值即可,⽽没有必要针对每⼀个零件都编⼀个程序。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。