大家好,我们有台840Dpl的床子,其中workpiece里的一个CNC程序是:
IF ($A_DBB[19] B_AND 1==1) GOTOF ABC
N100 REFCYCLE_12 ;AUFRUF REFERENZ-ZYKLUS
;*********************************************************************************
N110 STOPRE
ABC:
N120 IF($A_DBB[2] B_AND 2==2) GOTOF END
N130 CASE PARTNUMBER OF 1 GOTOF MIDDLE 2 GOTOF MIDDLE 3 GOTOF MIDDLE 4 GOTOF LONG 5 GOTOF MIDDLE 6 GOTOF LONG 7 GOTOF MIDDLE 8 GOTOF LONG 9 GOTOF LONG 10 GOTOF LONG 11 GOTOF LONG 12 GOTOF LONG 13 GOTOF LONG 14 GOTOF LONG 15 GOTOF LONG 16 GOTOF SHORT 17 GOTOF SHORT 18 GOTOF SHORT_AWD 19 GOTOF SHORT 20 GOTOF SHORT 21 GOTOF MIDDLE_620 22 GOTOF MIDDLE_620
;*********************************************************************************
N140 FAULT:MSG("WRONG PART ")
N150 M0
N160 GOTOB FAULT
;*********************************************************************************
N170 SHORT:
N180 SHORT_12_KEN
N190 GOTOF END
;*********************************************************************************
N200 MIDDLE:
N210 MIDDLE_12_KEN
N220 GOTOF END
;*********************************************************************************
N221 MIDDLE_620:
N222 MIDDLE_12_620_KEN
N223 GOTOF END
;*********************************************************************************
N230 SHORT_AWD:
N240 SHORT_12_AWD_KEN
N250 GOTOF END
;*********************************************************************************
N260 LONG:
N270 DXX_12
;*********************************************************************************
N280 END:
N290 M30
程序看着不是很复杂,但是:
1, $A_DBB[19] B_AND 1 是不是说只要 $A_DBB[19] 的 bit0 位是 1, 条件既为真,不用管其它位?
2, CASE 指令不难理解,但它后面的这个参数:PARTNUMBER。 是从哪里得到数值的呢?或者是如何将PLC里的数值转递给这个“名字“?
谢谢。