恭喜,你发布的帖子
发布于 2022-09-23 12:14:21
13楼
循环程序和子程序在程序本质上没有区别。
只不过循环程序放在了NC数据的循环文件夹里,NC启动的时候扫描到了这个程序,在后期调用时不需要使用EXTERN声明这是个带参数传递的子程序!这也是为什么第一次把循环程序放在循环里之后直接在加工程序里调用不能用的原因。
如果这个循环程序不放在循环文件夹里,放在子程序文件夹里,那么调用这个程序前必须声明他是带参数传递性质的子程序。
//////////////////////////////////////////////////////////////
举个“栗子”,DFGDS.SPF是带参数传递的子程序(传递的参数分别有8字节字符串、整数、实数、布尔),
DFGDS.SPF的内容大概如下:
;_N_DFGDS_SPF
PROC DFGDS(STRING[8] _Name,INT _Number,REAL _Data, BOOL _Err)
...
RET
下面我在POIUY.MPF的加工程序里调用它。
(1)DFGDS.SPF放在子程序文件夹内,NC不需要重启。
;$PATH=/_N_MPF_DIR
;_N_POIUY_MPF
EXTERN DFGDS(STRING[8],INT,REAL,BOOL)
...
DFGDS(TEST,101,3.14159,0)
...
M30
(2)DFGDS.SPF放在循环文件夹内,第一次放NC需要重启。
;$PATH=/_N_MPF_DIR
;_N_POIUY_MPF
...
DFGDS(TEST,101,3.14159,0)
...
M30
请填写推广理由:
分享
只看
楼主