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日 下午3:23
下一篇 2020年10月31日 下午3:23

相关推荐

  • 802DSL电子手轮

    首次调试802DSL,如何激活电子手轮6FC9320-5DC01,请高手指导PLC和NC如何设置,谢谢 最佳答案 我曾用西门子 802DSL改造过数控立式加工中心,用的是…

    2017年11月27日
  • 802DSL简明调试手册

    802DSL简明调试手册的第22页,在描述系统初始化中有一句话是在’CONTROL 802D’中选择’START-UP ARCHIVE(NC/PLC)’&nbs…

    SINUMERIK 2018年12月6日
  • 840D系统使能加不上

    840D系统使能加不上,一加使能,就出现3000急停报警,急停信号我已经直接短接了,报警的同时还显示U轴抱闸未松开,该如何解决,求指教 最佳答案 3000是急停按钮(开关)使能,你…

    SINUMERIK 2020年10月31日
  • 更换伺服电机(型号相同,设计版本不同RN000)后,出现报警,如图。

    请问是什么情况????15138713911 问题补充:出现25022报警,27000报警,400552报警 图片说明:       最佳答…

    2021年7月5日
  • 802d sl ?

    使用802D 的平面磨床,工件的工作台运动到后半段有异响振动,用手移动工作台也有小的移动量,这应该是滚珠丝杠的问题,用螺距补偿能否改善? 最佳答案 用螺距补偿不能改善,螺…

    SINUMERIK 2017年11月6日
  • 请教G04 指令使用

    n0001  G01 X100 Y100 F200      &nbs…

    SINUMERIK 2017年11月13日
  • G01不能执行

    802D系统 程序里有主轴转动指令,G01就不执行。 问题补充:没有主轴转动指令G01能执行,把35500改为1也没用 最佳答案 楼主可以从以下面几方面检查:1、把主轴机…

    SINUMERIK 2017年11月29日
  • SINUMERIK 802 base line

    1.系统开机机床不能加回参考点, 2.在参数/设定数据不允许,提示储存不允许. 3.在JOG状态下,点动不运行.. 问题补充:以上回答不够完美.. &…

    SINUMERIK 2019年6月11日
  • 802DsL 丢失授权

    我在调试802DsL系统,出现8081 :已设置的(n)2选型未经授权许可 这样报警。给位有谁知道的帮我个忙, 谢谢! 最佳答案 是你设置了需要授权的…

    SINUMERIK 2018年12月9日
  • 840D 300200报警

    机床关机重开后出现300200驱动总线故障报警,伺服上的红灯全亮,系统复位无法消除。之前也出现过,但在热机几个小时后,系统复位会消除。 图片说明:    &nb…

    2017年7月26日