怎么才能让你的子程序编写的更专业呢?本期给大家介绍一下西门子带形式参数的子程序的用法。 1.首先可以在用户循环里新建一个带参数的子程序, 在系统目录里找到:NC数据 -> 循环 -> 用户循环。新建子程序AAA。 子程序内容如下: PROC AAA ( REAL POSX, STRING[10] TEXT1 ) SAVE ;定义包含两个参数的子程序AAA,并保存子程序运行前的程序状态。 ;第一个是实数型参数POSX,第二个是字符串型参数TEXT1,长度为10个字符。 MSG(<<TEXT1<<POSX<<' mm') ; 在HMI上显示提示信息,变量前要加<<,文本加在” ”之中 M1 ; 有条件暂停 G91 G01 F3000 X=POSX ; 增量进给,X轴移动距离等于POSX的数值 RET ;子程序结束,返回调用的主程序 关闭子程序AAA,必须做一次NCK复位才能调用。 2.建立主程序 在零件程序目录里新建主程序ASD,主程序内容如下: AAA(-100.001, 'X 移动 ') ;调用子程序AAA ;参数POSX赋值为-100.001 ;参数TEXT1赋值为“X 移动” M30 ;程序结束 3.运行主程序,调用子程序,程序运行时,在程序控制里选中M01有条件停止,以便观察程序运行结果。
第二次程序启动,走G91 G01F3000 X=-100.001。 程序中用到的相关指令: PROC:带参数子程序开头 SAVE:保存程序当前状态 DEF:定义变量 INT:整型变量 REAL:实数型变量 CHAR:字符型变量,只能包含一个字符 STRING[n]:字符串型变量,[ ]里要填入整数,代表字符串包含几个字符 BOOL:布尔型变量 MSG():在HMI上显示提示信息 RET:子程序结束,返回调用的主程序。与M17的区别在于G64生效时编程路径不会中断 |
|
来自: LiuShouling > 《西门子》