1     免责声明

本使用手册及样例包目录内所包含文档、PLC程序、机床可执行程序(MPF、SPF、…)、电气图,可能与用户实际使用不同,用户可能需要先对例子程序做修改和调整,才能将其用于测试。本例程的作者和拥有者对于该例程的功能性和兼容性不负任何责任,使用该例程的风险完全由用户自行承担。由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。

对于在使用中发生的人员、财产损失本公司不承担任何责任,由使用者自行承担风险。

以上声明内容的最终解释权归西门子(中国)有限公司所有,后续内容更新不做另行通知。

2     概述

在执行连续轨迹方式(G61/G641)的程序段中,如果出现M代码时,会为前面的程序段产生一次准停,并且中断连续轨迹方式。可以通过设定M代码的输出类型解决这个问题。

3     要求

3.1      硬件要求

        828D/840D sl

4     调试或使用步骤

4.1      定义需要的M代码的数量

        N11100  $MN_AUXFU_MAXNUM_GROUP_ASSIGN

4.2      定义M代码的类型

        N22000  $MC_ AUXFU_ ASSIGN_GROUP

        N22010  $MC_ AUXFU_ ASSIGN_TYPE

        N22030  $MC_ AUXFU_ ASSIGN_VALUE

        N22035  $MC_ AUXFU_ ASSIGN_SPEC

 

5     应用举例

在执行连续轨迹方式的同时输出M50(开气)或M51(关气)、M60(开激光)或M61(关激光)

5.1      定义需要的代码的数量  

        N11100  $MN_AUXFU_MAXNUM_GROUP_ASSIGN=4

5.2      定义代码的功能组

        N22000[0]  $MC_ AUXFU_ ASSIGN_GROUP=10

      N22000[1]  $MC_ AUXFU_ ASSIGN_GROUP=10

      N22000[2]  $MC_ AUXFU_ ASSIGN_GROUP=11

      N22000[3]  $MC_ AUXFU_ ASSIGN_GROUP=11

5.3      定义代码的功能类型     

        N22010[0]  $MC_ AUXFU_ ASSIGN_TYPE=M

      N22010[1]  $MC_ AUXFU_ ASSIGN_TYPE=M

      N22010[2]  $MC_ AUXFU_ ASSIGN_TYPE=M

      N22010[3]  $MC_ AUXFU_ ASSIGN_TYPE=M

5.4      定义M代码的值

        N22030[0]  $MC_ AUXFU_ ASSIGN_VALUE=50

        N22030[1]  $MC_ AUXFU_ ASSIGN_VALUE=51

        N22030[2]  $MC_ AUXFU_ ASSIGN_VALUE=60

        N22030[3]  $MC_ AUXFU_ ASSIGN_VALUE=61

5.5      定义M代码的输出方式

        N22035[0]  $MC_ AUXFU_ ASSIGN_SPEC=40H

        N22035[1]  $MC_ AUXFU_ ASSIGN_SPEC=40H

        N22035[2]  $MC_ AUXFU_ ASSIGN_SPEC=40H

        N22035[3]  $MC_ AUXFU_ ASSIGN_SPEC=40H


image.png


5.5      程序编写举例

image.png

       

5.7      补充说明

        当需要在同一程序段中,同时输出2个以上对的M代码时(如上面的程序举例中N30),就必须把这些M代码(如上面的程序举例N30中的M50和M60)设在不同的功能组(N22000[0]  $MC_ AUXFU_ ASSIGN_GROUP=10、N22000[2]  $MC_ AUXFU_ ASSIGN_GROUP=11),如果设在同一功能组的话,系统在执行这句程序段时会14716报警。

        当使用程序段搜索时,希望如上面的程序举例中搜索到程序N60时,在M50(开气)和M51(关气)中只有M51(关气)有输出的话,就必须把M50和M51设在同一功能组(N22000[0]  $MC_ AUXFU_ ASSIGN_GROUP=10、N22000[1]  $MC_ AUXFU_ ASSIGN_GROUP=10),否则系统会同时输出M50(开气)和M51(关气);M60(开激光)和M61(关激光)同样如此。

  

 

6     参考文献

1.     SINUMERIK 840D sl/828D 基础部分 编程手册, 10/2015

7     作者/联系人

Xie Yong Qiang

2019.10.22

8     版本信息

版本

日期

修改内容

V1.0

2019.10.22