src/main/java/com/zy/asrs/mapper/WrkMastMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/MainProcess.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/thread/SiemensDevpThread.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/WrkMastMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/mapper/WrkMastMapper.java
@@ -70,9 +70,9 @@ @Update("update cust_wait_pakin set io_status='F' where zpallet = #{barcode}") int updateWaitPakInStep2(String barcode); WrkMast selectWorkingPakin(); WrkMast selectWorkingPakout(); // WrkMast selectWorkingPakin(); // // WrkMast selectWorkingPakout(); /** * 堆垛机是否存在出库任务 @@ -98,4 +98,7 @@ * @return */ List<WrkMast> selectPakOutStep11(@Param("crnNo")Integer crnNO, @Param("sourceStaNo")Integer sourceStaNo); WrkMast selectWorkingPakin(@Param("sourceStaNo")Integer sourceStaNo); WrkMast selectWorkingPakout(@Param("sourceStaNo")Integer sourceStaNo); } src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1861,22 +1861,32 @@ for (DevpSlave devp : slaveProperties.getDevp()) { SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); WrkMast pakout = wrkMastMapper.selectWorkingPakout(); if (pakout != null) { if (devpThread.ioMode != IoModeType.PAKOUT_MODE) { // 出库切换中 devpThread.ioMode = IoModeType.PAKOUT_BOOTING; WrkMast pakin = wrkMastMapper.selectWorkingPakin(); if (pakin == null) { // 出库模式 devpThread.ioMode = IoModeType.PAKOUT_MODE; } for (DevpSlave.Sta inSta : devp.getInSta()) { if (inSta.getStaNo() == 2) { continue; } } else { // 入库模式 devpThread.ioMode = IoModeType.PAKIN_MODE; WrkMast pakout = wrkMastMapper.selectWorkingPakout(inSta.getStaNo()); switch (inSta.getStaNo()) { case 203://1F if (pakout != null) { if (devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) { // 出库切换中 devpThread.ioModeOf2F = IoModeType.PAKOUT_BOOTING; WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo()); if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading() && !devpThread.getStation().get(inSta.getStaNo()+1).isLoading()) { // 出库模式 devpThread.ioModeOf2F = IoModeType.PAKOUT_MODE; } } } else { // 入库模式 devpThread.ioModeOf2F = IoModeType.PAKIN_MODE; } break; } } } } catch (Exception e) { src/main/java/com/zy/core/MainProcess.java
@@ -24,6 +24,8 @@ private MainServiceImpl mainService; // 所属线程 private Thread thread; // 频率 private int i = 0; /** * =====>> 开始工作 @@ -69,6 +71,13 @@ mainService.outOfDevp(); // 其他 ===>> 入出库模式切换 i++; if (i > 1) { mainService.ioConvert(); i = 0; } } catch (Exception e) { e.printStackTrace(); } src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -51,7 +51,17 @@ * 条码数量 */ private int barcodeSize = 3; public IoModeType ioMode = IoModeType.NONE; /** * 入出库模式 * 0:未知 * 1:入库启动中 * 2.入库模式 * 3.出库启动中 (不能生成入库工作档) * 4.出库模式 */ public IoModeType ioModeOf2F = IoModeType.NONE; // public IoModeType ioMode = IoModeType.NONE; public SiemensDevpThread(DevpSlave slave) { this.slave = slave; @@ -114,7 +124,7 @@ */ private void read() throws InterruptedException { // // 更新入出库模式 // updateIoMode(); updateIoMode(); int staNoSize = staNos.size(); OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100.0", (short) (staNoSize*4)); if (result.IsSuccess) { @@ -245,10 +255,10 @@ // 更新入出库模式 private void updateIoMode() throws InterruptedException { if (this.ioMode != IoModeType.NONE) { if (!siemensS7Net.Write("DB200", this.ioMode.id).IsSuccess) { OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线1F入出库模式失败。输送线plc编号={1}", slave.getId())); log.error("写入输送线1F入出库模式失败。输送线plc编号={}", slave.getId()); if (this.ioModeOf2F != IoModeType.NONE) { if (!siemensS7Net.Write("DB100.180", this.ioModeOf2F.id).IsSuccess) { OutputQueue.DEVP.offer(MessageFormat.format("【{0}】写入输送线2F入出库模式失败。输送线plc编号={1}", slave.getId())); log.error("写入输送线2F入出库模式失败。输送线plc编号={}", slave.getId()); } } } src/main/resources/mapper/WrkMastMapper.xml
@@ -119,26 +119,26 @@ select top 1 * from dbo.asr_wrk_mast where 1=1 and (wrk_sts=3 or wrk_sts=12) and crn_no=#{crnNo} order by io_time,wrk_no </select> <!-- 入库任务 --> <select id="selectWorkingPakin" resultMap="BaseResultMap"> select top 1 * from dbo.asr_wrk_mast where wrk_sts in (2,3,4) and io_type != 11 and source_sta_no = 180 order by io_time,wrk_no </select> <!-- <!– 入库任务 –>--> <!-- <select id="selectWorkingPakin" resultMap="BaseResultMap">--> <!-- select top 1 * from dbo.asr_wrk_mast where wrk_sts in (2,3,4) and io_type != 11 and source_sta_no = 180 order by io_time,wrk_no--> <!-- </select>--> <!-- 出库任务 --> <select id="selectWorkingPakout" resultMap="BaseResultMap"> select top 1 * from dbo.asr_wrk_mast where (wrk_sts in (11,12) or (wrk_sts in (14,15) and wrk_no in ( select wrk_no from asr_bas_devp where wrk_no > 0) )) and io_type != 11 and source_sta_no = 180 order by io_time,wrk_no </select> <!-- <!– 出库任务 –>--> <!-- <select id="selectWorkingPakout" resultMap="BaseResultMap">--> <!-- select top 1 *--> <!-- from dbo.asr_wrk_mast--> <!-- where (wrk_sts in (11,12)--> <!-- or (wrk_sts in (14,15) and wrk_no in--> <!-- (--> <!-- select wrk_no--> <!-- from asr_bas_devp--> <!-- where wrk_no > 0)--> <!-- ))--> <!-- and io_type != 11--> <!-- and source_sta_no = 180--> <!-- order by io_time,wrk_no--> <!-- </select>--> <select id="selectCrnWorking" resultMap="BaseResultMap"> select top 1 * from dbo.asr_wrk_mast where 1=1 and wrk_sts in (3,4,11,12) and crn_no=#{crnNo} order by io_time,wrk_no @@ -155,4 +155,24 @@ <select id="selectPakOutStep11" resultMap="BaseResultMap"> select * from dbo.asr_wrk_mast where crn_no=#{crnNo} and source_sta_no=#{sourceStaNo} and wrk_sts=11 and io_type>100 order by io_pri desc,io_time,wrk_no asc </select> <!-- 入出库模式相关 --> <select id="selectWorkingPakin" resultMap="BaseResultMap"> select top 1 * from dbo.asr_wrk_mast where wrk_sts in (2,3,4) and io_type != 11 and source_sta_no = #{sourceStaNo} order by io_time,wrk_no </select> <select id="selectWorkingPakout" resultMap="BaseResultMap"> select top 1 * from dbo.asr_wrk_mast where (wrk_sts in (11,12) or (wrk_sts in (14,15) and wrk_no in ( select wrk_no from asr_bas_devp where wrk_no > 0) )) and io_type != 11 and source_sta_no = #{sourceStaNo} order by io_time,wrk_no </select> </mapper>