| | |
| | | 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: |
| | |
| | | // 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(); |
| | |
| | | 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 { |
| | |
| | | * 心跳 |
| | | */ |
| | | 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()); |
| | | } |