fix: device_driver
This commit is contained in:
@@ -11,6 +11,9 @@ import org.nl.acs.common.base.CommonFinalParam;
|
|||||||
* https://blog.csdn.net/moneyshi/article/details/82978073
|
* https://blog.csdn.net/moneyshi/article/details/82978073
|
||||||
*/
|
*/
|
||||||
public enum RequestMethodEnum {
|
public enum RequestMethodEnum {
|
||||||
|
/**
|
||||||
|
* 请求类型
|
||||||
|
*/
|
||||||
order_verify(1, "order_verify", "人工排产确认", "0"),
|
order_verify(1, "order_verify", "人工排产确认", "0"),
|
||||||
|
|
||||||
order_finish(2, "order_finish", "工单完成", "0"),
|
order_finish(2, "order_finish", "工单完成", "0"),
|
||||||
|
|||||||
@@ -235,6 +235,7 @@ public class BoxPalletizingManipulatorDeviceDriver extends AbstractOpcDeviceDriv
|
|||||||
* @param extraName
|
* @param extraName
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public List<String> getExtraDeviceCodes(String extraName) {
|
public List<String> getExtraDeviceCodes(String extraName) {
|
||||||
String extraValue = (String) this.getDevice().getExtraValue().get(extraName);
|
String extraValue = (String) this.getDevice().getExtraValue().get(extraName);
|
||||||
if (StrUtil.isEmpty(extraValue)) {
|
if (StrUtil.isEmpty(extraValue)) {
|
||||||
|
|||||||
@@ -299,14 +299,18 @@ public class DoubleStationStackerDeviceDriver extends AbstractOpcDeviceDriver im
|
|||||||
String nextDeviceCode = inst.get(0).getNext_device_code();
|
String nextDeviceCode = inst.get(0).getNext_device_code();
|
||||||
Device nextDevice = deviceAppService.findDeviceByCode(nextDeviceCode);
|
Device nextDevice = deviceAppService.findDeviceByCode(nextDeviceCode);
|
||||||
//指令为执行
|
//指令为执行
|
||||||
if (unloadCheck(nextDevice)) return;
|
if (unloadCheck(nextDevice)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
map.put("to_command", 3);
|
map.put("to_command", 3);
|
||||||
requireSucess = true;
|
requireSucess = true;
|
||||||
}
|
}
|
||||||
if (CollectionUtil.isNotEmpty(inst)&&ObjectUtil.isEmpty(inst.get(0))) {
|
if (CollectionUtil.isNotEmpty(inst)&&ObjectUtil.isEmpty(inst.get(0))) {
|
||||||
String nextDeviceCode = inst.get(1).getNext_device_code();
|
String nextDeviceCode = inst.get(1).getNext_device_code();
|
||||||
Device nextDevice = deviceAppService.findDeviceByCode(nextDeviceCode);
|
Device nextDevice = deviceAppService.findDeviceByCode(nextDeviceCode);
|
||||||
if (unloadCheck(nextDevice)) return;
|
if (unloadCheck(nextDevice)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
map.put("to_command", 3);
|
map.put("to_command", 3);
|
||||||
requireSucess = true;
|
requireSucess = true;
|
||||||
}
|
}
|
||||||
@@ -476,7 +480,9 @@ public class DoubleStationStackerDeviceDriver extends AbstractOpcDeviceDriver im
|
|||||||
List<Instruction> instructions = instructionService.findByDeviceCodes(instruction1, false);
|
List<Instruction> instructions = instructionService.findByDeviceCodes(instruction1, false);
|
||||||
List<Instruction> instructionList = new ArrayList<>();
|
List<Instruction> instructionList = new ArrayList<>();
|
||||||
//根据路由过滤指令
|
//根据路由过滤指令
|
||||||
if (checkRute(instructions, instructionList)) return false;
|
if (checkRute(instructions, instructionList)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
if (CollUtil.isEmpty(instructionList) || instructionList.size() < 1) {
|
if (CollUtil.isEmpty(instructionList) || instructionList.size() < 1) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -486,11 +492,15 @@ public class DoubleStationStackerDeviceDriver extends AbstractOpcDeviceDriver im
|
|||||||
LinkedList<Instruction> instructionsAll = new LinkedList<>();
|
LinkedList<Instruction> instructionsAll = new LinkedList<>();
|
||||||
|
|
||||||
//找出有相邻的列的指令,如果没有按照单叉走,有按照双叉走
|
//找出有相邻的列的指令,如果没有按照单叉走,有按照双叉走
|
||||||
if (findInstruction(instructionList, inst, instructionsAll)) return false;
|
if (findInstruction(instructionList, inst, instructionsAll)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//写信号
|
//写信号
|
||||||
if (wirteData(instructionsAll)) return false;
|
if (wirteData(instructionsAll)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -625,7 +635,9 @@ public class DoubleStationStackerDeviceDriver extends AbstractOpcDeviceDriver im
|
|||||||
List<DeviceExtra> backX = deviceExtras.stream().filter(item -> "no_back_x".equals(item.getExtra_name())).collect(Collectors.toList());
|
List<DeviceExtra> backX = deviceExtras.stream().filter(item -> "no_back_x".equals(item.getExtra_name())).collect(Collectors.toList());
|
||||||
List<DeviceExtra> sort = deviceExtras.stream().filter(item -> "sort".equals(item.getExtra_name())).collect(Collectors.toList());
|
List<DeviceExtra> sort = deviceExtras.stream().filter(item -> "sort".equals(item.getExtra_name())).collect(Collectors.toList());
|
||||||
//存在配置的禁止前排列
|
//存在配置的禁止前排列
|
||||||
if (checkY(splitFront, frontY)) return true;
|
if (checkY(splitFront, frontY)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
if (checkX(splitFront, frontX)) {
|
if (checkX(splitFront, frontX)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -646,8 +658,12 @@ public class DoubleStationStackerDeviceDriver extends AbstractOpcDeviceDriver im
|
|||||||
List<Instruction> instructionNextPointList = instructionList.stream().filter(item -> item.getNext_point_code().equals(finalNextPointCodeDown)).collect(Collectors.toList());
|
List<Instruction> instructionNextPointList = instructionList.stream().filter(item -> item.getNext_point_code().equals(finalNextPointCodeDown)).collect(Collectors.toList());
|
||||||
if (instructionNextPointList.size()>0){
|
if (instructionNextPointList.size()>0){
|
||||||
String[] splitBack = instructionNextPointList.get(0).getNext_point_code().split(commonFinalParam.getBARRE());
|
String[] splitBack = instructionNextPointList.get(0).getNext_point_code().split(commonFinalParam.getBARRE());
|
||||||
if (checkY(splitBack, backY)) return true;
|
if (checkY(splitBack, backY)) {
|
||||||
if (checkX(splitBack, backX)) return true;
|
return true;
|
||||||
|
}
|
||||||
|
if (checkX(splitBack, backX)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
instructionsAll.add(instructionNextPointList.get(0));
|
instructionsAll.add(instructionNextPointList.get(0));
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
@@ -658,19 +674,31 @@ public class DoubleStationStackerDeviceDriver extends AbstractOpcDeviceDriver im
|
|||||||
|
|
||||||
if (instructionNextPointList1.size()>0){
|
if (instructionNextPointList1.size()>0){
|
||||||
String[] splitBack = instructionNextPointList1.get(0).getNext_point_code().split(commonFinalParam.getBARRE());
|
String[] splitBack = instructionNextPointList1.get(0).getNext_point_code().split(commonFinalParam.getBARRE());
|
||||||
if (checkY(splitBack, backY)) return true;
|
if (checkY(splitBack, backY)) {
|
||||||
if (checkX(splitBack, backX)) return true;
|
return true;
|
||||||
|
}
|
||||||
|
if (checkX(splitBack, backX)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
instructionsAll.add(instructionNextPointList1.get(0));
|
instructionsAll.add(instructionNextPointList1.get(0));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (instructionNextPointList2.size()>0){
|
if (instructionNextPointList2.size()>0){
|
||||||
//前叉的上一列有指令,此时前叉变成后叉,重新校验
|
//前叉的上一列有指令,此时前叉变成后叉,重新校验
|
||||||
String[] splitBack = instructionNextPointList2.get(0).getNext_point_code().split(commonFinalParam.getBARRE());
|
String[] splitBack = instructionNextPointList2.get(0).getNext_point_code().split(commonFinalParam.getBARRE());
|
||||||
if (checkY(splitBack, frontY)) return true;
|
if (checkY(splitBack, frontY)) {
|
||||||
if (checkX(splitBack, frontX)) return true;
|
return true;
|
||||||
|
}
|
||||||
|
if (checkX(splitBack, frontX)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
instructionsAll.addFirst(null);
|
instructionsAll.addFirst(null);
|
||||||
if (checkY(splitFront, backY)) return true;
|
if (checkY(splitFront, backY)) {
|
||||||
if (checkX(splitFront, backX)) return true;
|
return true;
|
||||||
|
}
|
||||||
|
if (checkX(splitFront, backX)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
instructionsAll.removeFirst();
|
instructionsAll.removeFirst();
|
||||||
instructionsAll.addFirst(instructionNextPointList2.get(0));
|
instructionsAll.addFirst(instructionNextPointList2.get(0));
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -10,6 +10,9 @@ import lombok.Getter;
|
|||||||
@Getter
|
@Getter
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public enum CommandEnum {
|
public enum CommandEnum {
|
||||||
|
/**
|
||||||
|
* 动作信号
|
||||||
|
*/
|
||||||
STANDY(0,"待机"),
|
STANDY(0,"待机"),
|
||||||
PICKUP(1,"取货中"),
|
PICKUP(1,"取货中"),
|
||||||
PICKUP_COMPLETE(2,"取货完成"),
|
PICKUP_COMPLETE(2,"取货完成"),
|
||||||
|
|||||||
@@ -11,6 +11,9 @@ import org.nl.acs.common.base.CommonFinalParam;
|
|||||||
@Getter
|
@Getter
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public enum SortEnum {
|
public enum SortEnum {
|
||||||
|
/**
|
||||||
|
* 排序
|
||||||
|
*/
|
||||||
PRONT("1","正序"),
|
PRONT("1","正序"),
|
||||||
BACK("2","倒序");
|
BACK("2","倒序");
|
||||||
|
|
||||||
|
|||||||
@@ -157,6 +157,7 @@ public class HongXiangStationDeviceDriver extends AbstractOpcDeviceDriver implem
|
|||||||
/**
|
/**
|
||||||
* 将扩展表中的字符串数据转换成集合
|
* 将扩展表中的字符串数据转换成集合
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public List<String> getExtraDeviceCodes(String extraName) {
|
public List<String> getExtraDeviceCodes(String extraName) {
|
||||||
String extraValue = (String) this.getDevice().getExtraValue().get(extraName);
|
String extraValue = (String) this.getDevice().getExtraValue().get(extraName);
|
||||||
if (StrUtil.isEmpty(extraValue)) {
|
if (StrUtil.isEmpty(extraValue)) {
|
||||||
|
|||||||
@@ -547,6 +547,7 @@ public class LnshStationDeviceDriver extends AbstractOpcDeviceDriver implements
|
|||||||
*
|
*
|
||||||
* @param
|
* @param
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public synchronized boolean apply_take_empty_vehicle() {
|
public synchronized boolean apply_take_empty_vehicle() {
|
||||||
// if(move == 1) {
|
// if(move == 1) {
|
||||||
// ApplyTaskRequest request = new ApplyTaskRequest();
|
// ApplyTaskRequest request = new ApplyTaskRequest();
|
||||||
|
|||||||
@@ -763,6 +763,7 @@ public class OvenGantryManipulatorDeviceDriver extends AbstractOpcDeviceDriver i
|
|||||||
/**
|
/**
|
||||||
* 将扩展表中的字符串数据转换成集合
|
* 将扩展表中的字符串数据转换成集合
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public List<String> getExtraDeviceCodes(String extraName) {
|
public List<String> getExtraDeviceCodes(String extraName) {
|
||||||
String extraValue = (String) this.getDevice().getExtraValue().get(extraName);
|
String extraValue = (String) this.getDevice().getExtraValue().get(extraName);
|
||||||
if (StrUtil.isEmpty(extraValue)) {
|
if (StrUtil.isEmpty(extraValue)) {
|
||||||
|
|||||||
@@ -163,6 +163,7 @@ public class PlugPullDeviceSiteDeviceDriver extends AbstractOpcDeviceDriver impl
|
|||||||
/**
|
/**
|
||||||
* 将扩展表中的字符串数据转换成集合
|
* 将扩展表中的字符串数据转换成集合
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public List<String> getExtraDeviceCodes(String extraName) {
|
public List<String> getExtraDeviceCodes(String extraName) {
|
||||||
String extraValue = (String) this.getDevice().getExtraValue().get(extraName);
|
String extraValue = (String) this.getDevice().getExtraValue().get(extraName);
|
||||||
if (StrUtil.isEmpty(extraValue)) {
|
if (StrUtil.isEmpty(extraValue)) {
|
||||||
|
|||||||
@@ -81,27 +81,27 @@ public class SiemensConveyorCkkDeviceDriver extends AbstractOpcDeviceDriver impl
|
|||||||
*/
|
*/
|
||||||
Instruction inst = null;
|
Instruction inst = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 工作模式
|
* 工作模式
|
||||||
*/
|
*/
|
||||||
int mode = 0;
|
int mode = 0;
|
||||||
int last_mode = 0;
|
int last_mode = 0;
|
||||||
/**
|
/**
|
||||||
* 光电信号
|
* 光电信号
|
||||||
*/
|
*/
|
||||||
int move = 0;
|
int move = 0;
|
||||||
int last_move = 0;
|
int last_move = 0;
|
||||||
/**
|
/**
|
||||||
* 托盘方向
|
* 托盘方向
|
||||||
*/
|
*/
|
||||||
int carrier_direction = 0;
|
int carrier_direction = 0;
|
||||||
int last_carrier_direction = 0;
|
int last_carrier_direction = 0;
|
||||||
/**
|
/**
|
||||||
* 报警
|
* 报警
|
||||||
*/
|
*/
|
||||||
int error = 0;
|
int error = 0;
|
||||||
int last_error = 0;
|
int last_error = 0;
|
||||||
/**
|
/**
|
||||||
* 任务号
|
* 任务号
|
||||||
*/
|
*/
|
||||||
int task = 0;
|
int task = 0;
|
||||||
@@ -278,6 +278,9 @@ public class SiemensConveyorCkkDeviceDriver extends AbstractOpcDeviceDriver impl
|
|||||||
break;
|
break;
|
||||||
case 8:
|
case 8:
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
last_mode = mode;
|
last_mode = mode;
|
||||||
|
|||||||
@@ -293,8 +293,8 @@ public class SiemensConveyorLabelingDeviceDriver extends AbstractOpcDeviceDriver
|
|||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
/**
|
/**
|
||||||
* 申请贴标
|
* 申请贴标
|
||||||
*/
|
*/
|
||||||
if (move > 0 && !requireSucess) {
|
if (move > 0 && !requireSucess) {
|
||||||
applyLabeling();
|
applyLabeling();
|
||||||
}
|
}
|
||||||
@@ -320,6 +320,8 @@ public class SiemensConveyorLabelingDeviceDriver extends AbstractOpcDeviceDriver
|
|||||||
applyAgvTask();
|
applyAgvTask();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
last_mode = mode;
|
last_mode = mode;
|
||||||
|
|||||||
@@ -766,6 +766,8 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
|
|||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1368,6 +1370,7 @@ public class SlitTwoManipulatorDeviceDriver extends AbstractOpcDeviceDriver impl
|
|||||||
|
|
||||||
|
|
||||||
//将扩展表中的字符串数组数据转换成集合
|
//将扩展表中的字符串数组数据转换成集合
|
||||||
|
@Override
|
||||||
public List<String> getExtraDeviceCodes(String extraName) {
|
public List<String> getExtraDeviceCodes(String extraName) {
|
||||||
String extraValue = (String) this.getDevice().getExtraValue().get(extraName);
|
String extraValue = (String) this.getDevice().getExtraValue().get(extraName);
|
||||||
if (StrUtil.isEmpty(extraValue)) {
|
if (StrUtil.isEmpty(extraValue)) {
|
||||||
|
|||||||
@@ -257,6 +257,8 @@ public class StandardCoveyorControlDeviceDriver extends AbstractOpcDeviceDriver
|
|||||||
apply_InEmpty();
|
apply_InEmpty();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -269,7 +271,8 @@ public class StandardCoveyorControlDeviceDriver extends AbstractOpcDeviceDriver
|
|||||||
case 2:
|
case 2:
|
||||||
writing(3);
|
writing(3);
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -239,6 +239,9 @@ public class StandardCoveyorControlWithPlcScannerDeviceDriver extends AbstractOp
|
|||||||
if (hasGoods > 0 && !StrUtil.equals("0", barcode) && height > 0 && !applySucess) {
|
if (hasGoods > 0 && !StrUtil.equals("0", barcode) && height > 0 && !applySucess) {
|
||||||
instruction_apply(barcode);
|
instruction_apply(barcode);
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
switch (flag) {
|
switch (flag) {
|
||||||
//取货完成
|
//取货完成
|
||||||
@@ -249,7 +252,8 @@ public class StandardCoveyorControlWithPlcScannerDeviceDriver extends AbstractOp
|
|||||||
case 2:
|
case 2:
|
||||||
writing(3);
|
writing(3);
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
last_mode = mode;
|
last_mode = mode;
|
||||||
|
|||||||
@@ -295,6 +295,8 @@ public class StandardCoveyorControlWithScannerDeviceDriver extends AbstractOpcDe
|
|||||||
if (move > 0 && !StrUtil.isEmpty(newBarcode) && !applySucess) {
|
if (move > 0 && !StrUtil.isEmpty(newBarcode) && !applySucess) {
|
||||||
instruction_apply(newBarcode.trim());
|
instruction_apply(newBarcode.trim());
|
||||||
}
|
}
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
switch (flag) {
|
switch (flag) {
|
||||||
//取货完成
|
//取货完成
|
||||||
@@ -305,7 +307,8 @@ public class StandardCoveyorControlWithScannerDeviceDriver extends AbstractOpcDe
|
|||||||
case 2:
|
case 2:
|
||||||
writing(3);
|
writing(3);
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
last_mode = mode;
|
last_mode = mode;
|
||||||
|
|||||||
@@ -239,6 +239,8 @@ public class StandardInspectSiteDeviceDriver extends AbstractOpcDeviceDriver imp
|
|||||||
apply(7);
|
apply(7);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (flag) {
|
switch (flag) {
|
||||||
@@ -250,7 +252,8 @@ public class StandardInspectSiteDeviceDriver extends AbstractOpcDeviceDriver imp
|
|||||||
case 2:
|
case 2:
|
||||||
writing(3);
|
writing(3);
|
||||||
return;
|
return;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user