故事作者:第7代CNC

最近创作

看看TA的故事

预定义用户变量及应用

已锁定

第7代CNC

  • 帖子

    906
  • 精华

    3
  • 被关注

    96

论坛等级:奇侠

注册时间:2009-11-29

钻石 钻石 如何晋级?

预定义用户变量及应用

1623

1

2021-11-04 20:52:31

         预定义用户变量是在SINUMERIK系统中预先定义好的变量,其数量通过对专门的机床数据进行参数设定后确定。它可细分为计算参数(R参数,下同)和链接变量。

        (1) R参数

        R参数是名称为R的预定义用户变量,是被定义为REAL(即实数)等数据类型的数组或表达式。

        在SINUMERIK 828D/840D/840Dsl系统中,R参数的个数经通道专用机床数据MD28050($MC_MM_NUM_R_PARAM)给定,设定范围为0~32535,例如Oerlikon C50型螺旋锥齿轮切齿机中MD28050=1200。

        在SINUMERIK 802D/802Dsl/808D系统中,R参数的个数通常为300个——R0~R299,其中R0~R99为程序中自由使用的自由参数,R100~R249为加工循环传递参数,R250~R299为加工循环内部计算参数,R100~R299在程序未使用加工循环时也可自由使用。

        1) R参数的功能。在用R参数编写出包含逻辑计算公式的“宏程序(子程序)”后,CNC会根据R参数值的条件,多次调用执行该“宏程序(子程序)”,从而使得零件程序简明精炼、计算准确无误,并实现结构类似零件和复杂图形零件(如非圆曲线)的便利加工。

        2) R参数的句法形式。在R参数作为预处理变量使用(如零件程序中)时,可带数组索引编写——R[n],也可不带数组索引编写——R<n>;还可用表达式代替数组索引,此时须将表达式放在方括号“[ ]”内,句法形式为R[<表达式>],如R[(R1+R2)*R3]。 

        在R参数作为主运行变量使用(如同步动作)时,必须写入字符“$”作为前缀,其句法形式分别为$R<n>和$R[<表达式>]。

       在R<n>中,数组索引<n>代表R参数的编号,其数据类型为INT(即带+、-符号的整数值),取值范围为0~MAX_INDEX。其中,MAX_INDEX=R参数个数-1=MD28050-1。

        在R[<表达式>]中,<表达式>在其结果能够被转换为数据类型INT时,可设定任意表达式作为数组索引(INT、REAL、逻辑值BOOL、ASCII字符CHAR)。

        3) R参数的取值范围。

        在非指数写入方式中,R参数的取值范围为±(0.000 0001~9999 9999),小数点后位数不可超过8位,整数时小数点可去掉,正数的“+”可省略。例如,R0=3.5678,R[1]=-37.3,R4=-45678.123。

        在“<底数>EX<指数>”的指数写入方式中,R参数的取值范围为±(1*10-300~1*10+300),指数值写在符号EX之后;包含符号和小数点在内的字符数不可超过10。例如,R0=-0.1EX-5表示R0=-0.000 001,R1=1.874EX8表示R1=187 400 000。

        (2) 链接变量    在SINUMERIK 828D/840D/840Dsl系统中,使用系统全局用户变量性质的链接变量,可在“NCU链接”功能有效的范围内,循环交换一个网络中相连的多个NCU之间的数据,以快速访问(读取或写入)链接变量存储器中特定格式的数据,如零件程序段、加工循环、全局机床状态及夹具松开/闭合等。在“NCU链接”功能无效时,链接变量可作为CNC系统本地全局用户变量使用,其内容、类型和应用多由机床制造商确定。当然,链接变量也可在同步动作中使用。

1) 链接变量的句法形式,见表。

表  SINUMERIK 828D/840D/840Dsl系统中链接变量的句法形式

No.                      句法形式                         句法含义                                           取值范围

1                       $A_DLB[<i>]              数据格式为BYTE(1字节)                         0~255

                                                            的链接变量,其数据类型为INT

                                                         i=n*1字节=0,1,2,…,MAX_INDEX

2                       $A_DLW[<i>]         数据格式为WORD(2字节)的链接          -32768~32767

                                                         变量,其数据类型为INT

                                                    i=n*2字节=0,2,4,…,MAX_INDEX

3                      $A_DLD[<i>]        数据格式为DWORD(4字节)的链接     -2147483648~

                                                     变量,其数据类型为INT                          2147483647

                                                    i=n*4字节=0,4,8,…,MAX_INDEX   

4                         $A_DLR[<i>]      数据格式为REAL(8字节)的链接变量,  ±(4.19*10-308~

                                                      其数据类型为REAL                                  1.8*10+308)

                                                    i=n*8字节=0,8,16,…,MAX_INDEX

   说明:n=0,1,2,…。MAX_INDEX由通用机床数据MD18700($MN_MM_SIZEOF_LINKVAR_DATA)设定的NCU链接变量存储器大小得出,MAX_INDEX=MD18700-1。

    

        2) 链接变量应用示例。

        某大型数控机床配置了SINUMERIK 840Dsl系统,并装有NCU1和NCU2两个NCU。

        其中,NCU1已激活了机床轴AX2,NCU2已将AX2轴作为链接轴运行,NCU链接变量存储器大小的设定参数MD18700=24,即MAX_INDEX=24-1=23。

        ① 在CNC执行程序给定的单独程序段“N110 IDS=1 WHENEVER TRUE DO $A_DLR[16]=$VA_CURR[AX2]”时,NCU1会在静态同步动作的IPO周期中,通过数据格式为REAL(8字节)的链接变量$A_DLR[16],将AX2轴的电流实际值($VA_CURR)循环写入链接变量存储器内。IDS=1表示静态同步动作在所有工作方式中模态有效;指令WHENEVER是在每个插补节拍中对条件(如TRUE)进行循环检查,一旦条件满足则在每个插补节拍中执行相应的动作(如DO…);指令DO是在条件满足时执行同步动作中的1个动作或工艺循环。

        ② 在CNC执行程序给定的单独程序段“N220 IDS=1 WHEN $A_DLR[16]>23.0 DO SETAL(65000)”时,NCU2会在静态同步动作的IPO周期中,通过数据格式为REAL(8字节)的链接变量$A_DLR[16],循环读取链接变量存储器内AX2轴的电流实际值;若电流实际值大于23A,则屏显用户循环报警65000。指令WHEN是在每个插补节拍中对条件(如$A_DLR[16]>23.0)进行查询,直至该条件被满足时查询停止,并将相应的动作(如DO…)执行1次;指令SETAL用于同步动作中故障应答的编程,其后紧跟取值范围在65000~69999之内的<报警编号>。

预定义用户变量及应用 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

网友专栏

共有3376条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。