#
luxiaotao1123
2020-10-10 b80cd13530648af00f57627baab806d49ae2d1d2
#
3个文件已修改
56 ■■■■■ 已修改文件
src/main/java/com/zy/core/enums/CrnTaskModeType.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/model/command/CrnCommand.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/thread/MelsecCrnThread.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/enums/CrnTaskModeType.java
@@ -9,6 +9,7 @@
    SITE_MOVE(4),    // 站位移转
    GO_ORIGIN(5),    // 回原点
    OFFSET_MOVE(7),    // 坐标移行
    TIMING(90),     // 校时
    ;
    public Integer id;
src/main/java/com/zy/core/model/command/CrnCommand.java
@@ -4,6 +4,9 @@
import com.zy.core.enums.CrnTaskModeType;
import lombok.Data;
import java.util.Calendar;
import java.util.Date;
/**
 * 堆垛机命令报文
 * Created by vincent on 2020/8/11
@@ -68,4 +71,26 @@
        this.taskMode = CrnTaskModeType.get(type).id.shortValue();
    }
    public static void main(String[] args) {
        Date date = new Date();
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        System.out.println(cal.get(Calendar.YEAR));
        //默认从0-11
        System.out.println(cal.get(Calendar.MONTH)+1);
        System.out.println(cal.get(Calendar.DATE));
        int hour = cal.get(Calendar.HOUR_OF_DAY);
        System.out.println("时");
        System.out.println(hour);
        int minute = cal.get(Calendar.MINUTE);
        System.out.println("分");
        System.out.println(minute);
        int second = cal.get(Calendar.SECOND);
        System.out.println("秒");
        System.out.println(second);
        int mm = cal.get(Calendar.DAY_OF_WEEK) - 1; // 星期:0(日)~6(六)
        System.out.println("礼拜");
        System.out.println(mm);
    }
}
src/main/java/com/zy/core/thread/MelsecCrnThread.java
@@ -23,6 +23,7 @@
import lombok.extern.slf4j.Slf4j;
import java.text.MessageFormat;
import java.util.Calendar;
import java.util.Date;
/**
@@ -112,6 +113,35 @@
            OutputQueue.CRN.offer(MessageFormat.format("【{0}】堆垛机plc连接失败!!! ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
            log.error("堆垛机plc连接失败!!! ===>> [id:{}] [ip:{}] [port:{}] ", slave.getId(), slave.getIp(), slave.getPort());
        }
        // 命令下发区 --------------------------------------------------------------------------
        /**
         *      array[1] = command.getSourcePosY(); // 列
         *         array[2] = command.getSourcePosZ(); // 层
         *         array[3] = command.getSourcePosX(); // 排
         *         array[4] = command.getDestinationPosY(); // 列
         *         array[5] = command.getDestinationPosZ();  // 层
         *         array[6] = command.getDestinationPosX(); // 排
         *         array[7] = command.getTaskNo();
         */
        Date date = new Date();
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        CrnCommand crnCommand = new CrnCommand();
        crnCommand.setCrnNo(slave.getId()); // 堆垛机编号
        crnCommand.setTaskMode(CrnTaskModeType.TIMING); // 任务模式:  设置时间
        crnCommand.setSourcePosY((short) cal.get(Calendar.YEAR));     // 年:1980~2079
        crnCommand.setSourcePosZ((short) (cal.get(Calendar.MONTH)+1));     // 月:1~12
        crnCommand.setSourcePosX((short) cal.get(Calendar.DATE));     // 日:1~31
        crnCommand.setDestinationPosY((short) cal.get(Calendar.HOUR_OF_DAY));     // 时:0~23
        crnCommand.setDestinationPosZ((short) cal.get(Calendar.MINUTE));     // 分:0~59
        crnCommand.setDestinationPosX((short) cal.get(Calendar.SECOND));     // 秒:0~59
        crnCommand.setTaskNo((short) (cal.get(Calendar.DAY_OF_WEEK) - 1));     // 星期:0(日)~6(六)
        crnCommand.setTaskSend((short) 1);
        crnCommand.setAckFinish((short) 0);
        if (write(crnCommand)) {
            log.info("堆垛机plc校对时间成功 ===>> [id:{}] [ip:{}] [port:{}] ", slave.getId(), slave.getIp(), slave.getPort());
        }
        melsecMcNet.ConnectClose();
        return result;
    }