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

相关推荐

  • 810D 编程口是哪个?

    大家好, 为什么我用DP,MPI适配器插上X122的MPI和X102的DP口计算机都找不到PLC, 基本排除是线材或软件问题,因为一样的软件和线材之前已经对隔壁…

    SINUMERIK 2017年11月12日
  • 电压过高

    小弟有一问题   FANUC 0I  系统 β i SV20的伺服放大器,报警439&nb…

    SINUMERIK 2018年12月2日
  • 840D的PCMCIA可否用于802D

    我刚买了一个840D的PCMCIA能不能用于802D的系统,为什么我把它插在电脑的插槽上,电脑没有显示呢 问题补充:我的卡插到电脑上,我的电脑没有任何反应,在我的电脑里面也没有多出…

    SINUMERIK 2019年6月11日
  • 轴进给率的问题

    IPM IPR FRN DPM这四种进给方式有什么区别?四轴加工中,旋转轴采用FRN方式有什么必要?谢谢! 最佳答案 看看这个吧:https://we…

    SINUMERIK 2020年10月31日
  • S300PLC CPU不带PN,增加了CP以太网模块如何实现直接连接网络打印机

    PLC 通过以太网直接输出给打印机,谢谢! 最佳答案 PLC暂时无法直接控制以太网打印机。串口可以。 提问者对于答案的评价:thanks!

    SINUMERIK 2017年6月11日
  • 802C运行中X轴偶尔出现25060报警故障

    802C控制ATOS比例阀,油缸内装位移传感器,通过485通讯到S7-200PLC,再通过PLC输出信号,经反向器传给802C。    80…

    SINUMERIK 2017年11月23日
  • 224控制三菱伺服

    一个西门子224控制两个三菱伺服,一个是MR-E没有问题,一个是MR-J2S接收到的脉冲有时会多1个,开始以为是干扰,但无论怎么处理都是这样,后来又装了一台同样的设备,也出现同样的…

    SINUMERIK 2018年12月3日
  • 840d spos命令的转速?

    如题,一般使用的时候都不需要设置转速,有个项目的机器从M3切换到SPOS的时候很容易发生25050轮廓报警,想将定位时候的速度降下来,不知道在哪里设置,谢谢! 问题补充:找到了参数…

    SINUMERIK 2017年6月24日
  • 840DSL 配置模拟主轴

    840DSL 配置有三根伺服轴,一根模拟主轴(需定向和刚性攻丝),请问模拟主轴用哪种模块能实现? 问题补充:是840DSL额,不用ADI4. 最佳答案 840D系统可以用…

    SINUMERIK 2017年11月17日
  • 802D系统01050报警如何处理

    802D系统01050报警通道1/8程序DIN地址未配置,但手动走刀架没问题,请问如何处理,此报警号诊断手册里查不到。 最佳答案 你的加工程序里面,使用了未定义的表示,根据加工程序…

    SINUMERIK 2017年7月26日