CNC程序里,IF,ELSE,和ENDIF有点多,对应不上了?

大家好,我们有台840Dsl的铣床,其中有段CNC 程序是:
。。。。。。
N1660 IF ($A_DBB[353]==1)OR($A_DBB[354]==1)
N1670 IF ($A_DBB[353]==1)AND($A_DBB[354]==1) GOTOF TAKO_2 
N1680 IF $P_CHANNO==2
N1690 IF $A_DBB[354]==1 ;Stat.3 -> Spindle deactivated?  
N1700 GETD(X_31)
N1710 TRAILON(X_31,X)
N1720 ELSE
N1730 D0
N1740 GOTOF TAKO_2 ;ST02: Jump when SP deactivated
N1750 ENDIF
N1760 ENDIF
N1770 IF $P_CHANNO==3
N1780 IF $A_DBB[353]==1 ;Stat.2 -> Spindle deactivated?  
N1790 GETD(X_21)
N1800 TRAILON(X_21,X)
N1810 ELSE
N1820 D0
N1830 GOTOF TAKO_2 ;ST03: Jump when SP deactivated
N1840 ENDIF
N1850 ENDIF
N1860 ENDIF
。。。。。。
看完之后,有点分不清哪个IF对应哪个ELSE,哪个ENDIF了。

请朋友们给些好的(理解)办法或方式?比如ELSE是对应它上面最近的尚未配对的IF,但ENDIF怎么配对?

谢谢。

最佳答案

N1660 IF ($A_DBB[353]==1)OR($A_DBB[354]==1)
N1670     IF ($A_DBB[353]==1)AND($A_DBB[354]==1) GOTOF TAKO_2 
N1680     IF $P_CHANNO==2
N1690          IF $A_DBB[354]==1 ;Stat.3 -> Spindle deactivated?  
N1700               GETD(X_31)
N1710              TRAILON(X_31,X)
N1720          ELSE
N1730               D0
N1740               GOTOF TAKO_2 ;ST02: Jump when SP deactivated
N1750          ENDIF
N1760      ENDIF
N1770      IF $P_CHANNO==3
N1780          IF $A_DBB[353]==1 ;Stat.2 -> Spindle deactivated?  
N1790              GETD(X_21)
N1800              TRAILON(X_21,X)
N1810          ELSE
N1820                D0
N1830               GOTOF TAKO_2 ;ST03: Jump when SP deactivated
N1840          ENDIF
N1850      ENDIF
N1860 ENDIF

提问者对于答案的评价:
谢谢,现在清楚多了。当时我错把:

N1670     IF ($A_DBB[353]==1)AND($A_DBB[354]==1) GOTOF TAKO_2 
N1680     IF $P_CHANNO==2

当成从属关系了。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc304234.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日
下一篇 2020年10月31日

相关推荐

  • 等待:轴进给值为零

    802C的系统,才开始调试阶段。第四根进给轴在操作的时候,MDA或者AUTO方式执行代码的时候,该轴可以正常动作。但是切换到手动方式的时候移动该轴会显示“等待:轴进给值为零”信息,…

    SINUMERIK 2017年11月13日
  • 关于宏应用

    谁给简单指导一下宏的应用 最佳答案 功能作为宏指令,是指单个的指令组合成一个新的总指令,带自己的名称。G-,M-和H-功能或者L-子程序名也可以作为宏指令编制。在程序运行中调用该宏…

    SINUMERIK 2018年3月6日
  • 西门子840DSL NCU LED3-4-6循环显示,是何问题?

    西门子840DSL  NCU LED3-4-6循环显示,是何问题? 问题补充:NC及PLC的备份无法恢复 图片说明:    最佳答…

    2017年6月1日
  • 802C系统所走行程与指令不符

    系统802C立式车床因参数丢失,而且没有做数据存储,因此在恢复参数后发现所走与指令不符,螺距与传动比是对的不知道还有什么原因? 最佳答案 按楼主所述是参数丢失引起,应该是参数设置还…

    SINUMERIK 2019年6月11日
  • 840D如何进入桌面

    我们有6台840D,其中5台安装了teamviewer,这样老外可以帮我们远程服务,但有一台没有安装,我在U盘上有一个teamviewer免安装软件,但需要双击这个软件我们才能得到…

    SINUMERIK 2020年11月1日
  • 828D 系统变量$TC_DP3[]问题

    我们的机床使用对刀仪,在对刀仪校准过程中出现17190程序段xx T号码非法,找到相应程序段后是一句读取系统刀沿(刀补)变量赋值的,后在MDI下:R100=$TC_DP3…

    2017年6月19日
  • 840DSL PLC程序拷贝

    可以在数控系统上面把PLC程序拷贝到U盘 再在电脑上用STEP7打开吗?具体步骤怎么操作? 最佳答案 西门子840Dsl数控系统 复制PLC程序的方法有以下两种…

    SINUMERIK 2020年10月31日
  • VNC 连接840D sl,只能监控不能控制

    VNC操作手册 中文或英文 最佳答案 在PCU50中搜索TCU.INI文件,打开后将ExternalViewerSecurityPolicy=1 改为=2&nb…

    2020年10月31日
  • 840d系统300911报警怎么解决

    在机床回原点或加工过程中出现300911报警以及27001,27023,27024报警。 问题补充:重点阐述一下300911报警的处理方法 最佳答案 从300911报警内容看,84…

    SINUMERIK 2017年12月9日