自动化立体仓库 - WCS系统
*
hmpc
2024-10-21 55868ae6d0fab571f62354a6fe50cbc5e64c5b7a
*
5个文件已修改
75 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/escalationParam/RgvTaskReportingParam.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/RgvTaskReportingHandler.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/RgvThread.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -157,6 +157,7 @@
                        && rgvProtocol.getAlarm() == 0){
                    RgvCommand rgvCommand = new RgvCommand();
                    rgvCommand.setRgvNo(rgvProtocol.getRgvNo());
                    rgvCommand.setTaskNo1(wrkMast.getWrkNo().shortValue());
                    rgvCommand.setAckFinish1((short) 0);  // 工位1任务完成确认位
                    rgvCommand.setTaskNo1(wrkMast.getWrkNo().shortValue());
                    rgvCommand.setTaskMode1(RgvTaskModeType.FETCH_PUT); // 工位1任务模式:  取放货
src/main/java/com/zy/asrs/task/escalationParam/RgvTaskReportingParam.java
@@ -1,5 +1,6 @@
package com.zy.asrs.task.escalationParam;
import com.core.common.Cools;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.utils.TimeCalculatorUtils;
import lombok.Data;
@@ -34,6 +35,9 @@
        this.endSta = wrkMast.getStaNo().toString();
        this.during = TimeCalculatorUtils.differenceInMilliseconds(wrkMast.getModiTime(),wrkMast.getAppeTime());
        this.status = wrkMast.getWrkSts().intValue();
        this.error.add(wrkMast.getErrorMemo());
        if (!Cools.isEmpty(wrkMast.getErrorMemo())){
            this.error.add(wrkMast.getErrorMemo());
        }
    }
}
src/main/java/com/zy/asrs/task/handler/RgvTaskReportingHandler.java
@@ -32,9 +32,9 @@
    private ApiLogService apiLogService;
//    @Value("${srHangJia.url}")
    private String erpUrl = "192.168.18.229:16126";
    private String erpUrl = "172.17.196.199:8084";
//    @Value("${srHangJia.reportOutPath}")
    private String reportOutPath = "open/rcs/task/cs/up/default/v1";
    private String reportOutPath = "open/rcs/task/cs/up/UploadTask";
    public ReturnT<String> start(WrkMast wrkMast) {
        try {
src/main/java/com/zy/core/thread/RgvThread.java
@@ -85,7 +85,7 @@
                        command.setTaskMode1(RgvTaskModeType.NONE); // 任务模式
                        command.setSourceStaNo1((short)0);     // 源站
                        command.setDestinationStaNo1((short)0);     // 目标站
                        write(command);
                        write3(command);
                        break;
                    default:
                        break;
@@ -251,6 +251,64 @@
            return false;
        }
    }
    private boolean write3(RgvCommand command) throws InterruptedException {
        if (null == command) {
            log.error("RGV写入命令为空");
            return false;
        }
        siemensNet.Write("DB24.10.0", false);
        siemensNet.Write("DB24.10.1", false);
        command.setRgvNo(slave.getId());
        short[] array = new short[5];
        array[0] = command.getRgvNo().shortValue();
        array[1] = command.getSourceStaNo1();
        array[2] = command.getDestinationStaNo1();
        array[3] = command.getTaskMode1();//任务模式
        array[4] = command.getTaskNo1();
//        OperateResult result = siemensNet.Write("DB24.0", array);
        OperateResult result = null;
        if (command.getAckFinish1().equals((short)0)) {
            Thread.sleep(100L);
            result = siemensNet.Write("DB24.10.0", true);
        } else {
            siemensNet.Write("DB24.10.1", true);
        }
        try {
            // 日志记录
            BasRgvOptService bean = SpringUtils.getBean(BasRgvOptService.class);
            BasRgvOpt basRgvOpt = new BasRgvOpt(
                    command.getTaskNo1().intValue(),
                    command.getTaskNo2().intValue(),
                    command.getRgvNo(),
                    new Date(),
                    command.getTaskModeType1().toString(),
                    command.getSourceStaNo1().intValue(),
                    command.getDestinationStaNo1().intValue(),
                    command.getSourceStaNo2().intValue(),
                    command.getDestinationStaNo2().intValue(),
                    null,
                    new Date(),
                    null
            );
            bean.insert(basRgvOpt);
        } catch (Exception ignore) {}
        if (result != null && result.IsSuccess) {
            Thread.sleep(200);
            this.readStatus();
            log.info("RGV 工位1命令下发[id:{}] >>>>> {}", slave.getId(), JSON.toJSONString(command));
            OutputQueue.RGV.offer(MessageFormat.format("【{0}】[id:{1}] >>>>> 工位1命令下发: {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSONString(command)));
            return true;
        } else {
            OutputQueue.RGV.offer(MessageFormat.format("【{0}】写入RGV plc工位1数据失败 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
            log.error("写入RGV plc工位1数据失败 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
            return false;
        }
    }
    @Override
    public void close() {
src/main/resources/application.yml
@@ -8,8 +8,8 @@
    name: @pom.build.finalName@
  datasource:
    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
#    url: jdbc:sqlserver://127.0.0.1:50751;databasename=gdhmasrs
    url: jdbc:sqlserver://127.0.0.1:50948;databasename=gdhmasrs
    url: jdbc:sqlserver://127.0.0.1:50751;databasename=gdhmasrs
#    url: jdbc:sqlserver://127.0.0.1:50948;databasename=gdhmasrs
    username: sa
    password: sa@123
  mvc: