技术论坛

请教:“循环”和子程序的区别?

作者 主题
侠客

经验值: 647
发帖数: 257
精华帖: 0
主题:【求助】请教:“循环”和子程序的区别?
推荐帖


只看楼主 楼主 2021-12-30 22:49:53

请教:“循环”和子程序的区别?


 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1742041&b_id=20&s_id=0&num=15

奇侠

经验值: 6251
发帖数: 658
精华帖: 2
回复:请教:“循环”和子程序的区别?
推荐帖


只看楼主 1楼 2021-12-31 08:44:01

循环比子程序功能更全面点,循环可以用用户界面来传递变量,操作比较直观,而子程序就没有这个功能。


每天进步一点点
以下网友喜欢您的帖子:

  
版主

经验值: 38721
发帖数: 10357
精华帖: 72
回复:请教:“循环”和子程序的区别?


只看楼主 2楼 2021-12-31 21:03:51

都是NC程序的一种方式,循环一般是比较简单的重复,子程序就不一定了,更灵活一些。


西门子的多年使用者http://yinshenren.ys168.com/、
以下网友喜欢您的帖子:

  
侠客

经验值: 647
发帖数: 257
精华帖: 0
回复:请教:“循环”和子程序的区别?


只看楼主 楼主 3楼 2022-01-02 15:24:42
使用时二者有区别吗
 
以下网友喜欢您的帖子:

  
侠客

经验值: 647
发帖数: 257
精华帖: 0
回复:请教:“循环”和子程序的区别?


只看楼主 楼主 4楼 2022-01-02 15:25:47
子程序不能吗
 
以下网友喜欢您的帖子:

  
奇侠

经验值: 8123
发帖数: 1006
精华帖: 5
回复:请教:“循环”和子程序的区别?


只看楼主 5楼 2022-01-02 18:04:43

没有太大区别,习惯而已。


 
以下网友喜欢您的帖子:

  
侠客

经验值: 647
发帖数: 257
精华帖: 0
回复:请教:“循环”和子程序的区别?


只看楼主 楼主 6楼 2022-01-03 11:35:00
“用户界面”是操作面板的R参数界面吗
 
以下网友喜欢您的帖子:

  
奇侠

经验值: 8123
发帖数: 1006
精华帖: 5
回复:请教:“循环”和子程序的区别?


只看楼主 7楼 2022-01-05 08:21:43

 有可能不是,用户界面是制造商为了机床某些功能或者应用编写的,区别于标准界面。其位置看制造商编写放的位置。建议看制造商编写的说明书。


 
以下网友喜欢您的帖子:

  
游士

经验值: 154
发帖数: 22
精华帖: 0
回复:请教:“循环”和子程序的区别?


只看楼主 8楼 2022-01-10 20:38:58

循环指令是系统厂家做好的做某个简单工序的宏程序,如G81等。

子程序是可以自己编写的针对具体遇到的工序的宏程序,如G65


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1533
发帖数: 185
精华帖: 2
回复:请教:“循环”和子程序的区别?


只看楼主 9楼 2022-01-16 10:35:47

楼主说的循环是指西门子的标准循环吗?如果是的话,循环其实就是一个程序名为CYCLExxx(xxx为数字)的带参数传递子程序,是西门子的工程师按应用场景编制好的子程序,并能能通过修改HMI界面来达到参数传递的效果。当你运用循环编程设置好一个循环后,实际上是把你设置的各个参数对应到子程序的参数列表中。因此,当你设置和接收一个循环后,在你的程序中实际上是生成了一段带参数传递子程序调用的代码。CYCLExxx的括号中就是子程序的参数列表,每个参数直接用逗号“,”分隔开,在子程序中庸PROC CYCLEXXX()的语句来定义子程序为带参数传递的子程序和变量列表,改语句必须放在程序的开头。如下图高亮显示部分。


循环的子程序都在标准循环的路径下面,如下图:



 
以下网友喜欢您的帖子:

  
侠客

经验值: 647
发帖数: 257
精华帖: 0
回复:请教:“循环”和子程序的区别?


只看楼主 楼主 10楼 2022-01-17 19:12:33
十分感谢。循环其实就是一个程序名为CYCLExxx(xxx为数字)的带参数传递子程序,
 
以下网友喜欢您的帖子:

  
至圣

经验值: 15532
发帖数: 1735
精华帖: 0
回复:请教:“循环”和子程序的区别?


只看楼主 12楼 2022-09-20 09:47:03
以下是引用工控一阳指King在2022-01-16 10:35:47的发言 >9楼

楼主说的循环是指西门子的标准循环吗?如果是的话,循环其实就是一个程序名为CYCLExxx(xxx为数字)的带参数传递子程序,是西门子的工程师按应用场景编制好的子程序,并能能通过修改HMI界面来达到参数传递的效果。当你运用循环编程设置好一个循环后,实际上是把你设置的各个参数对应到子程序的参数列表中。因此,当你设置和接收一个循环后,在你的程序中实际上是生成了一段带参数传递子程序调用的代码。CYCLExxx的括号中就是子程序的参数列表,每个参数直接用逗号“,”分隔开,在子程序中庸PROC CYCLEXXX()的语句来定义子程序为带参数传递的子程序和变量列表,改语句必须放在程序的开头。如下图高亮显示部分。


循环的子程序都在标准循环的路径下面,如下图:


9楼解释的很清晰!


海纳百川,厚德务实!
以下网友喜欢您的帖子:

  
侠圣

经验值: 2757
发帖数: 184
精华帖: 5
回复:请教:“循环”和子程序的区别?


只看楼主 13楼 2022-09-23 12:14:21

循环程序和子程序在程序本质上没有区别。

只不过循环程序放在了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



I AM WHO I AM. wade407@163.com
以下网友喜欢您的帖子:

  
侠客

经验值: 647
发帖数: 257
精华帖: 0
回复:请教:“循环”和子程序的区别?


只看楼主 楼主 14楼 2022-09-24 16:02:44
十分感谢!
 
以下网友喜欢您的帖子:

  
侠士

经验值: 1677
发帖数: 296
精华帖: 0
回复:请教:“循环”和子程序的区别?


只看楼主 15楼 2022-09-26 15:59:08

学到了感谢大神分享


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1190
发帖数: 157
精华帖: 0
回复:请教:“循环”和子程序的区别?


只看楼主 16楼 2022-09-26 16:13:31

完全是2个东西


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
请教:“循环”和子程序的区别?
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。