|
|
@ -5,16 +5,20 @@ import com.dreamworks.boditech.driver.actuator.ActCodeScanner; |
|
|
|
import com.dreamworks.boditech.driver.actuator.ActModuleTestCardBoxCase; |
|
|
|
import com.dreamworks.boditech.driver.actuator.ActuatorModule; |
|
|
|
public class TaskLoad extends TaskBase { |
|
|
|
// arm xy |
|
|
|
private ActArmXY armXY; |
|
|
|
|
|
|
|
@Override |
|
|
|
public void execute(Executor executor) { |
|
|
|
Device device = executor.getDevice(); |
|
|
|
ActArmXY armXY = (ActArmXY)device.getActuator(ActuatorModule.ARM_XY); |
|
|
|
this.armXY = (ActArmXY)device.getActuator(ActuatorModule.ARM_XY); |
|
|
|
|
|
|
|
try { |
|
|
|
this.testCardLoad(executor); |
|
|
|
this.bufferTubeLoad(executor); |
|
|
|
this.largeBufferTubeLoad(executor); |
|
|
|
} catch (RuntimeException e) { |
|
|
|
armXY.reset(); |
|
|
|
this.armXY.reset(); |
|
|
|
throw e; |
|
|
|
} |
|
|
|
} |
|
|
@ -22,7 +26,16 @@ public class TaskLoad extends TaskBase { |
|
|
|
// load test card |
|
|
|
private void testCardLoad(Executor executor) { |
|
|
|
Device device = executor.getDevice(); |
|
|
|
ActArmXY armXY = (ActArmXY)device.getActuator(ActuatorModule.ARM_XY); |
|
|
|
if ( !device.enable ) { // @TODO : 移除测试数据 |
|
|
|
device.testCards.appendByBoxCode(0, "1||CAGGB66U||2024.03.26||1279||06"); |
|
|
|
device.testCards.appendByBoxCode(1, "2||CAGGB66U||2024.03.26||1279||06"); |
|
|
|
device.testCards.appendByBoxCode(2, "3||CAGGB66U||2024.03.26||1279||06"); |
|
|
|
device.testCards.appendByBoxCode(3, "4||CAGGB66U||2024.03.26||1279||06"); |
|
|
|
device.testCards.appendByBoxCode(4, "5||CAGGB66U||2024.03.26||1279||06"); |
|
|
|
device.testCards.appendByBoxCode(5, "6||CAGGB66U||2024.03.26||1279||06"); |
|
|
|
return ; |
|
|
|
} |
|
|
|
|
|
|
|
ActCodeScanner codeScanner = (ActCodeScanner)device.getActuator(ActuatorModule.ARM_Z_SCANNER); |
|
|
|
|
|
|
|
// 检查试卡盒仓盖是否关闭 |
|
|
@ -35,7 +48,7 @@ public class TaskLoad extends TaskBase { |
|
|
|
Integer scanStartY = device.getLocationByName("testCardScanStart.y"); |
|
|
|
Integer scanDistance = device.getLocationByName("testCardBoxScanDistance"); |
|
|
|
for ( int i=0; i<6; i++ ) { |
|
|
|
armXY.moveTo(scanStartX, scanStartY + i * scanDistance); |
|
|
|
this.armXY.moveTo(scanStartX, scanStartY + i * scanDistance); |
|
|
|
String code = codeScanner.scan(500); |
|
|
|
if ( "".equals(code) ) { |
|
|
|
continue ; |
|
|
@ -43,13 +56,22 @@ public class TaskLoad extends TaskBase { |
|
|
|
device.testCards.appendByBoxCode(i, code); |
|
|
|
} |
|
|
|
|
|
|
|
armXY.reset(); |
|
|
|
this.armXY.reset(); |
|
|
|
} |
|
|
|
|
|
|
|
// load buffer tube |
|
|
|
private void bufferTubeLoad(Executor executor) { |
|
|
|
Device device = executor.getDevice(); |
|
|
|
ActArmXY armXY = (ActArmXY)device.getActuator(ActuatorModule.ARM_XY); |
|
|
|
if ( !device.enable ) { // @TODO : 移除测试数据 |
|
|
|
device.bufferTubes.appendByCode(0, "01CAGGB66U"); |
|
|
|
device.bufferTubes.appendByCode(1, "02CAGGB66U"); |
|
|
|
device.bufferTubes.appendByCode(2, "03CAGGB66U"); |
|
|
|
device.bufferTubes.appendByCode(3, "04CAGGB66U"); |
|
|
|
device.bufferTubes.appendByCode(4, "05CAGGB66U"); |
|
|
|
device.bufferTubes.appendByCode(5, "06CAGGB66U"); |
|
|
|
return ; |
|
|
|
} |
|
|
|
|
|
|
|
ActCodeScanner codeScanner = (ActCodeScanner)device.getActuator(ActuatorModule.ARM_Z_SCANNER); |
|
|
|
|
|
|
|
Integer scanStartX = device.getLocationByName("bufferTubeLineOneScanStart.x"); |
|
|
@ -57,7 +79,7 @@ public class TaskLoad extends TaskBase { |
|
|
|
|
|
|
|
// buffer tube line one |
|
|
|
for ( int i=0; i<3; i++ ) { |
|
|
|
armXY.moveTo(scanStartX - i * 1200, scanStartY); |
|
|
|
this.armXY.moveTo(scanStartX - i * 1200, scanStartY); |
|
|
|
String code = codeScanner.scan(500); |
|
|
|
if ( "".equals(code) ) { |
|
|
|
continue ; |
|
|
@ -69,7 +91,7 @@ public class TaskLoad extends TaskBase { |
|
|
|
scanStartX = device.getLocationByName("bufferTubeLineTwoScanStart.x"); |
|
|
|
scanStartY = device.getLocationByName("bufferTubeLineTwoScanStart.y"); |
|
|
|
for ( int i=0; i<3; i++ ) { |
|
|
|
armXY.moveTo(scanStartX - i * 1200, scanStartY); |
|
|
|
this.armXY.moveTo(scanStartX - i * 1200, scanStartY); |
|
|
|
String code = codeScanner.scan(500); |
|
|
|
if ( "".equals(code) ) { |
|
|
|
continue ; |
|
|
@ -77,6 +99,48 @@ public class TaskLoad extends TaskBase { |
|
|
|
device.bufferTubes.appendByCode(i+3, code); |
|
|
|
} |
|
|
|
|
|
|
|
armXY.reset(); |
|
|
|
this.armXY.reset(); |
|
|
|
} |
|
|
|
|
|
|
|
// load large buffer tube |
|
|
|
private void largeBufferTubeLoad(Executor executor) { |
|
|
|
Device device = executor.getDevice(); |
|
|
|
if ( !device.enable ) { // @TODO : 移除测试数据 |
|
|
|
device.largeBufferTubes.appendByCode(0, "01CAGGB66U"); |
|
|
|
device.largeBufferTubes.appendByCode(1, "02CAGGB66U"); |
|
|
|
device.largeBufferTubes.appendByCode(2, "03CAGGB66U"); |
|
|
|
device.largeBufferTubes.appendByCode(3, "04CAGGB66U"); |
|
|
|
device.largeBufferTubes.appendByCode(4, "05CAGGB66U"); |
|
|
|
device.largeBufferTubes.appendByCode(5, "06CAGGB66U"); |
|
|
|
return ; |
|
|
|
} |
|
|
|
|
|
|
|
ActCodeScanner codeScanner = (ActCodeScanner)device.getActuator(ActuatorModule.ARM_Z_SCANNER); |
|
|
|
|
|
|
|
Integer scanStartX = device.getLocationByName("largeBufferTubeRowOneScanStart.x"); |
|
|
|
Integer scanStartY = device.getLocationByName("largeBufferTubeRowOneScanStart.y"); |
|
|
|
|
|
|
|
// row one |
|
|
|
for ( int i=0; i<3; i++ ) { |
|
|
|
this.armXY.moveTo(scanStartX - i * 300, scanStartY); |
|
|
|
String code = codeScanner.scan(500); |
|
|
|
if ( "".equals(code) ) { |
|
|
|
continue ; |
|
|
|
} |
|
|
|
device.largeBufferTubes.appendByCode(i, code); |
|
|
|
} |
|
|
|
|
|
|
|
// row two |
|
|
|
scanStartY -= 600; |
|
|
|
for ( int i=0; i<3; i++ ) { |
|
|
|
this.armXY.moveTo(scanStartX - i * 300, scanStartY); |
|
|
|
String code = codeScanner.scan(500); |
|
|
|
if ( "".equals(code) ) { |
|
|
|
continue ; |
|
|
|
} |
|
|
|
device.largeBufferTubes.appendByCode(i + 3, code); |
|
|
|
} |
|
|
|
|
|
|
|
this.armXY.reset(); |
|
|
|
} |
|
|
|
} |