@ -66,6 +66,8 @@ public class PlcCmdInfo {
private String plcId;
private Integer times;
public PlcCmdInfo(String plcId, String taskId, Integer side1, Integer leftRight1, Integer column1, Integer row1, Integer separation1, Integer side2, Integer leftRight2, Integer column2, Integer row2, Integer separation2) {
this.taskId = taskId;
this.side1 = side1;
@ -462,8 +462,34 @@ public class PlcService {
return cameraId;
}
}else {
//双伸
//todo
if (street.getCamera1Id() != null && street.getCamera2Id() != null && street.getCamera1Id() != 0 && street.getCamera2Id() != 0) {
//双伸 todo 这个因项目而异,看现场的情况
//默认是
if(plcCmdInfo.getTimes() <= 2){
//左侧
if(plcCmdInfo.getLeftRight1() == 1){
if(plcCmdInfo.getSeparation1() == 1){
//左侧 内货架 camera2
return street.getCamera2Id();
//左侧 外货架 camera1
return street.getCamera1Id();
if(plcCmdInfo.getSeparation1() == 2){
//右侧 内货架 camera2
//右侧 外货架 camera1
} else {
Integer cameraId = street.getCamera1Id() != null && street.getCamera1Id() != 0 ? street.getCamera1Id() : street.getCamera2Id();
return null;
@ -73,6 +73,7 @@ public class KsecDecoder extends DelimiterBasedFrameDecoder {
if (Cmd.isBaseAction(code)) {
//执行动作,需要保存执行到第几步了
Integer times = GoodsActionTimes.put(plcCmdInfo.getOrderNum());
plcCmdInfo.setTimes(times);
code = code + "-" + plcCmdInfo.getLeftRightStr(times) + plcCmdInfo.getInOutStr(times);
//执行动作
plcService.action(plcCmdInfo, times, code);