|  |  | 
 |  |  |         } | 
 |  |  |         ArrayList<Integer> staNos = getWriteStaNo(); | 
 |  |  |         int index = staNos.indexOf(staProtocol.getSiteId()); | 
 |  |  |         OperateResult write = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo().intValue());    // 工作号 | 
 |  |  |         Thread.sleep(500); | 
 |  |  |         OperateResult write1 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo());    // 目标站 | 
 |  |  |         OperateResult write = null; | 
 |  |  |         OperateResult write1 = null; | 
 |  |  |         //任务下发次数 | 
 |  |  |         int writeCount = 0; | 
 |  |  |         do { | 
 |  |  |             write = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo());    // 工作号 | 
 |  |  |             Thread.sleep(200); | 
 |  |  |             write1 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo().shortValue());    // 目标站 | 
 |  |  |             if(write.IsSuccess && write1.IsSuccess){ | 
 |  |  |                 log.error("写入输送线命令成功。输送线plc编号={},站点数据={},写入次数={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); | 
 |  |  |                 break; | 
 |  |  |             } | 
 |  |  |             else { | 
 |  |  |                 writeCount++; | 
 |  |  |                 log.error("写入输送线命令失败。输送线plc编号={},站点数据={},写入次数={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); | 
 |  |  |             } | 
 |  |  |         }while (writeCount<5); | 
 |  |  |  | 
 |  |  |         if (!write.IsSuccess || !write1.IsSuccess) { | 
 |  |  |             staProtocol = station.get(staProtocol.getSiteId()); | 
 |  |  | 
 |  |  |         } | 
 |  |  |         ArrayList<Integer> staNos = getWriteStaNo(); | 
 |  |  |         int index = staNos.indexOf(staProtocol.getSiteId()); | 
 |  |  |         OperateResult write = siemensS7Net.Write("DB100." + index*10, staProtocol.getWorkNo().intValue());    // 工作号 | 
 |  |  |         OperateResult write1 = siemensS7Net.Write("DB100." + (index*10+4), staProtocol.getStaNo());    // 目标站 | 
 |  |  |         OperateResult write2 = siemensS7Net.Write("DB100." + (index*10+6), staProtocol.getMatnr());    // 目标站 | 
 |  |  |  | 
 |  |  |         OperateResult write = null; | 
 |  |  |         OperateResult write1 = null; | 
 |  |  |         OperateResult write2 = null; | 
 |  |  |         //任务下发次数 | 
 |  |  |         int writeCount = 0; | 
 |  |  |         do { | 
 |  |  |             write = siemensS7Net.Write("DB100." + index*6, staProtocol.getWorkNo());    // 工作号 | 
 |  |  |             Thread.sleep(100); | 
 |  |  |             write1 = siemensS7Net.Write("DB100." + (index*6+4), staProtocol.getStaNo().shortValue());    // 目标站 | 
 |  |  |             Thread.sleep(100); | 
 |  |  |             write2 = siemensS7Net.Write("DB100." + (index*10+6), staProtocol.getMatnr());    // 目标站 | 
 |  |  |             if(write.IsSuccess && write1.IsSuccess){ | 
 |  |  |                 log.error("写入输送线命令成功。输送线plc编号={},站点数据={},写入次数={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); | 
 |  |  |                 break; | 
 |  |  |             } | 
 |  |  |             else { | 
 |  |  |                 writeCount++; | 
 |  |  |                 log.error("写入输送线命令失败。输送线plc编号={},站点数据={},写入次数={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); | 
 |  |  |             } | 
 |  |  |         }while (writeCount<5); | 
 |  |  |  | 
 |  |  |         if (!write.IsSuccess || !write1.IsSuccess || !write2.IsSuccess) { | 
 |  |  |             staProtocol = station.get(staProtocol.getSiteId()); |