主程序调用子程序,程序如下,这样调用不会报错。
问题:
1、但是我不想用EXTERN这一句,我看手册里写了,把子程序放到循环目录下,主程序调用时就不需要用EXTERN声明。
我是把子程序放到了循环下的“用户循环”目录下了,但是不用EXTERN还是会报错子程序未定义或找不到。这是为什么啊,我放到“制造商循环”下试了,也没用。
2、还有个奇怪现象,主程序里EXTERN必须要在程序头才行,如果我在EXTERN前面加一行G90G1G94之类的,都会报错,不知道为什么,报错内容不记得了。
主程序:
EXTERN ABC_VERIFY_GL(REAL)
ABC_VERIFY_GL(7.20)
G4F10
M2
子程序:
PROC ABC_VERIFY_GL(REAL GL) SAVE SBLOF
DEF REAL Z_MINUS_LIMIT, Z_PLUS_LIMIT, ACT_LENGTH, DELTA_LENGTH
Z_MINUS_LIMIT = -0.01
Z_PLUS_LIMIT = 0.01
ACT_LENGTH = $TC_DP3[$P_TOOLNO,1]
DELTA_LENGTH = ACT_LENGTH - GL
IF (DELTA_LENGTH > Z_MINUS_LIMIT) AND (DELTA_LENGTH < Z_PLUS_LIMIT)
GOTOF N9999
ELSE
MSG(" TOOL LENGTH ERROR!!!!!!!!!!!")
M0
MSG(" TOOL LENGTH ERROR!!!!!!!!!!!")
M0
ENDIF
N9999 RET