故事作者:第7代CNC

最近创作

看看TA的故事

系统变量的引用与赋值

已锁定

第7代CNC

  • 帖子

    921
  • 精华

    3
  • 被关注

    97

论坛等级:奇侠

注册时间:2009-11-29

钻石 钻石 如何晋级?

系统变量的引用与赋值

2602

1

2021-11-10 00:04:20

       在SINUMERIK 802D/802Dsl/808D/810D/828D/840D/840Dsl等系统中,用户宏程序全部采用变量形式的参数化编程。与FANUC、MITSUBISHI等系统的宏程序相比,虽然参数化编程的变量类型、系统变量、变量赋值和宏程序调用等方面存在许多不同,但彼此的编程思路(即在程序内使用参数/变量赋值与数学逻辑处理)和应用目的(即简化程序的编制、扩大程序的通用性、节省刀位数据的计算时间等)大致相同。

        SINUMERIK系统的宏程序编程中,带有前缀形式的系统变量可读取和写入CNC运行时各种数据的变化。

        系统变量既可被直接引用在赋值号“=”左侧,通过“=”右侧的数值、变量、字符串或表达式进行赋值;也可被直接或间接引用在“=”右侧,直接对“=”左侧赋值,或经运算处理后间接赋值。

         通常,系统变量不同,其赋值类型、赋值长度等要求也不同。SINUMERIK系统宏程序中系统变量引用与赋值的示例,见表。

表  SINUMERIK系统宏程序中系统变量引用与赋值的示例

No.                                    宏程序段示例                                                宏程序段注释

1        $P_UIFR[1]=CTRANS(X,R201,Y,R202,Z,R203);        X、Y、Z轴的可编程工件原点(G54)

                                                                                             对应地精偏移至参数R201、R202和R203

                                                                                             处。其中$P_UIFR[n]为预定义框架变量,

                                                                                             在零件程序中读取或写入可设置的工件原

                                                                                             点偏移G54~G599;CTRANS为多个坐标

                                                                                             轴的可编程原点偏移指令。

2       $MC_GCODE_RESET_VALUES[45]=3;                      用作预处理变量的机床数据MD20150[45]

                                                                                             给定G代码组46的缺省值为LFPOS(向某

                                                                                            个位置轴向抬起指令)

3       IF $MC_CHAN_NAME=="Cutting";                          IF条件转移语句,$MC_CHAN_NAME设

                                                                                             定通道号为Cutting

         LFPOS;                                                                      向某个位置轴向抬起

         POLF[X]=AC($MA_POS_LIMIT_PLUS[X]-1);           给定X轴退至绝对指令方式下(MD36110

                                                                                             设定的X轴正向第1软限位值减去1mm)的

                                                                                             目标位置

         POLF[Z]=AC($MA_POS_LIMIT_PLUS[Z]-1);           给定Z轴退至绝对指令方式下(MD36110

                                                                                            设定的Z轴正向第1软限位值减去1mm)的

                                                                                            目标位置

         POLFMASK(X,Z);                                                       在轴之间没有关系的情况下,释放已指定

                                                                                             的回退轴X、Z

         ENDIF;                                                                       IF跳转的结束行

4        $AC_TIMER[3]=0;                                                    数据类型REAL的通道专用定时器3赋值0

          ID=44 EVERY   $VA_EG_SYNCDIFF[B]>=                 自动运行方式中模态有效同步动作44,

                      $R294/2.0 DO $AC_TIMER[3]=0;                 若输入端“B轴同步偏差≥$R294/2”,

                                                                                             则输出端的通道专用定时器3清零

          ID=45   WHENEVER ($VA_EG_SYNCDIFF[B]             自动运行方式中模态有效同步动作45,

                   >=$R294/2.0) OR   ($AC_TIMER[3]<             若输入端“B轴同步偏差≥$R294/2”,

                   0.5000) DO RDISABLE;                                   或“通道专用定时器3<0.5s”,

                                                                                            则经RDISABLE指令设定读入禁止,即

                                                                                            停止程序的继续执行.

   

 


系统变量的引用与赋值 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

网友专栏

共有3469条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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