This commit is contained in:
2022-12-15 22:07:55 +08:00
parent 35d074c00e
commit cdd0e3c6af
2 changed files with 214 additions and 128 deletions

View File

@@ -109,7 +109,6 @@ public class HfTwoRGVDeviceDriver extends AbstractOpcDeviceDriver implements Dev
String device_code;
//后工位申请任务请求时间
private Date instruction_require_time = new Date();
//前工位申请任务请求时间
@@ -140,10 +139,6 @@ public class HfTwoRGVDeviceDriver extends AbstractOpcDeviceDriver implements Dev
task2 = this.itemProtocol.getTask2();
if (mode != last_mode) {
if (mode == 2){
this.setRequireBackSucess(false);
this.setRequireHeadSucess(false);
}
logServer.deviceItemValue(this.device_code, "mode", String.valueOf(mode));
logServer.deviceExecuteLog(this.device_code, "", "", "信号mode" + last_mode + "->" + mode);
}
@@ -156,10 +151,16 @@ public class HfTwoRGVDeviceDriver extends AbstractOpcDeviceDriver implements Dev
logServer.deviceExecuteLog(this.device_code, "", "", "信号status" + last_status + "->" + status);
}
if (move1 != last_move1) {
if (move1 == 0) {
this.setRequireHeadSucess(false);
}
logServer.deviceItemValue(this.device_code, "move1", String.valueOf(move1));
logServer.deviceExecuteLog(this.device_code, "", "", "信号move1" + last_move1 + "->" + move1);
}
if (move2 != last_move2) {
if (move2 == 0) {
this.setRequireBackSucess(false);
}
logServer.deviceItemValue(this.device_code, "move2", String.valueOf(move2));
logServer.deviceExecuteLog(this.device_code, "", "", "信号move2" + last_move2 + "->" + move2);
}
@@ -225,10 +226,10 @@ public class HfTwoRGVDeviceDriver extends AbstractOpcDeviceDriver implements Dev
acsToWmsService.feedbackTaskStatusToWms(array);
}
}
writing("to_command1", "0");
writing("to_onset1", "0");
writing("to_target1", "0");
writing("to_task1", "0");
this.writing("to_command1", "0");
this.writing("to_onset1", "0");
this.writing("to_target1", "0");
this.writing("to_task1", "0");
}
}
}
@@ -275,10 +276,10 @@ public class HfTwoRGVDeviceDriver extends AbstractOpcDeviceDriver implements Dev
acsToWmsService.feedbackTaskStatusToWms(array);
}
}
writing("to_command2", "0");
writing("to_onset2", "0");
writing("to_target2", "0");
writing("to_task2", "0");
this.writing("to_command2", "0");
this.writing("to_onset2", "0");
this.writing("to_target2", "0");
this.writing("to_task2", "0");
}
}
}
@@ -419,16 +420,26 @@ public class HfTwoRGVDeviceDriver extends AbstractOpcDeviceDriver implements Dev
return false;
} else {
this.instruction_head_time = date;
//工位取货关联设备
//工位取货关联设备
List<String> getDeviceCodeList = this.getExtraDeviceCodes("head_get_device_code");
//工位放货关联设备
//工位放货关联设备
List<String> putDeviceCodeList = this.getExtraDeviceCodes("head_put_device_code");
//前工位重复关联设备
List<String> repeatDeviceCodeList = this.getExtraDeviceCodes("head_repeat_device_code");
//前工位重复关联设备放货设备
List<String> repeatPutDeviceCodeList = this.getExtraDeviceCodes("head_repeat_put_device_code");
TaskDto task = null;
for (int i = 0; i < getDeviceCodeList.size(); i++) {
String startDeviceCode = getDeviceCodeList.get(i);
List<TaskDto> taskDtos = taskserver.queryTaskByDeviceCodeAndStatus(startDeviceCode);
if (ObjectUtil.isNotEmpty(taskDtos)) {
TaskDto taskDto = taskDtos.get(0);
if (repeatDeviceCodeList.contains(startDeviceCode)) {
String next_device_code = taskDto.getNext_device_code();
if (!repeatPutDeviceCodeList.contains(next_device_code)) {
continue;
}
}
Instruction instruction = instructionService.findByTaskcode(taskDto.getTask_code());
instruction.setInstruction_status("1");
instruction.setUpdate_time(DateUtil.now());
@@ -440,6 +451,12 @@ public class HfTwoRGVDeviceDriver extends AbstractOpcDeviceDriver implements Dev
List<TaskDto> taskDtoList = taskserver.queryTaskByDeviceCode(startDeviceCode);
if (ObjectUtil.isNotEmpty(taskDtoList)) {
task = taskDtoList.get(0);
String next_device_code = task.getNext_device_code();
if (repeatDeviceCodeList.contains(startDeviceCode)) {
if (!repeatPutDeviceCodeList.contains(next_device_code)) {
continue;
}
}
}
if (ObjectUtil.isNotEmpty(task)) break;
}
@@ -506,6 +523,10 @@ public class HfTwoRGVDeviceDriver extends AbstractOpcDeviceDriver implements Dev
List<String> getDeviceCodeList = this.getExtraDeviceCodes("back_get_device_code");
//后工位放货关联设备
List<String> putDeviceCodeList = this.getExtraDeviceCodes("back_put_device_code");
//后工位重复关联设备
List<String> repeatDeviceCodeList = this.getExtraDeviceCodes("back_repeat_device_code");
//后工位重复关联设备放货设备
List<String> repeatPutDeviceCodeList = this.getExtraDeviceCodes("back_repeat_put_device_code");
TaskDto task = null;
for (int i = 0; i < getDeviceCodeList.size(); i++) {
@@ -513,6 +534,12 @@ public class HfTwoRGVDeviceDriver extends AbstractOpcDeviceDriver implements Dev
List<TaskDto> taskDtos = taskserver.queryTaskByDeviceCodeAndStatus(startDeviceCode);
if (ObjectUtil.isNotEmpty(taskDtos)) {
TaskDto taskDto = taskDtos.get(0);
if (repeatDeviceCodeList.contains(startDeviceCode)) {
String next_device_code = taskDto.getNext_device_code();
if (!repeatPutDeviceCodeList.contains(next_device_code)) {
continue;
}
}
Instruction instruction = instructionService.findByTaskcode(taskDto.getTask_code());
instruction.setInstruction_status("1");
instruction.setUpdate_time(DateUtil.now());
@@ -524,6 +551,12 @@ public class HfTwoRGVDeviceDriver extends AbstractOpcDeviceDriver implements Dev
List<TaskDto> taskDtoList = taskserver.queryTaskByDeviceCode(startDeviceCode);
if (ObjectUtil.isNotEmpty(taskDtoList)) {
task = taskDtoList.get(0);
String next_device_code = task.getNext_device_code();
if (repeatDeviceCodeList.contains(startDeviceCode)) {
if (!repeatPutDeviceCodeList.contains(next_device_code)) {
continue;
}
}
}
if (ObjectUtil.isNotEmpty(task)) break;
}
@@ -632,6 +665,7 @@ public class HfTwoRGVDeviceDriver extends AbstractOpcDeviceDriver implements Dev
itemMap.put(to_param, value);
ReadUtil.write(itemMap, server);
log.info("设备号:{},下发信号{},下发信号值{}", device_code, to_param, value);
}
public boolean exe_business() {

View File

@@ -56,7 +56,8 @@
</el-form-item>
</el-col>
</el-row>
<el-col>
<el-row>
<el-col :span="6">
<el-form-item label="前工位取货点" prop="device_code" label-width="200">
<el-select
v-model="form.head_get_device_code"
@@ -72,21 +73,8 @@
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="装货点" prop="device_code">-->
<!-- <el-select-->
<!-- v-model="form.load_device_code"-->
<!-- filterable-->
<!-- multiple-->
<!-- placeholder="请选择"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in deviceList"-->
<!-- :key="item.device_code"-->
<!-- :label="item.device_name"-->
<!-- :value="item.device_code"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
</el-col>
<el-col :span="6">
<el-form-item label="前工位放货点" prop="device_code" label-width="200">
<el-select
v-model="form.head_put_device_code"
@@ -104,7 +92,44 @@
</el-select>
</el-form-item>
</el-col>
<el-col>
<el-col :span="6">
<el-form-item label="前工位重复点" prop="device_code" label-width="200">
<el-select
v-model="form.head_repeat_device_code"
multiple
filterable
reserve-keyword
placeholder="请选择"
>
<el-option
v-for="item in deviceList"
:label="item.device_name"
:value="item.device_code"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="前重复放货点" prop="device_code" label-width="200">
<el-select
v-model="form.head_repeat_put_device_code"
filterable
reserve-keyword
multiple
placeholder="请选择"
>
<el-option
v-for="item in deviceList"
:key="item.device_code"
:label="item.device_name"
:value="item.device_code"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="后工位取货点" prop="device_code" label-width="200">
<el-select
v-model="form.back_get_device_code"
@@ -120,21 +145,8 @@
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="装货点" prop="device_code">-->
<!-- <el-select-->
<!-- v-model="form.load_device_code"-->
<!-- filterable-->
<!-- multiple-->
<!-- placeholder="请选择"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in deviceList"-->
<!-- :key="item.device_code"-->
<!-- :label="item.device_name"-->
<!-- :value="item.device_code"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
</el-col>
<el-col :span="6">
<el-form-item label="后工位放货点" prop="device_code" label-width="200">
<el-select
v-model="form.back_put_device_code"
@@ -152,6 +164,42 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="后工位重复点" prop="device_code" label-width="200">
<el-select
v-model="form.back_repeat_device_code"
filterable
reserve-keyword
multiple
placeholder="请选择"
>
<el-option
v-for="item in deviceList"
:label="item.device_name"
:value="item.device_code"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="后重复放货点" prop="device_code" label-width="200">
<el-select
v-model="form.back_repeat_put_device_code"
filterable
reserve-keyword
multiple
placeholder="请选择"
>
<el-option
v-for="item in deviceList"
:key="item.device_code"
:label="item.device_name"
:value="item.device_code"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-card>
@@ -398,7 +446,11 @@ export default {
head_get_device_code: [],
back_get_device_code: [],
head_put_device_code: [],
back_put_device_code: []
back_put_device_code: [],
back_repeat_device_code: [],
back_repeat_put_device_code: [],
head_repeat_device_code: [],
head_repeat_put_device_code: []
},
rules: {}
}