1.宏变量
在常规的主程序和子程序内,总是将一个具体的数值赋给一个地址。为了使程序更具通用性、更加灵活,在宏程序中设置了变量。
(1)变量的表示 变量可以用“#”号和紧跟其后的变量序号来表示:#i(i=1,2,3…)。
例如:#5,#109,#501。
(2)变量的引用 将跟随在一个地址后的数值用一个变量来代替,即引入了变量。
例如:对于F[#103],若#103=50时,则为F50;
对于Z[-#110],若#110=100时,则为Z-100;
对于G[#130],若#130=3时,则为G03。
(3)变量的类型 华中数控系统的变量分为公共变量和系统变量两类。
1)公共变量:公共变量又分为全局变量和局部变量。全局变量是在主程序和主程序调用的各用户宏程序内都有效的变量。也就是说,在一个宏指令中的#i与在另一个宏指令中的#i是相同的。局部变量仅在主程序和当前用户宏程序内有效。也就是说,在一个宏指令中的#i与在另一个宏指令中的#i是不一定相同的。
全局变量的序号为:#50~#199
当前局部变量的序号为:#0~#49
0层局部变量的序号为:#200~#249
1层局部变量的序号为:#250~#299
2层局部变量的序号为:#300~#349
3层局部变量的序号为:#350~#399
4层局部变量的序号为:#400~#449
5层局部变量的序号为:#450~#499
6层局部变量的序号为:#500~#549
7层局部变量的序号为:#550~#599
华中数控系统可以子程序嵌套调用,调用的深度最多可以有九层。每一层子程序都有自己独立的局部变量,变量个数为50。如当前局部变量为#0~#49;第一层局部变量为#200~#249;第二层局部变量为#250~#299;第三层局部变量为#300~#349;依此类推。
2)系统变量:系统变量定义为有固定用途的变量,它的值决定系统的状态。系统变量包括刀具偏置变量、接口的输入/输出信号变量、位置信号变量等。
例如:#600~#699 刀具长度寄存器H0~H99
#700~#799 刀具半径寄存器D0~D99
#800~#899 刀具寿命寄存器
#1000机床当前位置X #1001机床当前位置Y #1002机床当前位置Z
#1003机床当前位置A #1004机床当前位置B #1005机床当前位置C
#1006机床当前位置U #1007机床当前位置V #1008机床当前位置W
#1009保留 #1010程编机床位置X#1011程编机床位置Y
#1012程编机床位置Z #1013程编机床位置A #1014程编机床位置B
#1015程编机床位置C #1016程编机床位置U #1017程编机床位置V
#1018程编机床位置W #1019保留 #1020程编工件位置X
#1021程编工件位置Y #1022程编工件位置Z #1023程编工件位置A
#1024程编工件位置B #1025程编工件位置C #1026程编工件位置U
#1027程编工件位置V #1028程编工件位置W #1029保留
#1030当前工件零点X #1031当前工件零点Y #1032当前工件零点Z
#1033当前工件零点A #1034当前工件零点B #1035当前工件零点C
#1036当前工件零点U #1037当前工件零点V #1038当前工件零点W
#1039保留 #1040 G54零点X #1041 G54零点Y
#1042 G54零点Z #1043 G54零点A #1044 G54零点B
#1045 G54零点C #1046 G54零点U #1047 G54零点V
#1048 G54零点W #1049保留 #1050 G55零点X
#1051 G55零点Y #1052 G55零点Z #1053 G55零点A
#1054 G55零点B #1055 G55零点C #1056 G55零点U
#1057 G55零点V #1058 G55零点W #1059保留
#1060 G56零点X #1061 G56零点Y #1062 G56零点Z
#1063 G56零点A #1064 G56零点B #1065 G56零点C
#1066 G56零点U #1067 G56零点V #1068 G56零点W(www.xing528.com)
#1069保留 #1070 G57零点X #1071 G57零点Y
#1072 G57零点Z #1073 G57零点A #1074 G57零点B
#1075 G57零点C #1076 G57零点U #1077 G57零点V
#1078 G57零点W #1079保留 #1080 G58零点X
#1081 G58零点Y #1082 G58零点Z #1083 G58零点A
#1084 G58零点B #1085 G58零点C #1086 G58零点U
#1087 G58零点V #1088 G58零点W #1089保留
#1090 G59零点X #1091 G59零点Y #1092 G59零点Z
#1093 G59零点A #1094 G59零点B #1095 G59零点C
#1096 G59零点U #1097 G59零点V #1098 G59零点W
#1099保留 #1100中断点位置X #1101中断点位置Y
#1102中断点位置Z #1103中断点位置A #1104中断点位置B
#1105中断点位置C #1106中断点位置U #1107中断点位置V
#1108中断点位置W #1109坐标系建立轴 #1110 G28中间点位置X
#1111 G28中间点位置Y #1112 G28中间点位置Z #1113 G28中间点位置A
#1114 G28中间点位置B #1115 G28中间点位置C #1116 G28中间点位置U
#1117 G28中间点位置V #1118 G28中间点位置W #1119 G28屏蔽字
#1120镜像点位置X #1121镜像点位置Y #1122镜像点位置Z
#1123镜像点位置A #1124镜像点位置B #1125镜像点位置C
#1126镜像点位置U #1127镜像点位置V #1128镜像点位置W
#1129镜像屏蔽字 #1130旋转中心(轴1) #1131旋转中心(轴2)
#1132旋转角度 #1133旋转轴屏蔽字 #1134保留
#1135缩放中心(轴1) #1136缩放中心(轴2) #1137缩放中心(轴3)
#1138缩放比例 #1139缩放轴屏蔽字 #1140坐标变换代码1
#1141坐标变换代码2 #1142坐标变换代码3 #1143保留
#1144刀具长度补偿号 #1145刀具半径补偿号 #1146当前平面轴1
#1147当前平面轴2 #1148虚拟轴屏蔽字 #1149进给速度指定
#1150 G代码模态值0 #1151 G代码模态值1 #1152 G代码模态值2
#1153 G代码模态值3 #1154 G代码模态值4 #1155 G代码模态值5
#1156 G代码模态值6 #1157 G代码模态值7 #1158 G代码模态值8
#1159 G代码模态值9 #1160 G代码模态值10 #1161 G代码模态值11
#1162 G代码模态值12 #1163 G代码模态值13 #1164 G代码模态值14
#1165 G代码模态值15 #1166 G代码模态值16 #1167 G代码模态值17
#1168 G代码模态值18 #1169 G代码模态值19 #1170剩余CACHE
#1171备用CACHE #1172剩余缓冲区 #1173备用缓冲区
#1174保留 #1175保留 #1176保留
#1177保留 #1178保留 #1179保留
#1180保留 #1181保留 #1182保留
#1183保留 #1184保留 #1185保留
#1186保留 #1187保留 #1188保留
#1189保留 #1190用户自定义输入 #1191用户自定义输出
#1192自定义输出屏蔽 #1193保留 #1194保留
2.常量
类似于高级编程语言中的常量,在用户宏程序中也具有常量。在华中数控系统中的常量主要有三个:
PI:圆周率
TRUE:条件成立(真)
FALSE:条件不成立(假)
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。