自动化立体仓库 - WCS系统
lty
2025-03-28 15bad896fef1391fb6feb8bdb754f5106a2530e7
#输送线循环逻辑优化
3个文件已修改
26 ■■■■ 已修改文件
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/core/MainProcess.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/TaskWrkMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -211,10 +211,23 @@
                }
                StaProtocol staProtocol = devpThread.getStation().get(112);
                if (staProtocol == null || staProtocol.getWorkNo() == 0) {
                StaProtocol staProtocol2 = devpThread.getStation().get(116);
                StaProtocol staProtocol3 = devpThread.getStation().get(117);
                if(Objects.equals(staProtocol3.getWorkNo(), staProtocol.getWorkNo()) && staProtocol.getWorkNo() != 0){
                    staProtocol.setWorkNo((short) 0);
                    staProtocol.setStaNo((short) 0);
                    MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                    Thread.sleep(100); // 让 PLC 识别变化
                }
                if (staProtocol == null || staProtocol.getWorkNo() == 0 || !staProtocol.isLoading() ) {
                    continue;
                }
                if(staProtocol.getStaNo() != 112){
                    continue;
                }
                if(staProtocol.getWorkNo() == staProtocol2.getWorkNo()) {
                    continue;
                }
                // 查询任务信息
                TaskWrk taskWrk = taskWrkMapper.selectStaWorking(Integer.valueOf(staProtocol.getWorkNo()));
                if (taskWrk == null || taskWrk.getWrkNo() < 6001 || taskWrk.getWrkNo() > 9000) {
@@ -233,6 +246,7 @@
                staProtocol.setWorkNo(workNo);
                staProtocol.setStaNo(Short.valueOf(taskWrk.getTargetPoint()));
                MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                Thread.sleep(200);
                log.info("Shifted from cycle station 112 to target {}, workNo: {}", taskWrk.getTargetPoint(), workNo);
            }
src/main/java/com/zy/core/MainProcess.java
@@ -63,12 +63,11 @@
                    // 其他  ===>> // 入出库模式切换函数
                    i++;
                    if (i > 2) {
                    //环形循环函数
                    mainService.shiftTargetToCyclePoint();
                    mainService.shiftCyclePointToTarget();
                    i++;
                    if (i > 1) {
//                        mainService.ioConvert();
                        i = 0;
                    }
src/main/resources/mapper/TaskWrkMapper.xml
@@ -135,8 +135,9 @@
    </select>
    <select id="selectStaWorking" resultMap="BaseResultMap">
        select * from dbo.wcs_task_wrk
        select top 1 * from dbo.wcs_task_wrk_log
        where wrk_no = #{workNo}
        order by create_time DESC
    </select>
</mapper>