首页 理论教育 宏变量与常量:巧妙掌握的实用技巧

宏变量与常量:巧妙掌握的实用技巧

时间:2023-06-25 理论教育 版权反馈
【摘要】:变量的表示 变量可以用“#”号和紧跟其后的变量序号来表示:#i(i=1,2,3…1)公共变量:公共变量又分为全局变量和局部变量。局部变量仅在主程序和当前用户宏程序内有效。2)系统变量:系统变量定义为有固定用途的变量,它的值决定系统的状态。

宏变量与常量:巧妙掌握的实用技巧

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:条件不成立(假)

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈