|  |  | 
 |  |  |                 switch (step) { | 
 |  |  |                     // 读数据 | 
 |  |  |                     case 1: | 
 |  |  |                         readStatus(); | 
 |  |  |                         read(); | 
 |  |  |                         break; | 
 |  |  |                     // 写入数据 | 
 |  |  |                     case 2: | 
 |  |  | 
 |  |  |     @Override | 
 |  |  |     public void close() { | 
 |  |  |         modbusTcpNet.ConnectClose(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private void read() { | 
 |  |  |         try { | 
 |  |  |             readStatus(); | 
 |  |  |  | 
 |  |  |             //提升机处于运行状态,将标记置为true | 
 |  |  |             if (liftProtocol.getRunning()) { | 
 |  |  |                 liftProtocol.setPakMk(true); | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             //提升机处于未运行、就绪、标记true、有任务号 | 
 |  |  |             if (!liftProtocol.getRunning() | 
 |  |  |                     && liftProtocol.getPakMk() | 
 |  |  |                     && liftProtocol.getTaskNo() != 0) { | 
 |  |  |                 //还有未完成的命令 | 
 |  |  |                 executeWork(liftProtocol.getTaskNo()); | 
 |  |  |             } | 
 |  |  |         } catch (Exception e) { | 
 |  |  |             OutputQueue.LIFT.offer(MessageFormat.format("【{0}】提升机plc状态信息失败 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort())); | 
 |  |  |             initLift(); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private void readStatus() { | 
 |  |  | 
 |  |  |                 liftProtocol.setLiftActualSpeed(modbusTcpNet.getByteTransform().TransInt16(content,16)); | 
 |  |  |  | 
 |  |  |                 ///读取提升机状态-end | 
 |  |  |  | 
 |  |  |                 //提升机处于运行状态,将标记置为true | 
 |  |  |                 if (liftProtocol.getRunning()) { | 
 |  |  |                     liftProtocol.setPakMk(true); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 //提升机处于未运行、就绪、标记true、有任务号 | 
 |  |  |                 if (!liftProtocol.getRunning() | 
 |  |  |                         && liftProtocol.getPakMk() | 
 |  |  |                         && liftProtocol.getTaskNo() != 0) { | 
 |  |  |                     //还有未完成的命令 | 
 |  |  |                     executeWork(liftProtocol.getTaskNo()); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 //将提升机状态保存至数据库 | 
 |  |  |                 BasLiftService liftService = SpringUtils.getBean(BasLiftService.class); |