大家好,我们有台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