| | |
| | | @Override |
| | | public boolean connect() { |
| | | boolean result = false; |
| | | siemensNet = new SiemensS7Net(SiemensPLCS.S1200, slave.getIp()); |
| | | siemensNet = new SiemensS7Net(SiemensPLCS.S300, slave.getIp()); |
| | | siemensNet.setRack(slave.getRack().byteValue()); |
| | | siemensNet.setSlot(slave.getSlot().byteValue()); |
| | | OperateResult connect = siemensNet.ConnectServer(); |
| | |
| | | array[8] = command.getDestinationPosZ(); |
| | | OperateResult result = siemensNet.Write("DB8.0", array); |
| | | if (result.IsSuccess) { |
| | | System.out.println(MessageFormat.format("【{0}】[id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command))); |
| | | OutputQueue.CRN.offer(MessageFormat.format("【{0}】[id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command))); |
| | | readStatus(); |
| | | } else { |
| | | System.out.println(MessageFormat.format("【{0}】写入堆垛机plc数据失败 ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot())); |
| | | OutputQueue.CRN.offer(MessageFormat.format("【{0}】写入堆垛机plc数据失败 ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot())); |
| | | log.error("写入堆垛机plc数据失败 ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()); |
| | | } |
| | |
| | | /*****************************************************************************************/ |
| | | public static void main(String[] args) { |
| | | CrnSlave slave = new CrnSlave(); |
| | | slave.setId(1); |
| | | slave.setIp("192.168.6.9"); |
| | | slave.setRack(0); |
| | | slave.setSlot(0); |
| | | CrnThread crnThread = new CrnThread(slave); |
| | | crnThread.connect(); |
| | | crnThread.readStatus(); |
| | | System.out.println(JSON.toJSONString(crnThread.crnProtocol)); |
| | | |
| | | |
| | | CrnCommand command = new CrnCommand(); |
| | | command.setCrnNo(1); // 堆垛机编号 |
| | | command.setTaskNo((short) 0); // 工作号 |
| | | command.setAckFinish((short) 0); // 任务完成确认位 |
| | | command.setTaskMode(CrnTaskModeType.OFFSET_MOVE); // 任务模式 |
| | | command.setSourcePosX((short) 0); // 源库位排 |
| | | command.setSourcePosY((short) 0); // 源库位列 |
| | | command.setSourcePosZ((short) 0); // 源库位层 |
| | | command.setDestinationPosX((short) 1); // 目标库位排 |
| | | command.setDestinationPosY((short) 5); // 目标库位列 |
| | | command.setDestinationPosZ((short) 3); // 目标库位层 |
| | | crnThread.write(command); |
| | | |
| | | |
| | | // CrnCommand command = new CrnCommand(); |
| | | // command.setCrnNo(1); // 堆垛机编号 |
| | | // command.setTaskNo((short) 0); // 工作号 |
| | | // command.setAckFinish((short) 0); // 任务完成确认位 |
| | | // command.setTaskMode(CrnTaskModeType.OFFSET_MOVE); // 任务模式 |
| | | // command.setSourcePosX((short) 0); // 源库位排 |
| | | // command.setSourcePosY((short) 0); // 源库位列 |
| | | // command.setSourcePosZ((short) 0); // 源库位层 |
| | | // command.setDestinationPosX((short) 0); // 目标库位排 |
| | | // command.setDestinationPosY((short) 5); // 目标库位列 |
| | | // command.setDestinationPosZ((short) 1); // 目标库位层 |
| | | // crnThread.write(command); |
| | | |
| | | |
| | | // // 写 |
| | | // CrnCommand command = new CrnCommand(); |
| | | // command.setCrnNo(slave.getId()); // 堆垛机编号 |