一、B类宏程序
在FANUC0MD等老型号的系统面板上没有“+”、“一”、“×”、“/”、“=”、“[]”等符号,故不能进行这些符号输入,也不能用这些符号进行赋值及数学运算。所以,在这类系统中只能按A类宏程序进行编程。而在FANUC0i及其后(如FANUC18i等)的系统中,则可以输入这些符号,并运用这些符号进行赋值及数学运算,即按B类宏程序进行编程.

1、变量
B类宏程序的变量与A类宏程序的变量基本相似,主要区别有以下几个方面。
(1)变量的表示B类宏程序除可采用A类宏程序的变量表示方法外,还可以用表达式进行表示,但其表达式必须全部写入方括号“[]”中,程序中的圆括号“()”仅用于注释。
例#[#l+#2+lO]
当#1=lO,#2=100时,该变量表示#120。
(2)变量的引用引用变量也可以采用表达式。
例G01X[#l00-30.0]Y-#101F[#101+#103];
当#100=100.O,#101=50.O,#103=80.O时,上面语句即表示为G01X70.OY-50.OF130。
2、变量的赋值
(1)直接赋值变量可以在操作面板上用MDI方式直接赋值,也可在程序中以等式方式赋值,但等号左边不能用表达式。
例#100=100.0;
#100=30.O+20.O:
(2)引数赋值宏程序以子程序方式出现,所用的变量可在宏程序调用时赋值。
例G65P1000x100.0Y30.OZ20.0F100.0;
该处的X、Y、Z并不代表坐标字,F也不代表进给字,而是对应于宏程序中的变量号,变量的具体数值由引数后的数值决定。引数宏程序中的变量对应关系有两种,这两种方法可以混用,其中G、L、N、