| | |
| | | import java.text.MessageFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | case 3: |
| | | assignWork((LiftAssignCommand) task.getData()); |
| | | break; |
| | | case 4: |
| | | write2((HashMap<String, Object>) task.getData()); |
| | | default: |
| | | break; |
| | | } |
| | |
| | | //取出命令 |
| | | NyLiftCommand command = commands.get(commandStep); |
| | | |
| | | if (!redisCommand.getLiftNo().equals(liftProtocol.getLiftNo())) { |
| | | return false; |
| | | } |
| | | |
| | | //下发命令 |
| | | if (!write(command)) { |
| | | News.error("提升机命令下发失败,提升机号={},任务数据={}", command.getLiftNo(), JSON.toJSON(command)); |
| | | return false; |
| | | } |
| | | |
| | | liftProtocol.setProtocolStatus(LiftProtocolStatusType.WORKING); |
| | | News.info("提升机命令下发成功,提升机号={},任务数据={}", command.getLiftNo(), JSON.toJSON(command)); |
| | | |
| | | //将标记置为true(防止重发) |
| | |
| | | short[] commandArr = getCommandArr(command);//获取命令报文 |
| | | BasLiftOpt opt = new BasLiftOpt( |
| | | redisCommand.getWrkNo().intValue(), |
| | | redisCommand.getLiftNo().intValue(), |
| | | liftProtocol.getLiftNo().intValue(), |
| | | new Date(), |
| | | null, |
| | | null, |
| | |
| | | JSON.toJSONString(command), |
| | | JSON.toJSONString(liftProtocol) |
| | | ); |
| | | opt.setDeviceWrk(command.getTaskNo().toString());//设备工作号 |
| | | liftOptService.insert(opt); |
| | | } |
| | | |
| | |
| | | return true; |
| | | } |
| | | |
| | | //给提升机写入进出状态 |
| | | private void write2(HashMap<String,Object> data) { |
| | | // //出 |
| | | // status = true; |
| | | // //进 |
| | | // status = false; |
| | | int lev = Integer.parseInt(data.get("lev").toString()); |
| | | boolean status = Boolean.parseBoolean(data.get("status").toString()); |
| | | |
| | | ArrayList<String> list = new ArrayList<String>(){{ |
| | | add("83.8.0"); |
| | | add("83.8.1"); |
| | | add("83.8.2"); |
| | | add("83.8.3"); |
| | | add("83.8.4"); |
| | | add("83.8.5"); |
| | | add("83.8.6"); |
| | | add("83.8.7"); |
| | | add("83.9.0"); |
| | | add("83.9.1"); |
| | | }}; |
| | | OperateResult result = siemensS7Net.Write("DB" + list.get(lev - 1), status); |
| | | if (result != null && result.IsSuccess) { |
| | | News.info("提升机命令下发[id:{}]", slave.getId()); |
| | | } else { |
| | | News.error("写入提升机plc数据失败 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); |
| | | } |
| | | } |
| | | |
| | | /******************************************************************************************/ |
| | | /**************************************** 测试专用 *****************************************/ |
| | | /*****************************************************************************************/ |