#
tqs
2023-01-09 3bd15629d6b0518f861392166b718a80873fcc2a
src/main/java/com/zy/core/thread/MelsecCrnThread.java
@@ -86,12 +86,12 @@
                        command.setTaskNo((short) 0); // 工作号
                        command.setAckFinish((short) 1);  // 任务完成确认位
                        command.setTaskMode(CrnTaskModeType.NONE); // 任务模式
                        command.setSourcePosX((short)0);     // 源库位排
                        command.setSourcePosY((short)0);     // 源库位列
                        command.setSourcePosZ((short)0);     // 源库位层
                        command.setDestinationPosX((short)0);     // 目标库位排
                        command.setDestinationPosY((short)0);     // 目标库位列
                        command.setDestinationPosZ((short)0);     // 目标库位层
//                        command.setSourcePosX((short)0);     // 源库位排
//                        command.setSourcePosY((short)0);     // 源库位列
//                        command.setSourcePosZ((short)0);     // 源库位层
//                        command.setDestinationPosX((short)0);     // 目标库位排
//                        command.setDestinationPosY((short)0);     // 目标库位列
//                        command.setDestinationPosZ((short)0);     // 目标库位层
                        write(command);
                        break;
                    default:
@@ -161,7 +161,7 @@
//                flag1=1;
//                System.out.println("===");
//            }
            OperateResultExOne<byte[]> result = melsecMcNet.Read("D20", (short) 70);
            OperateResultExOne<byte[]> result = melsecMcNet.Read("D1035", (short) 56);
            if (result.IsSuccess) {
                if (null == crnProtocol) {
                    crnProtocol = new CrnProtocol();
@@ -298,11 +298,11 @@
        array[7] = command.getDestinationPosY();
        array[8] = command.getDestinationPosZ();
        array[9] = command.getCommand();
        OperateResult result = melsecMcNet.Write("D0", array);
        OperateResult result = melsecMcNet.Write("D1001", array);
        if (command.getAckFinish() == 0) {
            short commandFinish = 1;
            result = melsecMcNet.Write("D9", commandFinish);
            result = melsecMcNet.Write("D1010", commandFinish);
        }
        try {
@@ -348,12 +348,22 @@
     * 心跳
     */
    private void heartbeat(){
        if (heartBeatVal == 1) {
            heartBeatVal = 2;
        if (heartBeatVal >= 30000) {
            heartBeatVal = -30000;
        } else {
            heartBeatVal = 1;
            heartBeatVal =(short) (heartBeatVal+1);
        }
        OperateResult write = melsecMcNet.Write("D10", heartBeatVal);
        OperateResult write = melsecMcNet.Write("D1011", heartBeatVal);
//        OperateResult write1 = melsecMcNet.Write("D1001", (short) 0);
//        OperateResult write2 = melsecMcNet.Write("D1002", (short) 0);
//        OperateResult write3 = melsecMcNet.Write("D1003", (short) 0);
//        OperateResult write4 = melsecMcNet.Write("D1004", (short) 0);
//        OperateResult write5 = melsecMcNet.Write("D1005", (short) 0);
//        OperateResult write6 = melsecMcNet.Write("D1006", (short) 0);
//        OperateResult write7 = melsecMcNet.Write("D1007", (short) 0);
//        OperateResult write8 = melsecMcNet.Write("D1008", (short) 0);
//        OperateResult write9 = melsecMcNet.Write("D1009", (short) 0);
//        OperateResult write10 = melsecMcNet.Write("D1010", (short) 0);
        if (!write.IsSuccess) {
            log.error("堆垛机plc心跳通讯失败 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
        }