1. 首页
  2. 技术文章

西门子 | 用户变量定义你知道多少?

在SINUMERIK数控系统中,用户变量可以分为如下几种:

 

  • GUD 全局变量,可以在所有NC程序中使用
  • LUD     局部变量,只能在定义变量的程序中使用
  • PUD    全局变量,需要定义在主程序中,通过参数设置将定义在主程序中的  LUD变量转变为了PUD变量,这样,所有的子程序和主程序都能使用。

 

1. 关于GUD变量的描述,请参考如下文章:

西门子全局变量GUD建立(一)

西门子全局变量GUD建立(二)

西门子全局变量GUD建立(三)

 

2. 关于LUD和PUD变量,通过设置参数MD11120=1可以激活程序全局变量的扩展,即实现主程序中定义的变量由LUD转变为PUD。

西门子用户变量定义你知道多少?

可以在系统参数界面下的用户变量界面查看LUD(局部用户变量)与PUD(程序用户变量)的变化(下文示例中可见),注意只有程序运行时才能查看变量的实际状态。

 

举个简单的应用例子给大家(设置了参数MD11120=1),供您参考。其中包括一个主程序WK.mpf,两个子程序SUB2.spf 和SUB3.spf,运行主程序时,不同的用户变量,在主程序、子程序及它们之间会有不同的意义。

 

主程序: WK.mpf

 

PROC MAIN ;定义主程序

DEF INT VAR1 ;VAR1作为PUD定义(如果是在子程序中就是LUD),如下图所示

G91G01X1000F200

SUB2  ;调用子程序SUB2

G91G01Y1000F200

M30

西门子用户变量定义你知道多少?

 

子程序1: SUB2.spf

 

PROC SUB2 ;定义子程序

DEF INT VAR2 ;VAR2作为LUD定义,如下图所示

G91G01Z1000F200

IF (VAR1==0) ;读取主程序中定义的PUD

VAR1=VAR1+1

VAR2=1 ;操作本程序中的LUD

ENDIF

SUB3 ;调用子程序SUB3

G01G90X0F1000

M17

西门子用户变量定义你知道多少?

 

子程序2: SUB3.spf

 

PROC SUB3  ;定义子程序

G90G01Y0F1000

IF (VAR1==1) ;读取主程序中定义的PUD

VAR1=VAR1+1

VAR2=2 ;注意因为VAR2是LUD(局部变量),在实际运行时就会出现报警,如下图所示

ENDIF

G90G01Z0F1000

M17

西门子用户变量定义你知道多少?

 

 
问答社区  发起问答  报警查询  技术文章  维修服务  资料下载  加交流群  申请 VIP   

本文转载来自【公众号:Siemens数控技术应用】,仅供大家学习交流,如侵权请联系站长删文。

发表评论

登录后才能评论

联系我们

在线咨询:点击这里给我发消息

联系微信:QQ594673193

联系邮箱:594673193@qq.com

工作时间:08:00~20:00

QR code